Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1281 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Affichage WHILE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Affichage WHILE

n°2208384
hogz
Posté le 28-10-2013 à 11:15:03  profilanswer
 

Bonjour,
 
j'ai un petit souci, j'ai établi deux requêtes SQL et suite à ces requêtes je voudrais les afficher dans un tableaux (obligation d'avoir un tableau formaté par un css).
Dans cette requête, mon tableau s'affiche avec les données1 et pas les données2.
J'ai essayé avec un seul WHILE, mais pas succès!
Connexion de la base : PDO
Merci pour votre aide.
 
 
// On récupère tout le contenu des tables
$reponse1= $bdd->query("SELECT * FROM mabase1 WHERE  xxx " );
$reponse2= $bdd->query("SELECT * FROM mabase2 WHERE  xxx" );
 
 
// On affiche chaque entrée une à une
 
while ($donnees1 = $reponse1->fetch())
{
 
while ($donnees2 = $reponse2->fetch())
{
}
 
?>
</head>
<body>
<table >  
<tr>  
<th><?php echo ($donnees1['XXXX']);?></th>  
<th><?php echo ($donnees1[YYYY']);?></th>
<th><?php echo ($donnees2['XXXX']);?></th>  
<th ><?php echo ($donnees2['YYYY]);?></th>  
</tr>
</table>


Message édité par hogz le 28-10-2013 à 13:45:18
mood
Publicité
Posté le 28-10-2013 à 11:15:03  profilanswer
 

n°2208427
OrcusZ
Pro AMD | .Net lover
Posté le 28-10-2013 à 15:27:16  profilanswer
 

Bonjour,
 
</head>
<body>
 
<?php
$reponse = $bdd->query("SELECT * FROM matable1 m1, matable2 m2  WHERE m1.xxx = "quelque chose" && m2.xxx = "quelque chose"
 
While ($donnees = $reponse->fetch())
{
?>
<table >  
<tr>  
<th>echo ($donnees1['XXXX']);?></th>  
<th>echo ($donnees1[YYYY']);?></th>
<th>echo ($donnees2['XXXX']);?></th>  
<th >echo ($donnees2['YYYY]);?></th>  
</tr>
</table>
 
<?php } ?>
 
C'est un truc dans le genre. Je t'ai modifier certain terme pour plus que tu fasse d'erreur ( une base est différent d'une table ).
 


---------------
Made you your own sentence without believing that of the others...
n°2208494
hogz
Posté le 29-10-2013 à 08:14:37  profilanswer
 

Merci pour ta réponse,
 
mais les ou la requête SQl n'est pas un problème...faire une requête ou deux dans des tables différentes il y a plusieurs manières de faire mais là n'est pas mon souci.
Je veux tout simplement faire deux WHILE différents et les afficher sur reponse1 & reponse2 de mes requêtes, il est vrais qu'il n'est pas facile d'expliquer clairement les desideratas. :pt1cable:


Message édité par hogz le 29-10-2013 à 08:15:16
n°2208495
OrcusZ
Pro AMD | .Net lover
Posté le 29-10-2013 à 08:38:46  profilanswer
 

Bonjour,
 
J'avais bien compris. mais tu ne pourra pas faire en imbriquant deux WHILE car il rentrera dans le premier terme du while puis fera tout les terme du second et ainsi de suite... ( principe algorithmique fondamentale ).
 
Donc tu doit changer ta requête pour avoir tes information dans une seul variable et donc faire une seule boucle. Ensuite tu n'a plus qu'a tester dans quel ordre les données sont classés et faire ton formatage dans le tableau.
 
Normalement le code que je t'ai donnée devrait être bon ( vague souvenir, j'ai eu le même soucis )
 
En espérant t'avoir aidé


---------------
Made you your own sentence without believing that of the others...
n°2208514
hogz
Posté le 29-10-2013 à 10:55:10  profilanswer
 

j'ai poussé dans la recherche des WHILE...
Donc maintenant  
while ($donnees1 = $reponse1->fetch())
 
while ($donnees2 = $reponse2->fetch())
{
?>
 
et ça me donne
----------------+----------------+---------------+----------------+
+    table A       +      table A       +       table B     +        table B      +        
+        A           +          1          +         A           +          1           +
--------------------------------------------------------------------
+        A           +          1           +         B           +          2           +
---------------------------------------------------------------------
+        A           +           1          +         C           +          3          +    
---------------------------------------------------------------------
 
Résultat de la Table A même résultat de la première à la dernière ligne.
Résultat Table B ordre normal avec l'énumération de la table.
Donc ça s'affiche mais sur table A même résultat.... :lol:


Message édité par hogz le 29-10-2013 à 10:55:50
n°2208523
OrcusZ
Pro AMD | .Net lover
Posté le 29-10-2013 à 11:09:27  profilanswer
 

Citation :

J'avais bien compris. mais tu ne pourra pas faire en imbriquant deux WHILE car il rentrera dans le premier terme du while puis fera tout les terme du second et ainsi de suite... ( principe algorithmique fondamentale ).


 
Je me répète :
 
Tu entre dans ton premier while : A 1  
Tu entre dans ton deuxième while : il parcours tout donc bonne ordre
 
ensuite tu aura : B 2
Tu entre dans ton deuxième while : bizarre il t'affiche a nouveau A1 puis B2 ect...
 
C'est de l'algorithme simple....
 
Donc ton système à deux boucle ne peux pas fonctionner...


---------------
Made you your own sentence without believing that of the others...
n°2208530
hogz
Posté le 29-10-2013 à 11:29:02  profilanswer
 

Merci pour ta réponse et le coup de main mais,
j'essaye simplement de comprendre pourquoi il affiche la première ligne de la table A en répétition et toute la table B (conforme à la demande).
ça me chiffonne... :ouch:


Message édité par hogz le 29-10-2013 à 11:29:20

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Affichage WHILE

 

Sujets relatifs
[C=débutant] Boucle While[ASP] Do While sur une requête erronée
A supprimer : doublonsBoucle while en erreur
différence entre for(;;) et while(true)Boucle while dans boucle for
[VBS] boucle do while not pour tester le mappage d'un lecteurBoucle While dans un script Ksh
while et for sur tableauProblème boucle while
Plus de sujets relatifs à : Affichage WHILE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR