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

  FORUM HardWare.fr
  Programmation
  PHP

  problème php mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème php mysql

n°1842602
dev123
Posté le 24-01-2009 à 20:07:07  profilanswer
 

Bonjour, :)  
Je voudrais faire un qcm avec les question reponse recupére de la base de donnée
J'ai pour le debut recontré un petit problème  :pt1cable:  
Je voudrais affiché :
 
1er question
 1reponse
 2 reponse
2eme question
 1 reponse
 2 reponse
 
 
Le problème est que sa m'affiche
1question
 1reponse
1question
 2reponse
2question
 1reponse
2question
 2eponse
Mon code est le suivant
 
 $req = mysql_query("SELECT  DISTINCT  libelle_reponse,  libelle  
FROM question, reponse
WHERE question.id_question = reponse.id_questionn
 " );
 
 
 
 while($da = mysql_fetch_array($req)) {
  echo '<b>'.$da['libelle'].'<b><br>';
  echo '</b><input type="radio" name="choix" value="'.$da['libelle_reponse'].'"><b>'.$da['libelle_reponse'].'</b><br>';  
 }
 
 
 
Comment faire pour evité que les question soit affiché plusieurs fois  
 
 
Merci pour l'aide

mood
Publicité
Posté le 24-01-2009 à 20:07:07  profilanswer
 

n°1842817
aideinfo
Posté le 25-01-2009 à 18:54:28  profilanswer
 

Il te faut deux requêtes et donc deux boucles, l'une pour les questions, l'autre pour les réponses.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1842949
dev123
Posté le 26-01-2009 à 09:03:01  profilanswer
 

Merci pour ta reponse  
J'ai essayé mais sa m'affiche  tout les question suivit de tout les reponse

n°1843032
aspirateur
Posté le 26-01-2009 à 11:57:00  profilanswer
 

Essaye de mettre une seconde boucle dans ta premiere:

 
Code :
  1. $req = mysql_query("SELECT   libelle  FROM question " );
  2.  
  3.  
  4.  
  5. while($da = mysql_fetch_array($req)) {
  6.  echo '<b>'.$da['libelle'].'<b><br>';
  7.  
  8. $req2 = mysql_query("SELECT   libelle_reponse  FROM reponse WHERE libelle = $da['libelle'] " );
  9. while($da2 = mysql_fetch_array($req2)) {
  10.  echo '<b>'.$da2['libelle_reponse'].'<b><br>';
  11.    }
  12. }
 

J'ai pas testé mais ca devrait fonctionner


Message édité par aspirateur le 26-01-2009 à 11:58:00
n°1843247
omega2
Posté le 26-01-2009 à 16:18:50  profilanswer
 

Ou plus simplement une seule requête comme au début et tester si on a changé de question.
 
par exemple avec un :

Code :
  1. $req = mysql_query("SELECT  DISTINCT  libelle_reponse,  libelle 
  2. FROM question, reponse
  3. WHERE question.id_question = reponse.id_questionn
  4. " );
  5.   $libelle_question="";
  6.   while($da = mysql_fetch_array($req)) {
  7.   if ($libelle_question<>$da['libelle']) {
  8.     echo '<b>'.$da['libelle'].'<b><br>';
  9.   }
  10.   echo '</b><input type="radio" name="choix" value="'.$da['libelle_reponse'].'"><b>'.$da['libelle_reponse'].'</b><br>'; 
  11. }


C'est une solution qui est 100 fois plus rapide que l'exécution de plusieurs dizaines de requêtes.
 
Et tant qu'à faire, c'est un qcm, ça sert à rien de retourner le texte de la réponse alors qu'il est si simple de retourner son numéro.

n°1843545
dev123
Posté le 27-01-2009 à 11:26:28  profilanswer
 

Bonjour merci pour ta réponse
J'ai remarqué que dans ton code  la variable $libelle_question est vide  
sachant quel sera toujours vide et donc toujours différente de $da['libelle']
sa affichera toujours les question et les réponses sous la même forme  
(Je l'ai testé)
Merci de ton aide

n°1843546
aspirateur
Posté le 27-01-2009 à 11:31:09  profilanswer
 

En effet il a oublié un petit truc (en ligne 10):

 
Code :
  1. $req = mysql_query("SELECT  DISTINCT  libelle_reponse,  libelle
  2. FROM question, reponse
  3. WHERE question.id_question = reponse.id_questionn
  4. " );
  5.  $libelle_question="";
  6.  while($da = mysql_fetch_array($req)) {
  7.  if ($libelle_question<>$da['libelle']) {
  8.    echo '<b>'.$da['libelle'].'<b><br>';
  9.  }
  10. $libelle_question=$da['libelle'];
  11.  echo '</b><input type="radio" name="choix" value="'.$da['libelle_reponse'].'"><b>'.$da['libelle_reponse'].'</b><br>';
  12. }
 

Et en effet c'est plus efficace que ce que je t'avais proposé  :jap:


Message édité par aspirateur le 27-01-2009 à 11:32:27
n°1843551
dev123
Posté le 27-01-2009 à 11:41:12  profilanswer
 

z


Message édité par dev123 le 23-02-2009 à 15:07:42
n°1854180
dev123
Posté le 23-02-2009 à 15:07:48  profilanswer
 

Bonjour a tout le monde j'essaye d'ameliore mon application en permettant au utilisateur de pouvoir inprimer le formulaire en pdf
J'ai essayé mais je beug un peu:les question reponse ne s'affiche pas comment souhaité
 
ex: question: reponse1
     reponse2
     reponse3
 
     question2:reponse1
     reponse2
     reponse3
 
 
J'utilise fpdf pour génere le pdf
Merci de votre aide
 
 mon code est le suivant:
 
 
 

Code :
  1. $resultat=mysql_query($query);
  2.    
  3.       $pdf->SetXY(0.5,1);
  4.       for($i=0;$i<sizeof($header);$i++)
  5.       $pdf->cell(4,1,$header[$i],1,0,'C',1);
  6.    
  7.       $pdf->SetFillColor(0xdd,0xdd,0xdd);
  8.       $pdf->SetTextColor(0,0,0);
  9.       $pdf->SetFont('Arial','',6);
  10.       $pdf->SetXY(0.5,$pdf->GetY()+1);
  11.       $fond=0;
  12.    while($row=mysql_fetch_array($resultat))
  13. {
  14.   if ($libelle_question<>$row['Libelle_ques'])
  15.    {
  16.      $pdf->cell(4,0.7,$row['Libelle_ques'],1,0,'C',$fond).'<br>';
  17.    }
  18.     $libelle_question=$row['Libelle_ques'];
  19.      $pdf->cell(4,0.7,$row['Libelle_rep'],1,0,'C',$fond);
  20.  $pdf->SetXY(0.5,$pdf->GetY()+0.7);
  21.  $fond=!$fond;
  22. }
  23.       $pdf->output();

n°1855016
dev123
Posté le 25-02-2009 à 14:11:24  profilanswer
 

c bon j'ai reussi  
J'aurai juste voulu savoir si quelqu'un sait comment ajouter de la couleur dans un pdf j'ai essayé avec SetFillColor() mais sa marche pas lol :)
 
Merci


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

  problème php mysql

 

Sujets relatifs
MySQL - Probleme pour supprimer un champ sur Grosse DBProbleme MySQL
[RÉSOLU]problème de Requète MySQL[php/mysql] Eviter un probleme dont je ne sais nommer
Comment attaquer le probleme php/mysql + chrono ?Mysql : Problème d'encodage des accents...
probleme formulaire/mysql[PHP-MySQL] Problème récupération dernier ID d'une table.
[MySQL] Probleme sauvegarde/restaurationProblème de lien ODBC entre ACCESS et MySQL
Plus de sujets relatifs à : problème php mysql


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