Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1672 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] problème avec Switch et MySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] problème avec Switch et MySQL

n°1565828
Gavrinis
Open your mind
Posté le 27-05-2007 à 14:55:58  profilanswer
 

Bonjour,
 
Voici mon code :
 

Code :
  1. <div id="home">
  2. <?php
  3.  require_once('connect.php');
  4.  $db = mysql_connect($host,$user,$pws);
  5.    mysql_select_db($bdd,$db);
  6.  $incl = mysql_query('SELECT id,title FROM cours ORDER BY id ASC');
  7.  $links = mysql_query('SELECT id,address FROM cours ORDER BY title ASC');
  8.  if (isset($_GET['id']))
  9.  {
  10.   $id= 'majeur';
  11.   switch($_GET['id'])
  12.   {
  13.    while ($row = mysql_fetch_array($incl))
  14.    {
  15.     case "".$row['id']."": include ("".$row['address']."" ); break;
  16.    }
  17.   }
  18.  }
  19.  else
  20.  {
  21.   echo "<table><tr><td><ul>";
  22.   while ($row = mysql_fetch_array($links))
  23.   {
  24.    echo "<li><a class=\"menu_main\" href=\"index.php?cat=art&amp;idcours=".$row['id']."\">".$row['title']."</a></li>";
  25.   }
  26.   echo "</ul></td></tr></table>";
  27.  }
  28.  mysql_close($db);
  29. ?>
  30. </div>


et mon erreur :

Code :
  1. Parse error: parse error, expecting `T_CASE' or `T_DEFAULT' or `'}'' in w:\site\includes\cours.php on line 16


merci d'avance ;)


Message édité par Gavrinis le 28-05-2007 à 10:31:57
mood
Publicité
Posté le 27-05-2007 à 14:55:58  profilanswer
 

n°1565842
did-54
Posté le 27-05-2007 à 16:17:01  profilanswer
 

il attend un case dans le switch et tu lui mets un while, donc ca ne fonctionne pas :)
au passage, essayer de nommer les etiquettes "case" par ce que te renvoi la BDD, c'est extreme :o


Message édité par did-54 le 27-05-2007 à 16:18:58
n°1565935
Gavrinis
Open your mind
Posté le 27-05-2007 à 19:50:18  profilanswer
 

comment faire alors ? :??:

n°1565936
did-54
Posté le 27-05-2007 à 19:52:00  profilanswer
 

si tu n'explique pas ce que tu veux faire...

n°1565937
Gavrinis
Open your mind
Posté le 27-05-2007 à 19:58:51  profilanswer
 

et bien j'ai plusieurs cours listé dans ma base de donnée

Code :
  1. insert into cours (id,title,address) values ('','fibre','includes/fibre.php');

et j'aimerais pouvoir les lister sous forme de lien dans une page mais il me faudrait des includes pour bien faire car j'aimerais que le cours apparait à un endroit précis

n°1565959
naceroth
Posté le 27-05-2007 à 21:07:02  profilanswer
 

Et plutôt qu'un case unique perdu dans une boucle, pourquoi tu utilises pas tout bêtement un if ?
 
Genre (à la volée)

Code :
  1. while (...){
  2. if ($_GET['id'] == $row['id']) {
  3.   include(...)
  4. }
  5. }

n°1565992
Gavrinis
Open your mind
Posté le 27-05-2007 à 23:30:17  profilanswer
 

oui pourquoi pas, j'ai essayé mais j'ai de nouveau une erreur

Code :
  1. Notice: Undefined index: title in w:\site\includes\cours.php on line 27

et je ne vois pas trop comment la résoudre

n°1565999
naceroth
Posté le 28-05-2007 à 00:13:58  profilanswer
 

//edit : oula, effectivement, ça me réussit pas les réponses nocturnes...

 

Et pour aller plus loin que WiiDS, on dirait même que tu as interverti tes 2 requêtes :)


Message édité par naceroth le 28-05-2007 à 01:23:58
n°1566005
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 28-05-2007 à 01:17:13  profilanswer
 

L'erreur est pourtant clair. Tu fais un while mysql_fetch_assoc sur cette requete :
 
SELECT id,address FROM cours ORDER BY title ASC
 
Puis ensuite tu fais un echo et dans cet echo tu indiques $row['title']
 
OR ! Dans cette requête tu remarqueras que tu n'as PAS sélectionné title. D'ou l'erreur.
 
Note que les messages d'erreur de PHP sont relativement clair et qu'il faudrait que tu apprennes a te bouger seul plutot qu'a venir demander de l'aide pour un oui ou pour un non.


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1566038
Gavrinis
Open your mind
Posté le 28-05-2007 à 10:14:34  profilanswer
 

effectivement Naceroth, j'avais interverti mes deux requêtes :ange:
 
WiiDs c'est vrai c'était une bête erreur mais pourtant j'admets avoir lu mon code plusieurs fois mais cette erreur ne me sautait pas aux yeux, habituellement je cherche moi même mes erreurs et je ne saute pas directement sur un forum mais là étant donné que je ne trouvais pas, j'ai fini par venir vers vous


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] problème avec Switch et MySQL

 

Sujets relatifs
Problème de requetes imbriquées[RESOLU]Array et fonction max qui ne marche pas ...
[PHP/MYSQL] pourquoi ce script marche pas ?Probleme de configuration PHP pour fonction exec("")
[RESOLU] Problème avec la fonction mail()probleme egalité de deux double
Problème d'ajout dans un array[Sécurité des Formulaires ] Eviter les inscriptions automatisées
Probleme d'utilisation de l'API C de mysql sous linux 
Plus de sujets relatifs à : [Résolu] problème avec Switch et MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR