Multi requetes
Bonjour,
voici mon nouveau problème.
j'ai sur une page, 2 requetes qui interrogent l'une plusieurs tables (d'une BD Mysql) et l'autre 1 seule. Cette page récupère dans une variable (=$selected_vehicule), l'id de la voiture passé en GET. Cette variable est utilisé dans les 2 requetes pour trouver le véhicule recherché.
Tel quel, cela ne fonctionne pas. Par contre si j'attribue moi même une valeur à cette variable, cela fonctionne. Idem, si je regroupe mes 2 requetes en 1 seule, cela fonctionne également et dans ce cas, la valeur de la variable est bien récupérée en $_GET, je ne dois pas imposer une valeur.
J'ai également testé mes requetes dans PHPMyAdmin et ça fonctionne.
Je n'y comprend rien j'ai pensé à utiliser une variable de session mais cela ne change rien.
Quelqu'un peut-il me donner une explication à cela?
Merci de votre aide
Voici mon code :
<?php$selected_vehicule=$_GET['id_vehicule']; //Debut des requestes $sql_fiche=mysql_query("SELECT vehicule.id_vehicule, vehicule.code_marque, vehicule.code_model, vehicule.code_carburant, vehicule.code_annee, vehicule.kilometre, vehicule.prix_vente_TVA, vehicule.code_type, DATE_FORMAT(vehicule.immatriculation, '%d/%m/%Y') as immatriculation, vehicule.cm3,vehicule.code_trans, vehicule.code_couleur, marque.code_marque, marque.marque, model.code_model, model.model, type.type,type.code_type, carburant.code_carburant, carburant.carburant, images.id_vehicule, images.chemin_image, transmission.code_trans, transmission.transmission, couleur.code_couleur, couleur.couleur FROM vehicule INNER JOIN marque ON vehicule.code_marque=marque.code_marque INNER JOIN model ON vehicule.code_model=model.code_model INNER JOIN type ON vehicule.code_type=type.code_type INNER JOIN carburant ON vehicule.code_carburant=carburant.code_carburant INNER JOIN images ON vehicule.id_vehicule=images.id_vehicule INNER JOIN transmission ON vehicule.code_trans=transmission.code_trans INNER JOIN couleur ON vehicule.code_couleur=couleur.code_couleur WHERE vehicule.id_vehicule='.$selected_vehicule.'"); $donnees_fiche =mysql_fetch_assoc($sql_fiche);?> <div id="contenu"> <?php $previous_page=$_SERVER['HTTP_REFERER']; ?> <p id="return"><a href='<?php echo $previous_page; ?>'>Retour à la page précédente</a></p> <div class="cadre-fiche"> <div id="cadre-fiche-resume"> <table class="table-vehicule"> <th class="black" colspan="2">Véhicule n° <?php echo $selected_vehicule ?> - <?php echo $donnees_fiche['marque']; echo '<span> - </span>'.$donnees_fiche['model']; ?></th> <tr> <td class="descriptif-tableau" width="30%">Type :</td> <td width="70%"><span><?php echo $donnees_fiche['type']; ?></span></td> </tr> <tr> <td class="descriptif-tableau" width="30%">Carburant :</td> <td width="70%"><span><?php echo $donnees_fiche['carburant']; ?></span></td> </tr> <tr> <td class="descriptif-tableau" width="30%">Cylindrée :</td> <td width="65%"><span><?php echo $donnees_fiche['cm3']; ?> cc</span></td> </tr> <tr> <td class="descriptif-tableau" width="30%">Transmission :</td> <td width="65%"><span><?php echo $donnees_fiche['transmission']; ?></span></td> </tr> <tr> <td class="descriptif-tableau" width="30%">Kilométrage :</td> <td width="65%"><span><?php echo number_format($donnees_fiche['kilometre'], 0, ',','.'); ?> Km</span></td> </tr> <tr> <td class="descriptif-tableau" width="30%">Immatriculation :</td> <td width="65%"><span><?php echo $donnees_fiche['immatriculation']; ?></span></td> </tr> <tr> <td class="descriptif-tableau" width="30%">Prix de vente : </td> <td width="65%"><span id="prix"><?php echo number_format($donnees_fiche['prix_vente_TVA'], 2, ',',' '); ?> </span></td> </tr> </table> </div><!-- Fin de #cadre-fiche-resume --> <div id="cadre-fiche-photo"> <img src="<?php echo $donnees_fiche['chemin_image']; ?>" alt="v796p3" width="236" height="212" /> </div><!-- Fin de #cadre-fiche-photo --> <div id="contact-vendeur">Contacter le vendeur</div> <div class="fiche-description"> <?php $sql_options =mysql_query("SELECT * FROM options WHERE id_vehicule='.$selected_vehicule.'"); $donnees_options =mysql_fetch_assoc($sql_options); ?> <h3 id="black">Description du Véhicule <?php echo $donnees_options['id_vehicule']; ?></h3> <table id="table-desc-moteur"> <th colspan="2" align="left">Moteur</th> <tr> <td class="black" width="55%">Boîte de vitesse: </td> <td class="black" width="45%"><?php echo $donnees_options['boite_vitesse']; ?></td> </tr> <tr> <td class="black" width="55%">Puissance :</td> <td class="black" width="45%"><?php echo $donnees_options['puissance']; ?> CV</td> </tr> <tr> <td class="black" width="55%">Puissance fiscale:</td> <td class="black" width="45%"><?php echo $donnees_options['puis_fiscale']; ?></td> </tr> <tr> <td class="black" width="55%">Consommation : </td> <td class="black" width="45%"><?php echo $donnees_options['consommation']; ?> L/ 100 Km</td> </tr> <tr> <td class="black" width="55%">Emission CO2 : </td> <td class="black" width="45%"><?php echo $donnees_options['co2']; ?> grm/Km</td> </tr> </table> <!-- FIN TABLE DESC-MOTEUR--> <table id="table-desc"> <th colspan="2" align="left">Véhicule</th> <tr> <td class="black" width="60%">Nombre de portes : </td> <td class="black" >5</td> </tr> <tr> <td class="black" width="60%">Nombre de places :</td> <td class="black"><?php echo $donnees_options['place']; ?></td> </tr> <tr> <td class="black" width="60%">Airbag conducteur :</td> <td class="black"><?php echo $donnees_options['airbag_cond']=='1' ? 'Oui': 'Non'; ?></td> </tr> <tr> <td class="black" width="60%">Airbag passager :</td> <td class="black"><?php echo $donnees_options['airbag_passager']=='1' ? 'Oui': 'Non'; ?></td> </tr> <tr> <td class="black" width="60%">Airbags latéraux :</td> <td class="black"><?php echo $donnees_options['airbag_lateraux']=='1' ? 'Oui': 'Non'; ?></td> </tr> <tr> <td class="black" width="60%">Carnet d'entretien :</td> <td class="black"><?php echo $donnees_options['carnet']=='1' ? 'Oui': 'Non'; ?></td> </tr> <tr> <td class="black" width="65%">Nombre de propriétaire : </td> <td class="black"><?php echo $donnees_options['proprio']; ?></td> </tr> </table> <table id="table-desc2"> <th colspan="2" align="left">Couleur</th> <tr> <td class="black" width="60%">Couleur Extérieure : </td> <td class="black" ><?php echo $donnees_options['couleur']; ?></td> </tr> <tr> <td class="black" width="60%">Couleur intérieure :</td> <td class="black">6</td> </tr> <tr> <td class="black" width="60%">Revêtemnt intérieur :</td> <td class="black">OUI</td> </tr> </table> <br /> <div class="equipement"> <h3 id="black">Equipement</h3> <ul class="col-gauche"><p><b>Intérieur</b></p> <?php echo $donnees_options['alarme']=='1' ? '<li>Alarme</li>' : null;?> <?php echo $donnees_options['gps']=='1' ? '<li>GPS</li>' : null;?> <?php echo $donnees_options['cd']=='1' ? '<li>Lecteur CD</li>' : null;?> <?php echo $donnees_options['porte_bagage']=='1' ? '<li>Porte-bagage</li>' : null;?> <?php echo $donnees_options['ordi']=='1' ? '<li>Ordinateur de bord</li>' : null;?> <?php echo $donnees_options['park_assist']=='1' ? '<li>Park Assist</li>' : null;?> <?php echo $donnees_options['jantes']=='1' ? '<li>Jantes alliage</li>' : null;?> <?php echo $donnees_options['phares_xenon']=='1' ? '<li>Phares au Xenon</li>' : null;?> <?php echo $donnees_options['toit']=='1' ? '<li>Toit ouvrant</li>' : null;?> </ul> <ul class="col-centre"><p><b>Extérieur</b></p> <?php echo $donnees_options['brouillard_avant']=='1' ? '<li>Phares anti-brouillard avant</li>' : null;?> <?php echo $donnees_options['retro_elec']=='1' ? '<li>Rétroviseurs électriques</li>' : null;?> <?php echo $donnees_options['vitre_teinte']=='1' ? '<li>Vitres teintées</li>' : null;?> <?php echo $donnees_options['vitre_elec']=='1' ? '<li>Vitres électriques</li>' : null;?> <?php echo $donnees_options['couleur_metal']=='1' ? '<li>Couleur métalisée</li>' : null;?> </ul> </div> <!-- Fin de .equipement 1--> <br /> <br /> <div> <div class="equipement"> <h3 id="black">Sécurité et confort</h3> <ul class="col-gauche"><p><b>Sécurité</b></p> <?php echo $donnees_options['abs']=='1' ? '<li>ABS</li>' : null;?> <?php echo $donnees_options['anti_demarrage']=='1' ? '<li>Anti-demarrage</li>' : null;?> </ul> <ul class="col-centre"><p><b>Confort</b></p> <?php echo $donnees_options['dir_assist']=='1' ? '<li>Direction assistée</li>' : null;?> <?php echo $donnees_options['retro_elec']=='1' ? '<li>Rétroviseurs électriques</li>' : null;?> <?php echo $donnees_options['climatisation']=='1' ? '<li>Climatisation</li>' : null;?> <?php echo $donnees_options['regul_vitesse']=='1' ? '<li>Régulateur de vitesse</li>' : null;?> </ul> <br /> <br /> </div><!-- Fin de .equipement 2--> </div> </div><!-- Fin de .fiche-description --> </div> <!-- Fin de #fiche-description --> </div><!-- Fin de #contenu -->
Réponses apportées à cette discussion
Tu as une erreur de concaténation : tu alternes guillemets et apostrophes etdu coup la valeur envoyée à MySQL est fausse, par exemple si l'identifiant est « 24 », MySQL reçoit « .24. »
Tu as fait
$requete = "SELECT ... WHERE vehicule.id_vehicule='.$selected_vehicule.'";
Au lieu de :
$requete = "SELECT ... WHERE vehicule.id_vehicule='".$selected_vehicule."'"
Observe bien la différence et refais un test.
Au passage, je te signale qu'une balise est une cellule au même titre qu'une balise et qu'à ce titre elle doit se trouver dans une ligne, donc entre des balises , et accessoirement, compte bien tes balises ouvrantes et compte les mêmes fermantes, tu vas voir qu'il y en a une de trop en fermeture.
Hello Cyrano,
je suis gêné faire de telles erreurs. Il y a un moment où on ne voit plus les erreurs les plus évidentes.
Un regard extérieur est souvent nécessaire. J'ai bien noté pour th et mes DIV.
Merci pour ton oeil avisé !
Au passage j'ai appliqué tes conseils pour mes tests avec opérateur ternaire.
A+