Funkpeck Je suis une citation. | Bonsoir, voilà je vous explique le contexte :
ma page php génère des informations sur des voitures en fonctions des critères rentrés dans des listes de sélection (on choisit le type et/ou la marque et/ou le fabricant et/ou le modele).
La page apparaissant fonctionne bien (d'ailleurs elle liste tous les premiers modèles qu'elle trouve), mais lorsque je sélectionne un ou plusieurs critères, j'ai droit à un joli :
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in E:\Program Files\wamp\www\Formation PHP - Anaska\projet\site\inc_php\catalogue.inc.php on line 85
Je ne sais pas trop si le pb vient de php ou mysql, je pencherais plus sur mysql car c'est depuis que j'ai changé des paramètres dans les AND que ça n'affiche carrément plus rien.
Voici mon code :
Code :
- <form method="post" action="index.php?page=catalogue" name="catalogue">
-
- Type :
- <select name="type">
- <option value="">-Type-</option>
- <?php $sql = '
- SELECT nom, id
- FROM type_voiture
- ORDER BY nom';//mettre dans l'ordre alphabétique
- $resultat_type = mysqli_query($link, $sql);
- while ($row_type = mysqli_fetch_assoc($resultat_type))//tant qu'on trouve une réponse dans $resultat_type...
- {
- echo '<option value="'.$row_type['id'].'">'.$row_type['nom'].'</option>';//...afficher cette réponse et recommencer la boucle
- }?>
- </select>
- Marque :
- <select name="marque">
- <option value="">-Marque-</option>
- <?php $sql = '
- SELECT nom, id
- FROM marque_voiture
- ORDER BY nom';//mettre dans l'ordre alphabétique
- $resultat_marque = mysqli_query($link, $sql);
- while ($row_marque = mysqli_fetch_assoc($resultat_marque))//tant qu'on trouve une réponse dans $resultat_marque...
- {
- echo '<option value="'.$row_marque['id'].'">'.$row_marque['nom'].'</option>';//...afficher cette réponse et recommencer la boucle
- }?>
- </select>
-
- Fabricant :
- <select name="fabricant">
- <option value="">-Fabricant-</option>
- <?php $sql = '
- SELECT nom, id
- FROM fabricant
- ORDER BY nom';//mettre dans l'ordre alphabétique
- $resultat_fabricant = mysqli_query($link, $sql);
- while ($row_fabricant = mysqli_fetch_assoc($resultat_fabricant))//tant qu'on trouve une réponse dans $resultat_marque...
- {
- echo '<option value="'.$row_fabricant['id'].'">'.$row_fabricant['nom'].'</option>';//...afficher cette réponse et recommencer la boucle
- }?>
- </select>
-
- <br />Modèle :
- <select name="modele">
- <option value="">-Modèle-</option>
- <?php $sql = '
- SELECT nom_modele, id
- FROM voiture
- ORDER BY nom_modele';//mettre dans l'ordre alphabétique
- $resultat_modele = mysqli_query($link, $sql);
- while ($row_modele = mysqli_fetch_assoc($resultat_modele))//tant qu'on trouve une réponse dans $resultat_marque...
- {
- echo '<option value="'.$row_modele['id'].'">'.$row_modele['nom_modele'].'</option>';//...afficher cette réponse et recommencer la boucle
- }?>
- </select>
-
- <br />
- <input type="submit" name="rechercher" value="rechercher"> <br /><br />
-
- <?php
-
- $type = $_POST['type'];
- echo $type;
-
- $sql = '
- SELECT couleur, annee, echelle, url_photo_thumb, prix_ttc,
- marque_voiture.nom AS nom_marque,
- type_voiture.nom AS nom_type_voiture,
- fabricant.nom AS fab,
- voiture.nom_modele AS nom_modele
- FROM voiture, marque_voiture, type_voiture, fabricant
- WHERE voiture.id_type = type_voiture.'.$_POST['type'].'
- AND voiture.id_marque = marque_voiture.'.$_POST['marque'].'
- AND voiture.id_fabricant = fabricant.'.$_POST['fabricant'].'
- ORDER BY nom_modele';
- $resultat = mysqli_query($link, $sql);
- while ($row = mysqli_fetch_assoc($resultat))
- {
- if ($row['annee'] == 0)//si l'année n'est pas présente, alors ne rien afficher plutot que d'afficher 0000
- {
- $row['annee'] = '';
- }
- echo '<div class="voiture"><div class="voiture_infos"><img src="'.$row['url_photo_thumb'].'" /><br />
- <i>'.$row['nom_marque'].'</i> '.$row['nom_modele'].'<br />'.$row['annee'].', '.$row['prix_ttc'].'</div>
- <div class="voiture_options">
- <a href=""><img src="./images/panier.jpg" /></a>
- <a href=""><img src="./images/zoom.jpg" /></a>
- <a href=""><img src="./images/commande.jpg" /></a> </div></div>';
- }
- ?>
|
Je n'ai pas trouvé d'infos pertinente, et ai testé la requete mysql dans phpmyadmin avec succès (en remplacant les $_POST par "ID".
Merci Message édité par Funkpeck le 17-08-2006 à 20:16:04
|