par
Etchoum » 08 sept. 2005, 11:43
Bonjour à tous!
Voilà, cela fait plusieurs jours (eh oui...) que je me casse la tête sur ce problème, sans en trouver la solution... J'ai fouillé sur le web, ici même, la FAQ tout ça, mais impossible de mettre la main sur une liste unique renvoyant les champs sql d'une des optiosn de la liste( pas très clair?).
En gros, j'ai une liste déroulante qui affiche les différents materiels proposés dans la bdd. Jusque là, facile. Une fois un materiel choisi, on valide sur le petit bouton, et là, normalement, devraient s'afficher les caractéristiques de l'objet. Mais en fait non... Impossible de les faire s'afficher, au mieux je rafraichi la page...
Je mets mon code juste en dessous, si quelqu'un trouve la solution... il aura toute ma gratitude
ps : pour info, id = clé primaire, le numéro unique de chaque materiel (on sait jamais^^).
//Présentation du matériel disponible
echo '<u>Voici le matériel que nous vous proposons :</u>';
include "connect.php";
/* création d'un select liste dynamique en liaison avec la table materiel de la BDD */
$sql= "SELECT * FROM `materiel` ORDER BY `tarif_mat` ";
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo '<p><table class="table">';
echo '<form method="post" action="materiel.php">';
echo '<tr><td><select name="liste" class="liste">';
$nb=1;
while($ligne = mysql_fetch_array($req)){
echo '<option value="'.$nb.'">'.$ligne['type_mat'];
$nb++;
}
echo $ligne['id'];
echo '</select>';
echo '<td></td><td></td><td align="center"><input type="submit" value="Valider">';
echo '</tr></form></table></p>';
$nb=1; // variable du compteur utilisé pour le matériel
$count = ("SELECT COUNT `id` FROM `materiel`");
while($nb<$count){
$nb++; //on incrémente la boucle while
} //fin du while
// on créé la requête SQL pour trouver le matériel
$sql = ("SELECT * FROM `materiel` WHERE 'id`=`$nb`");
$matos = mysql_query($sql) or die('Erreur SQL sur sql!<br>'.$sql.'<br>'.mysql_error());
//On vérifie si le résultat de la requête est pas vide
if(mysql_affected_rows()>0){
echo '<h3><u>materiel choisi : '.$nb.'</u></h3>';
echo '<table class="table" border=0>';
$nbmatos=mysql_num_rows($matos);
for ($i=0;$i<$nbmatos;$i++){ //DEBUT FOR
/***** Boucle qui affiche les caractéristiques du matériel choisi ****/
$type_mat=mysql_result($matos,$i,"type_mat");
$tarif_mat=mysql_result($matos,$i,"tarif_mat");
$descr_mat=mysql_result($matos,$i,"descr_mat");
//Affichage des infos
echo '<tr><td width="250"><b>matériel : '.$type_mat.'</b><td width="80" align="center">'.$descr_mat.
'<td width="80" align="center">coeff '.$tarif_mat.'</tr>';
} //fin du for
echo '</table>';
} // fin du if(mysql_affected_rows()>0)
else {echo 'Pas de résultat pour le matériel numéro '.$nb.'<br><br>';}
mysql_close();
?>
Bonjour à tous!
Voilà, cela fait plusieurs jours (eh oui...) que je me casse la tête sur ce problème, sans en trouver la solution... J'ai fouillé sur le web, ici même, la FAQ tout ça, mais impossible de mettre la main sur une liste unique renvoyant les champs sql d'une des optiosn de la liste( pas très clair?).
En gros, j'ai une liste déroulante qui affiche les différents materiels proposés dans la bdd. Jusque là, facile. Une fois un materiel choisi, on valide sur le petit bouton, et là, normalement, devraient s'afficher les caractéristiques de l'objet. Mais en fait non... Impossible de les faire s'afficher, au mieux je rafraichi la page...
Je mets mon code juste en dessous, si quelqu'un trouve la solution... il aura toute ma gratitude :D
ps : pour info, id = clé primaire, le numéro unique de chaque materiel (on sait jamais^^).
[php]
//Présentation du matériel disponible
echo '<u>Voici le matériel que nous vous proposons :</u>';
include "connect.php";
/* création d'un select liste dynamique en liaison avec la table materiel de la BDD */
$sql= "SELECT * FROM `materiel` ORDER BY `tarif_mat` ";
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
echo '<p><table class="table">';
echo '<form method="post" action="materiel.php">';
echo '<tr><td><select name="liste" class="liste">';
$nb=1;
while($ligne = mysql_fetch_array($req)){
echo '<option value="'.$nb.'">'.$ligne['type_mat'];
$nb++;
}
echo $ligne['id'];
echo '</select>';
echo '<td></td><td></td><td align="center"><input type="submit" value="Valider">';
echo '</tr></form></table></p>';
$nb=1; // variable du compteur utilisé pour le matériel
$count = ("SELECT COUNT `id` FROM `materiel`");
while($nb<$count){
$nb++; //on incrémente la boucle while
} //fin du while
// on créé la requête SQL pour trouver le matériel
$sql = ("SELECT * FROM `materiel` WHERE 'id`=`$nb`");
$matos = mysql_query($sql) or die('Erreur SQL sur sql!<br>'.$sql.'<br>'.mysql_error());
//On vérifie si le résultat de la requête est pas vide
if(mysql_affected_rows()>0){
echo '<h3><u>materiel choisi : '.$nb.'</u></h3>';
echo '<table class="table" border=0>';
$nbmatos=mysql_num_rows($matos);
for ($i=0;$i<$nbmatos;$i++){ //DEBUT FOR
/***** Boucle qui affiche les caractéristiques du matériel choisi ****/
$type_mat=mysql_result($matos,$i,"type_mat");
$tarif_mat=mysql_result($matos,$i,"tarif_mat");
$descr_mat=mysql_result($matos,$i,"descr_mat");
//Affichage des infos
echo '<tr><td width="250"><b>matériel : '.$type_mat.'</b><td width="80" align="center">'.$descr_mat.
'<td width="80" align="center">coeff '.$tarif_mat.'</tr>';
} //fin du for
echo '</table>';
} // fin du if(mysql_affected_rows()>0)
else {echo 'Pas de résultat pour le matériel numéro '.$nb.'<br><br>';}
mysql_close();
?>[/php]