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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete affiche un bouton AouB dans un array qui verifi a chaque ligne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requete affiche un bouton AouB dans un array qui verifi a chaque ligne

n°1626980
ails
Mwen ké trouvé un bon chimin
Posté le 19-10-2007 à 10:09:46  profilanswer
 

Bonjour vu que je ne trouve pas de sujet dans le genre je crie à l'aide! :D

 

j'ai deux requete qui doivent etre executer en fonction du nombre de ligne du champ_x de la table3 :

 

Est il possible de fair quelque chose qui ressemble à cela :

Code :
  1. $retour=mysql_query
  2. ('SELECT c.nbr_total_de_ligne FROM
  3. (select COUNT(champ_x) as nbr_total_de_ligne FROM table 3 group by id_3key) as c
  4. if c.nbr_total_de_ligne == 1
  5. (select x from t2...)
  6. else
  7. (select c from t1...)
  8. ');
  9. ou alors
  10. $retour=mysql_query('
  11. (select x from
  12. (COUNT(champ_x) as nbr_total_de_ligne FROM table 3 group by id_3key) as c
  13. inner join t2...
  14. WHEN c.nbr_total_de_ligne == 1
  15. else
  16. (select c from t1...)
  17. ');
 

voila merci beaucoup je compte sur vous ^^

 

edit titre modifier [probleme 1 resolu : requete count if else avec array] MErci ;)


Message édité par ails le 23-10-2007 à 10:57:51

---------------
Ritouné mwen lé ritounin
mood
Publicité
Posté le 19-10-2007 à 10:09:46  profilanswer
 

n°1627657
Profil sup​primé
Posté le 19-10-2007 à 19:49:21  answer
 

Oui, tu fais un SELECT ..... INTO   ....

n°1628512
MagicBuzz
Posté le 22-10-2007 à 12:02:28  profilanswer
 

je vois pas trop ce que viens faire le INTO dans cette affaire.
 
tu peux t'en sortir avec un UNION, mais ça me semble un peu bancale.
 
ta première requête retourne plusieurs lignes ou pas ?
 
selon la valeur de ton COUNT, tu dois faire une jointure différente... mais y a t'il des lignes dans la "mauvaise" table ?

n°1628556
anapajari
s/travail/glanding on hfr/gs;
Posté le 22-10-2007 à 13:10:31  profilanswer
 

Code :
  1. SELECT
  2. case c.nbr_total_de_ligne when 1 then B.x else A.y end AS truc
  3. FROM
  4. (SELECT COUNT(champ_x) AS nbr_total_de_ligne FROM TABLE 3 GROUP BY id_3key) AS C
  5. LEFT JOIN (SELECT x FROM t2...) AS B ON [... une condition de jointure entre B et C ...]
  6. LEFT JOIN (SELECT Y FROM t1...) AS A ON [... une condition de jointure entre A et C ...]


mais attention si tes sous-selects remontent plus d'une ligne tu vas te prendre un produit cartésien.


Message édité par anapajari le 22-10-2007 à 13:10:58
n°1629143
ails
Mwen ké trouvé un bon chimin
Posté le 23-10-2007 à 10:51:49  profilanswer
 

salut le probleme est résolu merci beaucoup !
la requete fontione mais j'ai une question j'ai a present cela :
 
un tableau qui retourne les enregistrements de la table (tout est sur une seul et unique table) par dimax du group [d'id et nom_de_serie] identique en french:
 
ma requete verifie pour cahque group qui on le meme id ainsi que le meme nom_de_serie celui qui a le plus grand id et il me le retourne dans le tableau array et sur chaque ligne retourné j ai un bouton dans ma premiere case,
 
ce bouton peut etre A ou B si il y a plus de 1 enregistrement dans le group [id, nom_de_serie] alors j'affiche le bouton A si il n'y en a qu un seul j'affiche le bouton B
cela fonction pour le 1er enregistrement dans mon tableau array mais a la 2eme 3eme... et les autres ligne le bouton prend la meme valeur que la 1er  ligne :/
 
voila mon code :
 

Code :
  1. <table width="100%" border="1" align="center" bordercolor="#000000">
  2.       <tr>
  3.         <th height="61" align="center" valign="middle" bgcolor="#CCCCCC"><span class="Style6">Outil</span></th>
  4.         <th width="52" align="center" valign="middle" bgcolor="#FFFF99">A cl&ocirc;turer</th>
  5.         <th width="110" align="center" valign="middle" bgcolor="#FFFF99"><strong>N&deg; s&eacute;rie    mat&eacute;riel modifi&eacute;</strong></th>
  6.         <th width="110" align="center" valign="middle" bgcolor="#FFFF99"><strong>Date de la modification</strong></th>
  7.         <th width="110" align="center" valign="middle" bgcolor="#FFFF99"><strong>Date de la d&eacute;modification</strong></th>
  8.         <th width="110" align="center" valign="middle" bgcolor="#FFFF99"><strong>Information modifi&eacute;e</strong></th>
  9.         <td width="74" align="center" valign="middle" bgcolor="#FFFF99"><strong>Suivi des activit&eacute;es (d&eacute;compte)</strong></td>
  10.         <td width="64" align="center" valign="middle" bgcolor="#FFFF99"><strong>Activit&eacute;e restante</strong></td>
  11.         <td width="110" align="center" valign="middle" bgcolor="#FFFF99"><strong> Activit&eacute;e modifi&eacute;e</strong></td>
  12.         <th width="108" align="center" valign="middle" bgcolor="#BBFFD7"><strong>NMR</strong></th>
  13.         <td width="83" align="center" valign="middle" bgcolor="#BBFFD7"><strong>Applicabilit&eacute;</strong></td>
  14.         <td width="115" align="center" valign="middle" bgcolor="#BBFFD7"><strong>Autorisation de mise en vol</strong></td>
  15.         </tr>
  16. <?php
  17. include('../connect.php');
  18. $retour = mysql_query('
  19. SELECT f.*, e.*, c.temp - f.resnbrvol as res, c.*
  20. FROM (SELECT  MAX(id_1) as idmax, SUM(nbrvoleff2) as resnbrvol FROM suivi_rafaletest2 GROUP BY id_3, serial) as f
  21. INNER JOIN suivi_rafaletest2 as e ON e.id_1 = f.idmax
  22. INNER JOIN rafaletest as c ON c.id_a = e.id_3 AND c.valide != "2"
  23. ORDER BY c.nbrnmr, c.lettre
  24. ');
  25. if (! $retour) echo mysql_error();
  26. while ($donnees = mysql_fetch_array($retour))
  27. {
  28. ?>
  29.   <tr>
  30.     <td bgcolor="#CAF4FF">
  31. <?php
  32. echo $donnees['id_1'] = mysql_query('SELECT c_id FROM (SELECT COUNT(id_3) as c_id FROM suivi_rafaletest2 GROUP BY id_3) as f');
  33. $donnees2 = mysql_fetch_array($donnees['id_1']);
  34. if($donnees2['c_id'] == 1)
  35. {
  36. ?>
  37. <a href="<?php echo 'modifier_suivi3.php?modifier_suivi3=' . $donnees['id_1'] . ''; ?>">Modifier</a>
  38. <?php
  39. }
  40. else
  41. {
  42. ?>
  43. <a href="<?php echo 'modifier_suivi3.php?modifier_suivi3=' . $donnees['id_1'] . ''; ?>">MAJ</a>
  44. <?php
  45. }
  46. ?>
  47. </td>
  48.     <td rowspan="4" bgcolor="#FFFF99"><div align="center"><?php echo $donnees['cloture'] ?></div></td>
  49.         <td rowspan="4" bgcolor="#FFFF99"><div align="center"><?php echo $donnees['serial'] ?></div></td>
  50.         <td rowspan="4" bgcolor="#FFFF99"><div align="center"><?php echo $donnees['datemod'] ?></div></td>
  51.         <td rowspan="4" bgcolor="#FFFF99"><div align="center"><?php echo $donnees['datedemod'] ?></div></td>
  52.         <td rowspan="4" bgcolor="#FFFF99"><div align="center"><strong>le</strong> <?php echo date('d/m/Y\ à\ H\H i\m\n', $donnees['timestamp_2']); ?> <strong>par</strong> <?php echo $donnees['pseudo2'] ?></div></td>
  53.         <td rowspan="4" bgcolor="#FFFF99"><div align="center"><?php echo $donnees['nbrvoleff'] ?> - <?php echo $donnees['serial'] ?></div></td>
  54.         <td rowspan="4" bgcolor="#FFFF99"><div align="center"><strong><?php echo $donnees['res'] ?></strong></div></td>
  55.         <td rowspan="4" bgcolor="#FFFF99"><div align="center"><strong>le</strong> <?php echo date('d/m/Y\ à\ H\H i\m\n', $donnees['timestamp_3']); ?> <strong>par</strong> <?php echo $donnees['pseudo2'] ?></div></td>
  56.         <td rowspan="4" bgcolor="#BBFFD7"><div align="center"><?php echo $donnees['nmr'] ?>/<?php echo $donnees['nbrnmr'] ?>/<?php echo $donnees['lettre'] ?></div></td>
  57.         <td rowspan="4" bgcolor="#BBFFD7"><div align="center"><?php echo $donnees['applicabilite'] ?></div></td>
  58.         <td rowspan="2" bgcolor="#BBFFD7"><div align="center"><span class="Style8"><strong>Temporaire :</strong></span></div>
  59.             <div align="center"><?php echo $donnees['temp'] ?> - <?php echo $donnees['unit'] ?></div>
  60.           <div align="center"></div>
  61.           <div align="center"></div></td>
  62.         </tr>
  63.       <tr>
  64.         <td bgcolor="#D9C6FF"><div align="center"><a href="<?php echo 'modifier_suivi2.php?modifier_suivi2=' . $donnees['id_1'] . ''; ?>">+<strong>Vols</strong></a></div></td>
  65.         </tr>
  66.       <tr>
  67.         <td height="10"" align="center" valign="middle" bgcolor="#FFCC99" title"Clic ><div align="center"><?php echo '<a href="suivi_mod.php?suivi_mod=' . $donnees['id_a'] . '">'; ?><strong>Info+</strong></div></td>
  68.         <td rowspan="2" bgcolor="#BBFFD7"><div align="center"><strong><span class="Style8">Reconductible</span> : </strong></div>          <div align="center"><?php echo $donnees['defitv'] ?></div></td>
  69.       </tr>
  70.       <tr>
  71.         <td height="46"" align="center" valign="middle" bgcolor="#FFFFFF" title"Clic ><strong>Affichage :</strong><?php
  72.         if (($donnees['valide']) == 0) { //Afficher "valider" si la news a &eacute;t&eacute; propos&eacute;e
  73.         ?>
  74.             <img src="/images/off.jpg" width="20" height="20" />
  75.             <?php
  76.         }
  77.         else{
  78.         ?>
  79.             <img src="/images/ok.jpg" width="20" height="20" />
  80.             <?php
  81.         }
  82.         ?>            </td>
  83.         </tr>
  84. <?php
  85. // Fin de la boucle qui liste les news
  86. ?>
  87.     </table></td>
  88.   </tr>
  89. </table>


 
Merci d'avance et merci encor pour tous ce que vous avez deja fait.
 


---------------
Ritouné mwen lé ritounin
n°1629244
MagicBuzz
Posté le 23-10-2007 à 12:22:19  profilanswer
 

Code :
  1. SELECT c_id
  2. FROM (SELECT COUNT(id_3) AS c_id
  3. FROM suivi_rafaletest2
  4. GROUP BY id_3) AS f


 
IMHO, il manque un critère de filtre afin de lier le résultat de cette requête à ce que tu as dans $donnees à chaque itération. Là ça retournera toujours la même chose.
 
PS : C'est quoi ce "as f" :heink:

n°1629285
ails
Mwen ké trouvé un bon chimin
Posté le 23-10-2007 à 13:32:41  profilanswer
 

salut MagicBuzz y sert a rien en fait :-( le as f  
oui c'est comme tu la dit cela retourne toujour la meme chose
et la et la question quel genre de critere de filtre je doit placer ?  
 
IMHO c'est quoi donc .?. j ai cherche et je trouve pas ce que ca veut dir lol

n°1629327
jpcheck
Pioupiou
Posté le 23-10-2007 à 14:09:41  profilanswer
 

IMO = In My Opinion <=>AMA
IMHO = In My Humble Opinion <=> AMHA

n°1629343
ails
Mwen ké trouvé un bon chimin
Posté le 23-10-2007 à 14:20:47  profilanswer
 

dans ce code j ai tenté de lier l id_1 de la requete principale a la requete qui affiche les bouton mais cela na rien changer comment je peut fair pour qui la verifie a chaque ligne .?  
 
merci
 

Code :
  1. <?php
  2. include('../connect.php');
  3. $retour = mysql_query('
  4. SELECT f.*, e.*, c.temp - f.resnbrvol as res, c.*
  5. FROM (SELECT  MAX(id_1) as idmax, SUM(nbrvoleff2) as resnbrvol FROM suivi_rafaletest2 GROUP BY id_3, serial) as f
  6. INNER JOIN suivi_rafaletest2 as e ON e.id_1 = f.idmax
  7. INNER JOIN rafaletest as c ON c.id_a = e.id_3 AND c.valide != "2"
  8. ORDER BY c.nbrnmr, c.lettre
  9. ');
  10. if (! $retour) echo mysql_error();
  11. while ($donnees = mysql_fetch_array($retour))
  12. {
  13. ?>
  14. <?php
  15. $donnees['id_1']=mysql_query('SELECT c_id FROM (SELECT COUNT(id_3) as c_id FROM suivi_rafaletest2 GROUP BY id_3)');
  16. $donnees2 = mysql_fetch_array($donnees['id_1']);
  17. if($donnees2['c_id'] == 1)
  18. {
  19. ?>
  20. <a href="<?php echo 'modifier_suivi3.php?modifier_suivi3=' . $donnees2['id_1'] . ''; ?>">Modifier</a>
  21. <?php
  22. }
  23. else
  24. {
  25. ?>
  26. <a href="<?php echo 'modifier_suivi3.php?modifier_suivi3=' . $donnees2['id_1'] . ''; ?>">MAJ</a>
  27. <?php
  28. }
  29. ?>


---------------
Ritouné mwen lé ritounin
n°1629358
MagicBuzz
Posté le 23-10-2007 à 14:53:15  profilanswer
 

nan, faut que tu rajoutes un where dans ton select, et que tu fasses un filtre du genre :
 

Code :
  1. monchampquivabien = $donnees['id_1']


Message édité par MagicBuzz le 23-10-2007 à 14:53:28
mood
Publicité
Posté le 23-10-2007 à 14:53:15  profilanswer
 

n°1629474
ails
Mwen ké trouvé un bon chimin
Posté le 23-10-2007 à 16:27:22  profilanswer
 

Code :
  1. <?php
  2. $donnees['id_1']=mysql_query('SELECT c_id FROM (SELECT COUNT(id_1) as c_id FROM suivi_rafaletest2 GROUP BY id_3) as z
  3. INNER JOIN suivi_rafaletest2 as y ON y.id_1 = z.id_1');
  4. $donnees2 = mysql_fetch_array($donnees['id_1']);
  5. IF($donnees2['c_id'] == 1)
  6. {
  7. ?>
  8. <a href="<?php echo 'modifier_suivi3.php?modifier_suivi3=' . $donnees2['id_1'] . ''; ?>">Modifier</a>
  9. <?php
  10. }
  11. else
  12. {
  13. ?>
  14. <a href="<?php echo 'modifier_suivi3.php?modifier_suivi3=' . $donnees2['id_1'] . ''; ?>">MAJ</a>
  15. <?php
  16. }
  17. ?>


 j ai fait ca mais marche pas : / autre chose ?


---------------
Ritouné mwen lé ritounin
n°1629500
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-10-2007 à 16:46:33  profilanswer
 

Code :
  1. #
  2. SELECT
  3.  c_id
  4. FROM
  5. (SELECT COUNT(id_1) AS c_id FROM suivi_rafaletest2 GROUP BY id_3) AS z
  6. INNER JOIN suivi_rafaletest2 AS y ON y.id_1 = z.id_1


ça peut pas marcher  ...
tu jointes y et z sur id_1 mais le champs z.id_1 n'existe pas ...
Le "Random programming" et le SQL ont rarement fait bon ménage :o


Message édité par anapajari le 23-10-2007 à 16:46:47
n°1629516
ails
Mwen ké trouvé un bon chimin
Posté le 23-10-2007 à 17:02:43  profilanswer
 

oui ... en fait j avais mis c_id mais de toute maniere rien ne marche dans tout les test que j ai fait je comprend pas :(  
 
ma table :
 
id_1(clé unique) id_3(clé pour les group) et le reste info simple...
et avec ca rien ne marche :/ mons script n est pas bon ???
 

n°1629863
ails
Mwen ké trouvé un bon chimin
Posté le 24-10-2007 à 10:29:48  profilanswer
 

Bonjour!
 
je continu mes test et rien ne va, j'ai toujours la meme chose sur chaque ligne snif :(  :pfff:  
 
j ai plus beaucoup de temp pour finir cette petite aplication et je ne veut pas trop la laissé comme cela pour mes utilisateurs, donc je m'en remet a vous si vous pouvez me dir ou me donné un exemple complet du script alors vous me sauvez la vie si non ... je suis mal... :sweat:  
 
merci a tous ce qui mon aidé et ceux qui ce sont posé la question.
ails.


---------------
Ritouné mwen lé ritounin

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete affiche un bouton AouB dans un array qui verifi a chaque ligne

 

Sujets relatifs
clic unique sur bouton dans page htmlIcône à la place d'un bouton
[ADO.NET] Requete sur dataset avec subquery[ACCESS/SQL] Mot de passe dans Requête
I need help ! Requete MySQL sur plusieurs tablerequête multitables
souci de prog et de requeteProbleme de requête SQL
Pb formulaire avec bouton radio[Résolu] PHP en ligne de commande et les includes
Plus de sujets relatifs à : requete affiche un bouton AouB dans un array qui verifi a chaque ligne


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