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

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de syntaxe avec Switch case

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de syntaxe avec Switch case

n°1246356
lulu_merla​n
JeuneJedi m'a sauver
Posté le 15-11-2005 à 21:05:59  profilanswer
 

Salut,
 
J'ai introduit un switch dans ma fonction, qui marchait très bien jusqu'alors (c'est un glossaire).
Je veux que lorsque que la variable $definition2 n'est pas renseignée, l'intitullé "definition avancée" ne soit pas affiché.
Mais ça retourne une erreur :
 
 

Code :
  1. function letter_search()
  2. # Recherche par première lettre
  3. {
  4. require ("config/conf.inc.php" );
  5. if($_GET['limit1']=="" or $_GET['limit2']=="" or $_GET['letter']=="" )
  6.  {
  7.  page_reload($where=2);
  8.  }
  9. else
  10.  {
  11. $query="select * from $table where left(word,1)='".$_GET['letter']."' order by word LIMIT ".$_GET['limit1'].", ".$_GET['limit2']."";
  12. $result=mysql_query($query);
  13. $nombre=mysql_numrows($result);
  14. $query2="select * from $table where left(word,1)='".$_GET['letter']."'";
  15. $resultat=mysql_query($query2);
  16. $nombre2=mysql_numrows($resultat);
  17. $row=0;
  18. if ($nombre==0)
  19.  {
  20.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Aucun mot du dictionnaire histoire-geo ne commence par la lettre ".$_GET['letter'].".</span>";
  21.  mysql_close();
  22.  include ("footer.php" );
  23.  exit;
  24.  }
  25. else
  26.  {
  27.   echo "<table class='barre112' width='100%'><TD>LISTE DES DEFINITIONS</td></table><BR>";
  28.   while ($row<$nombre)
  29.    {
  30.    $word=mysql_result($result,$row,"word" );
  31.    $definition=mysql_result($result,$row,"definition" );
  32.    $definition2=mysql_result($result,$row,"definition2" );
  33.    $discipline=mysql_result($result,$row,"discipline" );
  34.                                 $auteur=mysql_result($result,$row,"auteur" );
  35.                                 $email=mysql_result($result,$row,"email" );
  36.                
  37.                      echo "<table class='cad_info2' width='100%'><TD>";
  38.      echo "<table style='text-align: left; width: 100%;' border='0'
  39. cellpadding='2' cellspacing='2'>
  40.   <tbody>
  41.     <tr>
  42.       <td class='texte_dico' width='30%'>$word</td>
  43.       <td class='texte_dico3' width='70%'>[$discipline]-[Auteur : $auteur]-[$email]</td>
  44.     </tr>
  45.     <tr>
  46.       <td colspan='2' rowspan='1' class='texte_dico2'>$definition</td>
  47.     </tr>
  48.     <tr>
  49.     <?
  50.             switch ("$definition2" );
  51.     {
  52.     case "$definition2==1":
  53.         echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td>
  54.     </tr>
  55.         <tr>
  56.       <td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td>
  57.     </tr>
  58.   </tbody>
  59. </table>";
  60.         break;
  61.     default:
  62.         echo "";
  63.     }
  64.     ?>
  65.                echo "<TD></table><BR>";
  66.                                 $row++;
  67.    }
  68.  echo "</tr></table>";
  69.  $lettre=$_GET['letter'];
  70.  pages($nombre2,$mode=2,$lettre);
  71.  mysql_close();
  72.  }
  73. }
  74. }

mood
Publicité
Posté le 15-11-2005 à 21:05:59  profilanswer
 

n°1246390
naceroth
Posté le 15-11-2005 à 22:12:19  profilanswer
 

N'essaye même pas de nous dire que tu as lu le manuel avant de venir poser la question, personne ne va te croire :D
 
Où t'es allé chercher qu'il fallait faire un test dans le case toi ? c'est

Code :
  1. switch ($variable){
  2. case valeur_possible:...


 
pas un if qui a mal tourné


Message édité par naceroth le 15-11-2005 à 22:12:53
n°1246431
lulu_merla​n
JeuneJedi m'a sauver
Posté le 15-11-2005 à 22:59:01  profilanswer
 

Si si, j'ai deja fait des switch, et sur cette page j'avais d'abord fait un IF, avant de tenter le switch.
Si si, je regarde la doc sur nexen ou manuel PHP par exemple, mais je débute ...  :o  
 

Code :
  1. <?
  2.             switch ($definition2)  {
  3.         case $definition2==1:
  4.         echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td></tr></tbody></table>";
  5.         break;
  6.         case $definition2==0:
  7.         echo "";
  8.         break;
  9.     }
  10.    ?>


 
Je ne comprends pas ce qui cloche

n°1246444
TheRom_S
Posté le 15-11-2005 à 23:14:50  profilanswer
 

tu sais lire ?
le môssieur te dit que la syntaxe de switch, c'est pas

Code :
  1. case $var==truc:
  2.     ...
  3.     break;

mais

Code :
  1. case truc:
  2.     ...
  3.     break;

et puis essaie d'avoir un code lisible aussi, ca t'aidera


---------------
The Rom's, à votre service
n°1246495
leflos5
On est ou on est pas :)
Posté le 16-11-2005 à 02:11:42  profilanswer
 

Et au passage toi t'es comme ça tu fermes un tableau avant de fermer la colonne et sans avoir ouvert de ligne... :D
 
Si l'affichage est comme il faut alors bravo IE de comprendre ce que tu veux :D

n°1246501
TheRom_S
Posté le 16-11-2005 à 03:04:14  profilanswer
 

ca a l'air d'être généré par un mauvais logiciel
genre <TD> ... </td> , <BR> au lieu de <br />
 
bref pas du tout xml well-formed tout ca :pfff:


---------------
The Rom's, à votre service
n°1246605
soju
One shot !
Posté le 16-11-2005 à 10:55:19  profilanswer
 

TheRom_S a écrit :

bref pas du tout xml well-formed tout ca :pfff:

ne confond pas xml et xhtml...

n°1246723
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 13:48:13  profilanswer
 

leflos5 a écrit :

Et au passage toi t'es comme ça tu fermes un tableau avant de fermer la colonne et sans avoir ouvert de ligne... :D
 
Si l'affichage est comme il faut alors bravo IE de comprendre ce que tu veux :D


 
 
Il n'y a qu'une partie du code ici. Ne soyez pas hautains : je suis prof et ... Pas d'info !!
 
Sinon merci de m'aider quand meme.
 
lulu


Message édité par lulu_merlan le 16-11-2005 à 13:49:19
n°1246724
cinocks
Posté le 16-11-2005 à 13:50:39  profilanswer
 

Code :
  1. <?
  2.             switch ($definition2)  {
  3.         case $definition2==1:
  4.         echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td></tr></tbody></table>";
  5.         break;
  6.         case $definition2==0:
  7.         echo "";
  8.         break;
  9.     }
  10.    ?>


 
ca ne sert à rien le $definition2==1. case 1 suffit.


---------------
MZP est de retour
n°1246795
art_dupond
je suis neuneu... oui oui !!
Posté le 16-11-2005 à 14:59:28  profilanswer
 

soju a écrit :

ne confond pas xml et xhtml...


xhtml est sensé être
 

Citation :

xml well-formed

:o


Message édité par art_dupond le 16-11-2005 à 14:59:43
mood
Publicité
Posté le 16-11-2005 à 14:59:28  profilanswer
 

n°1246806
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 15:09:51  profilanswer
 

cinocks a écrit :

Code :
  1. <?
  2.             switch ($definition2)  {
  3.         case $definition2==1:
  4.         echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td></tr></tbody></table>";
  5.         break;
  6.         case $definition2==0:
  7.         echo "";
  8.         break;
  9.     }
  10.    ?>


 
ca ne sert à rien le $definition2==1. case 1 suffit.


 
 
Merci, c'est clair, mais j'ai encore un "unexpected T_STRING, expecting ',' or ';'" sur le 1er echo, même en slashant  :sleep:  
 
lulu

n°1246819
Xav_
The only one...
Posté le 16-11-2005 à 15:22:37  profilanswer
 

lulu_merlan a écrit :

Merci, c'est clair, mais j'ai encore un "unexpected T_STRING, expecting ',' or ';'" sur le 1er echo, même en slashant  :sleep: lulu


t'a fait les modifs proposées sur la syntaxe du swith, case ???

Code :
  1. <?
  2. switch ($definition2)  {
  3.     case 1:
  4.             echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td>
  5.                     </tr><tr>
  6.                     <td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td></tr></tbody></table>";
  7.             break;
  8.     case 0:
  9.             echo "";
  10.             break;
  11. }
  12. ?>


 
et perso, j'aurais plutot tendance à faire un:
$msg = truc qui va bien dans chaque cas
et un :  
echo $msg; apres le switch

Message cité 1 fois
Message édité par Xav_ le 16-11-2005 à 15:23:12

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1246821
masklinn
í dag viðrar vel til loftárása
Posté le 16-11-2005 à 15:25:26  profilanswer
 

TheRom_S a écrit :

ca a l'air d'être généré par un mauvais logiciel
genre <TD> ... </td> , <BR> au lieu de <br />
 
bref pas du tout xml well-formed tout ca :pfff:


C'est ptet du HTML qu'il génère [:john keats]  

soju a écrit :

ne confond pas xml et xhtml...


http://www.w3.org/TR/xhtml1/
 

Citation :

This specification defines the Second Edition of XHTML 1.0, a reformulation of HTML 4 as an XML 1.0 application, and three DTDs corresponding to the ones defined by HTML 4. The semantics of the elements and their attributes are defined in the W3C Recommendation for HTML 4. These semantics provide the foundation for future extensibility of XHTML. Compatibility with existing HTML user agents is possible by following a small set of guidelines.


 
http://www.w3.org/TR/xhtml1/#xhtml

Citation :

XHTML 1.0 (this specification) is the first document type in the XHTML family. It is a reformulation of the three HTML 4 document types as applications of XML 1.0 [XML]. It is intended to be used as a language for content that is both XML-conforming and, if some simple guidelines are followed, operates in HTML 4 conforming user agents. Developers who migrate their content to XHTML 1.0 will realize the following benefits:
 

  • XHTML documents are XML conforming. As such, they are readily viewed, edited, and validated with standard XML tools.
  • XHTML documents can be written to operate as well or better than they did before in existing HTML 4-conforming user agents as well as in new, XHTML 1.0 conforming user agents.
  • XHTML documents can utilize applications (e.g. scripts and applets) that rely upon either the HTML Document Object Model or the XML Document Object Model [DOM].
  • As the XHTML family evolves, documents conforming to XHTML 1.0 will be more likely to interoperate within and among various XHTML environments.



---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1246825
cinocks
Posté le 16-11-2005 à 15:29:12  profilanswer
 

lulu_merlan a écrit :

Merci, c'est clair, mais j'ai encore un "unexpected T_STRING, expecting ',' or ';'" sur le 1er echo, même en slashant  :sleep:  
 
lulu


 
 
ne pas mettre un chaine de caracteres sur plusieures lignes
 
$mastring = "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' " . "class='texte_dico2'>$definition2</td></tr></tbody></table>";


---------------
MZP est de retour
n°1246828
soju
One shot !
Posté le 16-11-2005 à 15:31:18  profilanswer
 

ok ok  :sweat:

n°1246848
leflos5
On est ou on est pas :)
Posté le 16-11-2005 à 15:54:25  profilanswer
 

cinocks a écrit :

ne pas mettre un chaine de caracteres sur plusieures lignes
 
$mastring = "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' " . "class='texte_dico2'>$definition2</td></tr></tbody></table>";


Pourquoi ça?  :heink:  

n°1246905
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 16:35:39  profilanswer
 

Xav_ a écrit :

t'a fait les modifs proposées sur la syntaxe du swith, case ???


 
oui, toujours la meme erreur :

Code :
  1. <?
  2.      switch ($definition2)  {
  3.          case 1:
  4.                  echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td></tr></tbody></table>";
  5.                  break;
  6.          case 0:
  7.                  echo "";
  8.                  break;
  9.      }
  10.      ?>

n°1246906
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 16:36:34  profilanswer
 

lulu_merlan a écrit :

oui, toujours la meme erreur :

Code :
  1. <?
  2.      switch ($definition2)  {
  3.          case 1:
  4.                  echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td></tr></tbody></table>";
  5.                  break;
  6.          case 0:
  7.                  echo "";
  8.                  break;
  9.      }
  10.      ?>



... même en créant une variable $mastring qui renvoie à une chaine de caractères.

n°1246919
cinocks
Posté le 16-11-2005 à 16:45:50  profilanswer
 

leflos5 a écrit :

Pourquoi ça?  :heink:


 
euh c'est autorisé de faire çà?  
 

Code :
  1. $mastring != "kldsjfklsdjflsdjlkfjdksljflksdjfkldklfklsdjflkj
  2. dfjklsdjflkdsjlkfj";


 
pour moi ce serait plutot:
 

Code :
  1. $mastring != "kldsjfklsdjflsdjlkfjdksljflksdjfkldklfklsdjflkj" .
  2. dfjklsdjflkdsjlkfj";



---------------
MZP est de retour
n°1246921
soju
One shot !
Posté le 16-11-2005 à 16:46:43  profilanswer
 

lulu_merlan a écrit :

... même en créant une variable $mastring qui renvoie à une chaine de caractères.

au fait, pourquoi tu mets <? et ?>  autour de ton switch ???

n°1246925
soju
One shot !
Posté le 16-11-2005 à 16:48:08  profilanswer
 

cinocks a écrit :

euh c'est autorisé de faire çà?

oui, mais dans ce genre de cas il vaut mieux utiliser la syntaxe heredoc

n°1246958
art_dupond
je suis neuneu... oui oui !!
Posté le 16-11-2005 à 17:11:03  profilanswer
 

J'ai copié collé le code pour le tester et ca marche chez moi.
 
y aurait pas quelque chose avant qui pourrait faire planter ?

n°1246963
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 17:15:15  profilanswer
 


Ce code là ?
 
          <?
          switch ($definition2)  {
              case 1:
                      echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>$definition2</td></tr></tbody></table>";
                      break;
              case 0:
                      echo "";
                      break;
          }
          ?>


Message édité par lulu_merlan le 16-11-2005 à 17:22:50
n°1246972
art_dupond
je suis neuneu... oui oui !!
Posté le 16-11-2005 à 17:25:56  profilanswer
 

ces deux codes marchent
 

Code :
  1. $definition2 = $_GET['def2'];
  2. switch ($definition2)  {
  3. case 1:
  4.  $mastring = "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>".$definition2."</td></tr></tbody></table>";
  5.  break;
  6. case 0:
  7.  $mastring = "";
  8.  break;
  9. }
  10. echo $mastring;


 
 

Code :
  1. $definition2 = $_GET['def2'];
  2. switch ($definition2)  {
  3. case 1:
  4.  echo "<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>".$definition2."</td></tr></tbody></table>";
  5.  break;
  6. case 0:
  7.  echo "";
  8.  break;
  9. }

n°1246987
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 17:51:13  profilanswer
 

Parse error: parse error, unexpected T_BAD_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING

n°1246990
omega2
Posté le 16-11-2005 à 17:59:38  profilanswer
 

"T_BAD_CHARACTER" Tu dois avoir un caractére invisible qui traine quelque part.
Efface tous les esapces, les retour à la ligne, les tabulations ... et resaisie les ensuite. Normalement, ca devrait régler ton probléme.
 
PS : Php ne t'indique pas la ligne de l'erreur? Ca t'éviterait de tout effacer.

n°1246995
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 18:09:15  profilanswer
 

c'est sur la 1ere ligne

n°1246996
0x90
Posté le 16-11-2005 à 18:10:35  profilanswer
 

[hs]
ce qu'il y a de beau dans le "case $definition2==1:" c'est que quand on évalue cette expression, on retourne True/1, ce qui fait qu'on se retrouve avec "case 1:" donc ca marche par hasard, alors qu'un test ==2 ou ==0 aurait pas marché...
( 'fin je dis ca je fais pas de php, mais si le language est cohérent, c'est ce qu'il se passe ... )
[/hs]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1247003
art_dupond
je suis neuneu... oui oui !!
Posté le 16-11-2005 à 18:41:01  profilanswer
 

essayer de recréer un nouveau fichier et/ou vérifier l'encodage du fichier (je ne sais pas qui ou quoi, mais j'ai déjà eu un problème parce que l'encodage n'était pas bon)

n°1247022
soju
One shot !
Posté le 16-11-2005 à 19:13:28  profilanswer
 

je suis le seul à avoir vu les tags <? et ?> qui n'ont rien à faire là ?!
et le echo de la ligne 40 qui n'est pas fermé ?!
...

n°1247024
Xav_
The only one...
Posté le 16-11-2005 à 19:16:01  profilanswer
 

soju a écrit :

je suis le seul à avoir vu les tags <? et ?> qui n'ont rien à faire là ?!
et le echo de la ligne 40 qui n'est pas fermé ?!
...


s'il a laissé les tags en trop lors de son copie/colle dans son script, il a du s'en rendre compte assez vite ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1247128
lulu_merla​n
JeuneJedi m'a sauver
Posté le 16-11-2005 à 20:57:44  profilanswer
 

Ras la casquette : j'ai tout essayé, alors voilà le code complet (voir lignes 140 à 150)
 :sweat:  

Code :
  1. <?
  2. function footer()
  3. # Affichage du pied de page
  4. {
  5. include ("footer.php" );
  6. }
  7. #--------------------------------------------------------------------------------------
  8. function sql_connect()
  9. # Connexion à la base
  10. {
  11. require ("config/conf.inc.php" );
  12. $db=mysql_connect("$host","$user","$pass" )or die('Impossible de se connecter à la base !');
  13. mysql_select_db($base,$db);
  14. }
  15. #--------------------------------------------------------------------------------------
  16. function get_number()
  17. # Récupère le nombre d'entrées dans la base
  18. {
  19. require ("config/conf.inc.php" );
  20. $query = "select * from $table ";
  21. $result = mysql_query($query);
  22. $nombre = mysql_numrows($result);
  23. if ($nombre==0)
  24.  {
  25.  echo " Aucune définition dans le dictionnaire histoire-geo pour le moment";
  26.  }
  27. else
  28. if ($nombre==1)
  29.  {
  30.  echo " Une seule définition dans le dictionnaire histoire-geo.";
  31.  }
  32. else
  33.  {
  34.  echo "<BR> ".$nombre." définitions dans le dictionnaire histoire-geo.";
  35.  }
  36. }
  37. #--------------------------------------------------------------------------------------
  38. function form_search()
  39. # Recherche d'une entrée par formulaire
  40. {
  41. require ("config/conf.inc.php" );
  42. if ($_POST['word']=="" )
  43. {
  44.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Veuillez entrer au moins un mot.</span>";
  45. }
  46. else
  47. {
  48.  $query="select * from $table where word='".$_POST['word']."' ";
  49.  $result=mysql_query($query);
  50.  $nombre=mysql_numrows($result);
  51.  $row=0;
  52.  if ($nombre==0)
  53.  {
  54.   echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Le mot \"".$_POST['word']."\" n'est pas encore dans le dictionnaire histoire-geo.</span>";
  55.   mysql_close();
  56.  }
  57.  else
  58.  {
  59.   $word=mysql_result($result,$row,"word" );
  60.   $definition=mysql_result($result,$row,"definition" );
  61.   $definition2=mysql_result($result,$row,"definition2" );
  62.                         $discipline=mysql_result($result,$row,"discipline" );
  63.                         $auteur=mysql_result($result,$row,"auteur" );
  64.                         $email=mysql_result($result,$row,"email" );
  65.   echo "<table class='cad_info2' width='100%'><TD>";
  66.      echo "<table style='text-align: left; width: 100%;' border='0'
  67. cellpadding='2' cellspacing='2'>
  68.   <tbody>
  69.     <tr>
  70.       <td class='texte_dico'>$word</td>
  71.       <td class='texte_dico3'>[$discipline]</td>
  72.     </tr>
  73.     <tr>
  74.       <td colspan='2' rowspan='1' class='texte_dico2'>$definition</td>
  75.     </tr>
  76.   </tbody>
  77. </table>";
  78.                echo "<TD></table><BR>";
  79.   mysql_close();
  80.   }
  81. }
  82. }
  83. #--------------------------------------------------------------------------------------
  84. function letter_search()
  85. # Recherche par première lettre
  86. {
  87. require ("config/conf.inc.php" );
  88. if($_GET['limit1']=="" or $_GET['limit2']=="" or $_GET['letter']=="" )
  89.  {
  90.  page_reload($where=2);
  91.  }
  92. else
  93.  {
  94. $query="select * from $table where left(word,1)='".$_GET['letter']."' order by word LIMIT ".$_GET['limit1'].", ".$_GET['limit2']."";
  95. $result=mysql_query($query);
  96. $nombre=mysql_numrows($result);
  97. $query2="select * from $table where left(word,1)='".$_GET['letter']."'";
  98. $resultat=mysql_query($query2);
  99. $nombre2=mysql_numrows($resultat);
  100. $row=0;
  101. if ($nombre==0)
  102.  {
  103.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Aucun mot du dictionnaire histoire-geo ne commence par la lettre ".$_GET['letter'].".</span>";
  104.  mysql_close();
  105.  include ("footer.php" );
  106.  exit;
  107.  }
  108. else
  109.  {
  110.   echo "<table class='barre112' width='100%'><TD>LISTE DES DEFINITIONS</td></table><BR>";
  111.   while ($row<$nombre)
  112.    {
  113.    $word=mysql_result($result,$row,"word" );
  114.    $definition=mysql_result($result,$row,"definition" );
  115.    $definition2=mysql_result($result,$row,"definition2" );
  116.    $discipline=mysql_result($result,$row,"discipline" );
  117.                                 $auteur=mysql_result($result,$row,"auteur" );
  118.                                 $email=mysql_result($result,$row,"email" );
  119.                      echo "<table class='cad_info2' width='100%'><TD>";
  120.      echo "<table style='text-align: left; width: 100%;' border='0'
  121. cellpadding='2' cellspacing='2'>
  122.   <tbody>
  123.     <tr>
  124.       <td class='texte_dico' width='30%'>$word</td>
  125.       <td class='texte_dico3' width='70%'>[$discipline]-[Auteur : $auteur]-[$email]</td>
  126.     </tr>
  127.     <tr>
  128.       <td colspan='2' rowspan='1' class='texte_dico2'>$definition</td>
  129.     </tr>
  130.     <tr>
  131.      $definition2=$_GET['def2'];
  132.      switch($definition2) {
  133.         case 1:
  134.              $mastring="<td colspan='2' rowspan='1' class='texte_dico1'>Définition avancée</td></tr><tr><td colspan='2' rowspan='1' class='texte_dico2'>".$definition2."</td></tr></tbody></table>";
  135.              break;
  136.          case 0:
  137.              $mastring="";
  138.              break;
  139.      }
  140.      echo $mastring;
  141.                echo "<TD></table><BR>";
  142.                                 $row++;
  143.    }
  144.  echo "</tr></table>";
  145.  $lettre=$_GET['letter'];
  146.  pages($nombre2,$mode=2,$lettre);
  147.  mysql_close();
  148.  }
  149. }
  150. }
  151. #--------------------------------------------------------------------------------------
  152. function number_search()
  153. # Entrées commençant par un chiffre
  154. {
  155. require ("config/conf.inc.php" );
  156. if($_GET['limit1']=="" or $_GET['limit2']=="" )
  157.  {
  158.  page_reload($where=3);
  159.  }
  160. else
  161.  {
  162. $query="select * from $table where left(word,1) in ('0','1','2','3','4','5','6','7','8','9') order by word LIMIT ".$_GET['limit1'].", ".$_GET['limit2']."";
  163. $result=mysql_query($query);
  164. $nombre=mysql_numrows($result);
  165. $query2 ="SELECT * FROM $table where left(word,1) in ('0','1','2','3','4','5','6','7','8','9')";
  166. $resultat=mysql_query($query2);
  167. $nombre2=mysql_numrows($resultat);
  168. $row=0;
  169. if ($nombre==0)
  170.  {
  171.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Aucune définition du dictionnaire histoire-geo ne commence par un chiffre.</span>";
  172.  mysql_close();
  173.  }
  174. else
  175.  {
  176.   echo "<table id=\"tab-resultats\"><tr><td id=\"tab-resultats-entete\">MOT</td><td id=\"tab-resultats-entete\">DEFINITION</td>";
  177.   while ($row<$nombre)
  178.    {
  179.    $word=mysql_result($result,$row,"word" );
  180.    $definition=mysql_result($result,$row,"definition" );
  181.    $definition2=mysql_result($result,$row,"definition2" );
  182.    $discipline=mysql_result($result,$row,"discipline" );
  183.    $auteur=mysql_result($result,$row,"auteur" );
  184.                                 $email=mysql_result($result,$row,"email" );
  185.   echo "<table class='cad_info2' width='100%'><TD>";
  186.      echo "<table style='text-align: left; width: 100%;' border='0'
  187. cellpadding='2' cellspacing='2'>
  188.   <tbody>
  189.     <tr>
  190.       <td class='texte_dico'>$word</td>
  191.       <td class='texte_dico3'>[$discipline]</td>
  192.     </tr>
  193.     <tr>
  194.       <td colspan='2' rowspan='1' class='texte_dico2'>$definition</td>
  195.     </tr>
  196.   </tbody>
  197. </table>";
  198.                echo "<TD></table><BR>";
  199.    $row++;
  200.    }
  201.  echo "</tr></table>";
  202.  pages($nombre2,$mode=3,$rien="" );
  203.  }
  204. }
  205. }
  206. #--------------------------------------------------------------------------------------
  207. function display_all()
  208. # Afficher toutes les définitions
  209. {
  210. require ("config/conf.inc.php" );
  211. if($_GET['limit1']=="" or $_GET['limit2']=="" )
  212.  {
  213.  page_reload($where=4);
  214.  }
  215. else
  216.  {
  217.  $query="select * from $table order by word LIMIT ".$_GET['limit1'].", ".$_GET['limit2']."";
  218.  $result=mysql_query($query);
  219.  $nombre = mysql_numrows($result);
  220.  $query2 = "SELECT * FROM $table ";
  221.  $resultat = mysql_query($query2);
  222.  $row = 0;
  223.  $nombre2 = mysql_numrows($resultat);
  224.  if ($nombre2==0)
  225.   {
  226.   echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Il n'y a aucune définition dans le dictionnaire histoire-geo !</span>";
  227.   mysql_close();
  228.   }
  229.  else
  230.   {
  231.   echo "<table id=\"tab-resultats\"><tr><td id=\"tab-resultats-entete\">MOT</td><td id=\"tab-resultats-entete\">DEFINITION</td><td id=\"tab-resultats-entete\">DISCIPLINE</td>";
  232.    while ($row<$nombre)
  233.     {
  234.     $word=mysql_result($result,$row,"word" );
  235.     $definition=mysql_result($result,$row,"definition" );
  236.     $definition2=mysql_result($result,$row,"definition2" );
  237.     $discipline=mysql_result($result,$row,"discipline" );
  238.                                         $auteur=mysql_result($result,$row,"auteur" );
  239.                                         $email=mysql_result($result,$row,"email" );
  240.    
  241.      echo "<table class='cad_info2' width='100%'><TD>";
  242.      echo "<table style='text-align: left; width: 100%;' border='0'
  243. cellpadding='2' cellspacing='2'>
  244.   <tbody>
  245.     <tr>
  246.       <td class='texte_dico'>$word</td>
  247.       <td class='texte_dico3'>[$discipline]</td>
  248.     </tr>
  249.     <tr>
  250.       <td colspan='2' rowspan='1' class='texte_dico2'>$definition</td>
  251.     </tr>
  252.   </tbody>
  253. </table>";
  254.                echo "<TD></table><BR>";
  255.              
  256.     $row++;
  257.     }
  258.   echo "</tr></table>";
  259.   pages($nombre2,$mode=4,$rien="" );
  260.   }
  261. }
  262. }
  263. #--------------------------------------------------------------------------------------
  264. function pages($nombre2,$mode,$letter)
  265. # Création des liens première page | page précédente | page suivante | dernière page
  266. {
  267. require ("config/conf.inc.php" );
  268. if ($nombre2 > $limit)
  269. {
  270.  if($_GET['limit1']==0)
  271.  {
  272.   print("<br><center><a href=\"glossaire.php?mode=".$mode."&limit1=$limit&limit2=$limit&letter=$letter\">Page suivante ></a>" );
  273.   $max=floor(($nombre2/$limit));
  274.   $fin=$max*$limit;
  275.   print("<a href=\"glossaire.php?mode=".$mode."&limit1=$fin&limit2=$limit&letter=$letter\"> >></a></center>" );
  276.  }
  277.  else
  278.  {
  279.   if ($_GET['limit1'] >= ($nombre2 - $limit))
  280.   {
  281.    $_GET['limit1']=$_GET['limit1']-$limit; $limit2=$limit;
  282.    $limit1=$_GET['limit1'];
  283.    print("<br><center><a href=\"glossaire.php?mode=".$mode."&limit1=0&limit2=$limit2&letter=$letter\"><<</a> <a href=\"glossaire.php?mode=".$mode."&limit1=$limit1&limit2=$limit2&letter=$letter\">< Page précédente</a></center>" );
  284.   }
  285.   else
  286.   {
  287.    $_GET['limit1']=$_GET['limit1']-$limit; $limit2=$limit;
  288.    $limit1=$_GET['limit1'];
  289.    print("<br><center><a href=\"glossaire.php?mode=".$mode."&limit1=0&limit2=$limit2&letter=$letter\"><<</a> <a href=\"glossaire.php?mode=".$mode."&limit1=$limit1&limit2=$limit2&letter=$letter\">< Page précédente</a>" );
  290.    $limit1=$limit1+($limit*2); $limit2=$limit;
  291.    print(" | <a href=\"glossaire.php?mode=".$mode."&limit1=$limit1&limit2=$limit2&letter=$letter\">Page suivante ></a>" );
  292.    $max=floor(($nombre2/$limit));
  293.    $fin=$max*$limit;
  294.    print("<a href=\"glossaire.php?mode=".$mode."&limit1=$fin&limit2=$limit&letter=$letter\"> >></a></center>" );
  295.   }
  296.  }
  297. }
  298. }
  299. #--------------------------------------------------------------------------------------
  300. function add_def()
  301. # Ajouter une entrée
  302. {
  303. require ("config/conf.inc.php" );
  304. $query='select * from '.$table.' where word="'.$_POST['word'].'"';
  305. $result=mysql_query($query);
  306. $nombre=mysql_numrows($result);
  307. if ($_POST['word']=="" )
  308.  {
  309.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Vous n'avez pas entré de mot !</span>";
  310.  }
  311. else
  312. if ($_POST['definition']=="" )
  313.  {
  314.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Vous n'avez pas entré de définition pour le mot \"".$_POST['word']."\" !</span>";
  315.  }
  316. else
  317. if ($nombre==0)
  318.  {
  319.  $query='insert into '.$table.' (word,definition,definition2,discipline,auteur,email) values ("'.$_POST['word'].'","'.$_POST['definition'].'","'.$_POST['definition2'].'","'.$_POST['discipline'].'","'.$_POST['auteur'].'","'.$_POST['email'].'" )';
  320.  $result=mysql_query($query);
  321.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Le mot \"".$_POST['word']."\" a été ajouté au dictionnaire histoire-geo.";
  322.  mysql_close();
  323.  }
  324. elseif ($nombre!=0)
  325.  {
  326.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Le mot \"".$_POST['word']."\" est déjà dans le dictionnaire histoire-geo.";
  327.  mysql_close();
  328.  }
  329. }
  330. #--------------------------------------------------------------------------------------
  331. function add_def_user()
  332. # Ajouter une entrée (mode utilisateur)
  333. {
  334. require ("config/conf.inc.php" );
  335. $query='select * from '.$table.' where word="'.$_POST['word'].'"';
  336. $result=mysql_query($query);
  337. $nombre=mysql_numrows($result);
  338. if ($_POST['word']=="" )
  339.  {
  340.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Vous n'avez pas entré de mot !</span>";
  341.  }
  342. else
  343. if ($_POST['definition']=="" )
  344.  {
  345.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Vous n'avez pas entré de définition pour le mot \"".$_POST['word']."\" !</span>";
  346.  }
  347. else
  348. if ($nombre==0)
  349.  {
  350.  $query='insert into '.$table_tmp.' (word,definition,definition2,discipline,auteur,email) values ("'.$_POST['word'].'","'.$_POST['definition'].'","'.$_POST['definition2'].'","'.$_POST['discipline'].'","'.$_POST['auteur'].'","'.$_POST['email'].'" )';
  351.  $result=mysql_query($query);
  352.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Votre définition a bien été prise en compte. Elle est en attente de validation.";
  353.  mysql_close();
  354.  }
  355. elseif ($nombre!=0)
  356.  {
  357.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Le mot \"".$_POST['word']."\" est déjà dans le dictionnaire histoire-geo.";
  358.  mysql_close();
  359.  }
  360. }
  361. #--------------------------------------------------------------------------------------
  362. function mod_def()
  363. # Modifier une entrée
  364. {
  365. require ("config/conf.inc.php" );
  366. $query='select * from '.$table.' where word="'.$_POST['word'].'"';
  367. $result=mysql_query($query);
  368. $nombre=mysql_numrows($result);
  369. if ($_POST['word']=="" )
  370.  {
  371.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Vous n'avez pas entré de mot !</span>";
  372.  }
  373. else
  374. if ($_POST['definition']=="" )
  375.  {
  376.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Vous n'avez pas entré de définition !</span>";
  377.  }
  378. else
  379. if ($nombre!=0)
  380.  {
  381.  $query='update '.$table.' set definition="'.$_POST['definition'].'" where word="'.$_POST['word'].'"';
  382.  $result=mysql_query($query);
  383.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> La définition de \"".$_POST['word']."\" a été modifiée :<br>";
  384.  $query='select * from '.$table.' where definition="'.$_POST['definition'].'"';
  385.  echo "Nouvelle définition : \"".$_POST['definition']."\"";
  386.  mysql_close();
  387.  }
  388. elseif ($nombre==0)
  389.  {
  390.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Le mot \"".$_POST['word']."\" n'est pas dans le dictionnaire histoire-geo !";
  391.  mysql_close();
  392.  }
  393. }
  394. #--------------------------------------------------------------------------------------
  395. function del_def()
  396. # Supprimer une entrée
  397. {
  398. require ("config/conf.inc.php" );
  399. $query='select * from '.$table.' where word="'.$_POST['word'].'"';
  400. $result=mysql_query($query);
  401. $nombre=mysql_numrows($result);
  402. if ($_POST['word']=="" )
  403.  {
  404.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> <span class=\"erreur\">Vous n'avez pas entré de mot !</span>";
  405.  }
  406. else
  407. if ($nombre!=0)
  408.  {
  409.  $query='delete from '.$table.' where word="'.$_POST['word'].'"';
  410.  $result=mysql_query($query);
  411.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Le mot \"".$_POST['word']."\" a été supprimé du dictionnaire histoire-geo.";
  412.  mysql_close();
  413.  }
  414. elseif ($nombre==0)
  415.  {
  416.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Le mot \"".$_POST['word']."\" n'est pas dans le dictionnaire histoire-geo !";
  417.  mysql_close();
  418.  }
  419. }
  420. #--------------------------------------------------------------------------------------
  421. function page_reload($mode)
  422. # Recharge la page si l'url est tronquée
  423. {
  424. require ("config/conf.inc.php" );
  425. if ($mode!=2)
  426. {
  427. print("<script language=\"javascript\">location.replace('glossaire.php?mode=".$mode."&limit1=0&limit2=$limit');</script>" );
  428. }
  429. else
  430. {
  431. print("<script language=\"javascript\">location.replace('glossaire.php');</script>" );
  432. }
  433. }
  434. #--------------------------------------------------------------------------------------
  435. function show_users_def()
  436. # Affiche la liste des définitions à valider (ajoutées par les utilisateurs)
  437. {
  438. require ("config/conf.inc.php" );
  439. $query="select * from $table_tmp";
  440. $result=mysql_query($query);
  441. $nombre=mysql_numrows($result);
  442. $row=0;
  443. if ($nombre==0)
  444. {
  445.  echo "<img src=\"img/i.gif\" align=\"absmiddle\" alt=\"\"/> Il n'y a aucune définition à valider pour le moment...";
  446. }
  447. else
  448. {
  449.  while ($row<$nombre)
  450.  {
  451.   $word=mysql_result($result,$row,"word" );
  452.   $definition=mysql_result($result,$row,"definition" );
  453.   $definition2=mysql_result($result,$row,"definition2" );
  454.                         $discipline=mysql_result($result,$row,"discipline" );
  455.   $row++;
  456.   echo "<table id=\"tab-validation\" width=\"100%\"><tr><td id=\"tab-validation-mot\">";
  457.   echo "".$word."</td><tr><td id=\"tab-validation-def\">".$definition."</td><td id=\"tab-validation-def\">".$definition2."</td><TD>".$discipline."</TD><TD>".$auteur."</TD><TD>".$email."</TD><</tr><td>";
  458.   echo "<img src=\"img/ok.gif\" align=\"absmiddle\" alt=\"\"/> <a href=\"valid.php?action=1&def=$word\">Valider</a>";
  459.   echo "&nbsp;<img src=\"img/no.gif\" align=\"absmiddle\" alt=\"\"/> <a href=\"valid.php?action=2&def=$word\">Supprimer</a>";
  460.   echo "</td></tr></table>";
  461.  }
  462. }
  463. }
  464. #--------------------------------------------------------------------------------------
  465. function valid_def($action,$def)
  466. # Valide ou supprime les définitions ajoutées par les utilisateurs
  467. {
  468. require ("config/conf.inc.php" );
  469. switch($action)
  470. {
  471. case 1:
  472. # Validation
  473. $select='select * from '.$table_tmp.' where word="'.$def.'"';
  474. $result=mysql_query($select);
  475. #
  476. $word=mysql_result($result,0,"word" );
  477. $definition=mysql_result($result,0,"definition" );
  478. $definition2=mysql_result($result,0,"definition2" );
  479.         $discipline=mysql_result($result,0,"discipline" );
  480.         $auteur=mysql_result($result,0,"auteur" );
  481.         $email=mysql_result($result,0,"email" );
  482. $insert='insert into '.$table.'(word,definition,definition2,discipline,auteur,email) values ("'.$word.'","'.$definition.'","'.$definition2.'","'.$discipline.'","'.$auteur.'","'.$email.'" )';
  483. mysql_query($insert);
  484. #
  485. $delete='delete from '.$table_tmp.' where word="'.$def.'"';
  486. mysql_query($delete);
  487. break;
  488. case 2:
  489. # Suppression
  490. $query='delete from '.$table_tmp.' where word="'.$def.'"';
  491. mysql_query($query);
  492. break;
  493. default:
  494. header("location:glossaire.php" );
  495. break;
  496. }
  497. }
  498. ?>


Message édité par lulu_merlan le 16-11-2005 à 20:59:04
n°1247137
naceroth
Posté le 16-11-2005 à 21:06:28  profilanswer
 

ligne 138 tu as le droit de fermer la chaine ouverte ligne 128 :)

n°1247202
art_dupond
je suis neuneu... oui oui !!
Posté le 16-11-2005 à 22:10:37  profilanswer
 

arf mais c'est pas sur la première ligne alors :p
 
sinon le  
 
$definition2=$_GET['def2'];
 
que j'ai mis dans mes exemples, je ne sais pas si t'en as besoin. J'ai juste mis ca pour tester.

n°1247262
lulu_merla​n
JeuneJedi m'a sauver
Posté le 17-11-2005 à 00:02:11  profilanswer
 

naceroth a écrit :

ligne 138 tu as le droit de fermer la chaine ouverte ligne 128 :)


c'était ça !
Merci à tous ... Même si mon code était donc bon au départ  :sweat:  

n°1247276
leflos5
On est ou on est pas :)
Posté le 17-11-2005 à 01:22:31  profilanswer
 

Reste encore à l'améliorer surtout sur le Html, l'indentation et svp tous arrêtez avec les echo de partout ;)
 
Autre astuce quand t'as une variable dans une chaine de caractère, si t'utilises les double cotes t'as pas besoin de sortir de la chaine suffit de faire

Code :
  1. $chaineHtml="<table class='$class'>
  2.               <tr>
  3.                 <td>
  4.                        Cet objet coute $prix €
  5.                 </td>
  6.               </tr>
  7.              </table>\n";
  8. echo $chaineHtml;


 
C'est plus clair, propre et c'est juste une piste t'en fais ce que tu veux  :jap:  

n°1247331
soju
One shot !
Posté le 17-11-2005 à 09:01:29  profilanswer
 

ha je suis pas fou, c'est bien ce que javais dit dans mon precedent post passé inaperçu  :sweat: ...

mood
Publicité
Posté le   profilanswer
 


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

  Probleme de syntaxe avec Switch case

 

Sujets relatifs
probléme compréhension ligne Php pour categorie?Problème de variable static
[HTML] problème lecture accent par google...Probleme d'exception pour lecture fichier
[flash mx 2004] Problème de texteareaProbleme avec rmic
probléme centrer un menu CSS!!!Probleme de TextFormat
Problème .htaccessProbleme boutons
Plus de sujets relatifs à : Probleme de syntaxe avec Switch case


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