Afficher toutes les données de 2 tables dans une même requête !
Bonjour à tous!
J'aimerai savoir comment s'il vous plait je peut faire pour afficher les données de 2 tables dans une même requête "while" par exemple. Je m'explique, j'ai 2 tables qui ne sont pas identiques mais qui ont le même nombre de ligne et j'aimerai avoir les données de la première ligne de la table une et juste après avoir les données de la deuxième ligne de la table 2 et ainsi de suite jusqu'à ce qu'il n'y ai plus de ligne.
Voilà ce que j'ai fait entre temps et qui marche assez bizarrement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<?php
function connexionPDO(){
$login = "root";
$mdp = "";
$bd = "test_tuto";
$serveur = "localhost";
try{
$conn = new PDO("mysql:host=$serveur;dbname=$bd", $login, $mdp);
return $conn;
}catch(PDOException $e){
print "Erreur de connexion PDO";
die(); // On peut également faire un return null
}
}
?>
<?php
if (isset($_GET['pseudo']))
{
?><h1 class="encadrement_e"/><?php echo 'Compte de : ' . $_GET['pseudo'] . '<br />'; ?> </h1><?php
// On récupère tout le contenu de notre table
$pdo = connexionPDO();
/*$reponse = $pdo->query('SELECT p.datemesure, p.nom, p.profession, p.tel, p.email, p.conducteur,
p.circonstance, p.proces, p.vehiculeAssure, p.degats, p.blesses, p.dateAccident, p.lieu, p.gps,
p.pseudo_profil, f.photo_name, f.signature_name, f.caption FROM profil p LEFT OUTER JOIN photo f
ON f.caption=p.pseudo_profil WHERE pseudo_profil=\'' . $_GET['pseudo'] . '\' ORDER BY p.datemesure desc');*/
$reponse = $pdo->query('SELECT * FROM profil INNER JOIN photo ON profil.pseudo_profil=photo.caption
WHERE profil.pseudo_profil=\'' . $_GET['pseudo'] . '\' AND photo.caption=\'' . $_GET['pseudo'] . '\' ');
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<div class="encadrement">
<p class="encadrement_e"> Date d'enregistrement : <?php echo $donnees['datemesure']; ?> </p> </br>
<p class="encadrement_e2"/> <strong>Nom du propriétaire du véhicule : </strong><?php echo $donnees['nom']; ?> </br>
<p class="encadrement_e2"/> <strong>Profession : </strong><?php echo $donnees['profession']; ?> </br>
<p class="encadrement_e2"/> <strong>Numéro de téléphone : </strong><?php echo $donnees['tel']; ?> </br>
<p class="encadrement_e2"/> <strong>Email : </strong><?php echo $donnees['email']; ?> </br>
<p class="encadrement_e2"/> <strong>Nom du conducteur: </strong><?php echo $donnees['conducteur']; ?> </br>
<p class="encadrement_e2"/> <strong>Circonstance de l'accident : </strong><?php echo $donnees['circonstance']; ?> </br>
<p class="encadrement_e2"/> <strong>procès verbal établi ? </strong><?php echo $donnees['proces']; ?> </br>
<p class="encadrement_e2"/> <strong>Le véhicule est-il assuré ? </strong><?php echo $donnees['vehiculeAssure']; ?> </br>
<p class="encadrement_e2"/> <strong>Dégats de l'accident : </strong><?php echo $donnees['degats']; ?> </br>
<p class="encadrement_e2"/> <strong>Nom et nombre des blessés : </strong><?php echo $donnees['blesses']; ?> </br>
<p class="encadrement_e2"/> <strong>Date de l'accident : </strong><?php echo $donnees['dateAccident']; ?> </br>
<p class="encadrement_e2"/> <strong>Lieu de l'accident : </strong><?php echo $donnees['lieu']; ?> </br>
<p class="encadrement_e2"/> <strong>Données GPS : </strong><?php echo $donnees['gps']; ?> </br>
<p class="encadrement_e2"/> <strong>Pseudo du propriétaire du compte : </strong><?php echo $donnees['pseudo_profil']; ?> </br>
</div>
<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
}
else
{
header('Location: account');
}
?> |
En effet, le code ci-dessus m'affiche mes données mais il répètes autant de fois qu'il y'a de ligne dans les tables de ma BDD. Pour être plus claire, mes 2 tableaux ont 4 lignes chacune et à chaque fois que la requête fait un "while" il m'affiche 4 fois les mêmes données avants de passées au suivantes. Donc, je me retrouve avec 16 blocs dont 12 qui sont des répétitions.
Toutes aides à ce problème est la bien venue, ça fait plus de 2 jours que je suis déçu et je commence véritablement à décourager.
Excellente journée à tous!