Multi requetes

Rechercher

Multi requetes

Par paintbox  -  2 reponses  -  Le 06/10/2010 10:26  -  Editer  - 

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

Par Cyrano  -  Le 06/10/2010 11:10  -  Haut de page  - 

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.

 
Par paintbox  -  Le 06/10/2010 11:25  -  Haut de page  - 

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+

 

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |