[PHP] faute de saisie / variables ?

Bonjour,
j'ai un probleme dans mon code je pense dans le input checkbox ... pouvez vous m'aider ?

Voila ce que j'ai pour le moment

dans liste.php
--------
$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '<td><input type="checkbox" name="option'.$i.'" value="'.$row['id'].'">acheter<br></td>'."n";

echo '</tr>'."n";
$i = $i +1;
}
----------

dans confirmation.php (la page de confirmation juste apres liste.php histoire de recapituler les devis chekés)

<?php
include('bdd.php');

$c = $_POST['option'.$i.''];

$sql = "SELECT id,departement,commentaires FROM devis_table WHERE id = '" . $c . "' ";
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

echo '<table bgcolor="#FFFFFF" align="center">'."n";
// première ligne on affiche les titres dans 4 colonnes
echo '<tr>';
echo '<td><b>Vous avez choisi : </b></td>';
echo '<td width="80" bgcolor="#9f9f9f"><b><u>id</u></b></td>';
echo '<td bgcolor="#9f9f9f"><b><u>departement</u></b></td>­; ;­';
echo '<td bgcolor="#9f9f9f"><b><u>commentaires</u></b></td&g­ ­­t;';
echo '</tr>'."n";

$i=0;
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
echo '</tr>'."n";
$i = $i +1;
}

echo '</table>'."n";

?>

Voili : cela maffiche mon tablo vide :s !
pouvez-vous m'aider MERCI
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. "SELECT id,departement,commentaires FROM devis_table WHERE id = '" . $c . "' ";
    name="option'.$i.'"

    Tu fait un Where sur le nom.

    Laisse le même nom pour chaque checkbox dans ton while et change juste l'attribut Value avec ton $i

    Ensuite dans l'autre page tu fait :

    $c = $_POST['{nom de tes checkbox}'];

    $sql = "SELECT id,departement,commentaires FROM devis_table WHERE id = '" . $c . "' ";
    1. oui alors la je me sens pas tres bien ...
      je suis un peu perdu désolé avec tes explications qui ne sont pas limpides pour moi.
      excuse moi pour cela, je commence le Php.

      Pourrai tu rendre ceci plus comprehensible pour moi s'il te plait ?
      je te remercie davance
  2. Ok no problem :)

    En gros dans ton While de la page liste.php, tu utilise ta variable $i pour le name de tes checkbox (name="'option'.$i.'")
    Or le nom de tes checkbox doit être à chaque fois le même, du coup ta variabke $i ne sert plus pour le name mais pour le value !

    Exemple :

    while($row = mysql_fetch_array($result)) {
    echo '<tr>';
    echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>';
    echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>';
    echo '<td><input type="checkbox" name="case" value="'.$row['id'].'">acheter<br></td>'."n";

    echo '</tr>'."n";
    }

    $c = $_POST['case'];

    $sql = "SELECT id,departement,commentaires FROM devis_table WHERE id = '" . $c . "' ";
    $result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );

    Essaye ça, je pense que c'est ça ;)
    1. c'est tout a fait cela, cela fonctionne ! Merci beaucoup
  3. En fait désolé, ta variable ne sert plus à rien puisque les values de tes checkbox viennent de l'ID. :)
    1. Merci , mais cela fonctionne !
    2. @dubuducuCela ne fonctionne pas !!!!

      avec ce code, on ne peut recuperer qu'un seul checkbox !
      lorsqu'on en clike 2 ou plusieurs il ne rend qu'une seule !