Notice: Undefined index
Résolu
Evengeline
Messages postés
117
Date d'inscription
Statut
Membre
Dernière intervention
-
Evengeline Messages postés 117 Date d'inscription Statut Membre Dernière intervention -
Evengeline Messages postés 117 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Notice: Undefined index
- Notice gratuite - Guide
- Notice chromecast - Guide
- Notice télécommande universelle grundig - Forum Téléviseurs
- Homday x-pert écouteur bluetooth notice ✓ - Forum Casque et écouteurs
- Uleway g381 notice - Forum Mobile
3 réponses
Bonjour,
Si tu récupères tes données en POST, tu dois avoir les champs de ton formulaire nommés ainsi (name) dans le code HTML :
- num
- nom
- nom2
- num2
- num3
Vérifies que c'est bien le cas car num est différent de Num ou encore de NUM.
Ensuite, pour tester que les valeurs sont bien transmises au script, fait un print_r($_POST) au tout début de ton script, dès que tu auras trouvé le problème tu pourras supprimer la fonction print_r().
Si tu récupères tes données en POST, tu dois avoir les champs de ton formulaire nommés ainsi (name) dans le code HTML :
- num
- nom
- nom2
- num2
- num3
Vérifies que c'est bien le cas car num est différent de Num ou encore de NUM.
Ensuite, pour tester que les valeurs sont bien transmises au script, fait un print_r($_POST) au tout début de ton script, dès que tu auras trouvé le problème tu pourras supprimer la fonction print_r().
J'ai essayé de mettre le print_r($_POST) comme tu dis, mais il me dis toujours qu'il y a une erreur sur la ligne du dessous où je l'ai placé.
J'ai également vérifié les noms des champs qui sont corrects.
Voici le code qui joue peut-être sur cette erreur, y vois-tu des fautes? j'ai pourtant vérifié et revérifié
Le formulaire:
La partie qui affiche les champs voulus grâce à l'input de validation "bouton" définit au-dessus.
Ensuite la page affichageArticle.php où j'ai le code présenté plus haut:
il me sort les erreurs et ne prend pas en compte mon tableau puisqu'il me dit "pas d'enregistrements dans la table"
Pourtant la table est bien remplie puisque j'ai une partie qui affiche tout et ca marche niquel.
J'ai également vérifié les noms des champs qui sont corrects.
Voici le code qui joue peut-être sur cette erreur, y vois-tu des fautes? j'ai pourtant vérifié et revérifié
Le formulaire:
<div id="menu"> <form method="post" name="rechercheAvancee" action=""> <!--Requiert les infos de connexion à la base de données--> <?php require '../conf.php'; ?> <div id= "bloc-1"> <p> <label for="num">Numero </label> <input type="text" name="num" value="" /></br> <label for="nom">Nom </label> <input type="text" name="nom" value=""/></br> <label for="nom2">Nom2</label> <input type="text" name="nom2" value=""/></br> <label for="num2">Num2</label> <input type="text" name="num2" value=""/></br> <label for="num3">Num3 </label> <input type="text" name="num3" value="" /></br> <!--Validation pour afficher ensuite la page sur la droite de l'écran--> <input value="Valider" type="submit" name="bouton"/> </p> </div> </form>
La partie qui affiche les champs voulus grâce à l'input de validation "bouton" définit au-dessus.
<div id="menu2"> <form method="post"> <div id="affiche2"> <?php if(isset($_POST['bouton'])) { include('affichageArticle.php');/*affichageArticle.php est l'affichage du tableau d'après les paramètres entrés par l'utilisateur*/ } ?> </div> </form> </div>
Ensuite la page affichageArticle.php où j'ai le code présenté plus haut:
<?php //appel de la page de connexion à la base de données include ('../conf.php'); //le nom de la table $tablename = 'test'; $num = $_POST['num']; $nom= $_POST['nom']; $nom2= $_POST['nom2']; $num2 = $_POST['num2']; $num3 = $_POST['num3']; //on regarde si les cases sont vides ou remplies if ($num=="" AND $nom=="") { $select = "SELECT * FROM test WHERE nom2='$nom2' AND num2='$num2' AND num3='$num3' ORDER BY num DESC"; } else if ($num=="" AND $nom2=="") { $select = "SELECT * FROM test WHERE nom='$nom' AND num2='$num2' AND num3='$num3' ORDER BY num DESC"; } else if ($num=="" AND $num2=="") { $select = "SELECT * FROM test WHERE nom='$nom' AND nom2='$nom2' AND num3='$num3' ORDER BY num DESC"; } else if ($num=="" AND $num3=="") { $select = "SELECT * FROM test WHERE nom='$nom' AND nom2='$nom2' AND num2='$num2' ORDER BY num DESC"; } . . . . else { $select = "SELECT * FROM test WHERE nom2='$nom2' AND num='$num' AND nom='$nom' AND num2='$num2' AND num3='$num3' ORDER BY num DESC"; } $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error()); $total = mysql_num_rows($result); // on affiche le résultat if($total) { // debut du tableau echo '<table bgcolor="#FFFFFF">'."\n"; // première ligne on affiche les données dans 2 colonnes echo '<tr>'; echo '<td bgcolor="#0099aa"><b><u>num</u></b></td>'; echo '<td bgcolor="#0099aa"><b><u>nom</u></b></td>'; echo '<td bgcolor="#0099aa"><b><u>nom2</u></b></td>'; echo '<td bgcolor="#0099aa"><b><u>num2</u></b></td>'; echo '<td bgcolor="#0099aa"><b><u>num3</u></b></td>' ; echo '</tr>'."\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td bgcolor="#ADD8E6">'.$row["num"].'</td>'; echo '<td bgcolor="#ADD8E6">'.$row["nom"].'</td>'; echo '<td bgcolor="#ADD8E6">'.$row["nom2"].'</td>'; echo '<td bgcolor="#ADD8E6">'.$row["num2"].'</td>'; echo '<td bgcolor="#ADD8E6">'.$row["num3"].'</td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; // fin du tableau. } else echo 'Pas d\'enregistrements dans cette table...'; // on libère le résultat mysql_free_result($result); ?>
il me sort les erreurs et ne prend pas en compte mon tableau puisqu'il me dit "pas d'enregistrements dans la table"
Pourtant la table est bien remplie puisque j'ai une partie qui affiche tout et ca marche niquel.
Bon bon, ja'i changé de solutions, mon idée était impossible avec beaucoup de champs à prendre en compte, voici une solution pour les prochains:
Je rappelle le but de ce code: Récupérer les paramètres d'un formulaires pour les afficher dans un tableau
Pour afficher:
Voilà, si vous avez besoin de détails n'hésitez pas
bye
Je rappelle le but de ce code: Récupérer les paramètres d'un formulaires pour les afficher dans un tableau
<?php //appel de la page de connexion à la base de données include ('../conf.php'); //le nom de la table $tablename = 'article'; $num= $_POST['num']; $nom= $_POST['nom']; $nom2= $_POST['nom2']; $num2= $_POST['num2']; $num3= $_POST['num3']; $param = ''; if ($num!='') { $param .= ' AND num= ' . $num . ' '; } if ($nom!='') { $param .= ' AND nom= ' . $nom . ' '; } if ($nom2!='') { $param .= ' AND nom2= ' . $nom2 . ' '; } . . . . $select = 'SELECT * FROM article WHERE 1=1 ' . $param; $result = mysql_query($select) or die ('Erreur : '.mysql_error()); $total = mysql_num_rows($result); ?>
Pour afficher:
<table class="affichage" border="2px" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF"> <tr border="0"> <th>Num</th> <th>Nom</th> <th>Nom2</th> <th>Num2</th> <th>Num3</th> </tr> <?php $num = ''; $nom = ''; $nom2 = ''; $num2 = ''; $num3 = ''; <!--script permettant de colorier une ligne sur 2--> $cpt=1; while( $row=mysql_fetch_assoc($result)){ if($cpt % 2!=0) echo '<tr class="ligneimpair">'; else echo '<tr>'; ?> <td border="0"><?php echo $row['num'] ?></td> <td border="0"><?php echo $row['nom'] ?></td> <td border="0"><?php echo $row['nom2'] ?></td> <td border="0"><?php echo $row['num2'] ?></td> <td border="0"><?php echo $row['num3'] ?></td> </tr> <?php $cpt++; } ?> </table>
Voilà, si vous avez besoin de détails n'hésitez pas
bye