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

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de requette sur mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de requette sur mysql

n°312023
benwar
Posté le 18-02-2003 à 14:47:34  profilanswer
 

Bonjour, j'ai un petit probleme je ne c pas comment faire pour envoyer une 2eme requette mysql qui serais dans un boucle bon un exemple et vous allez comprendre :  
 

Code :
  1. <?
  2.                  
  3. $req = mysql_query("SELECT * FROM $table_3" );
  4. $res = mysql_numrows($req);
  5.          
  6. $i=0;         
  7. WHILE($res!=$i)
  8.     {
  9.    $id = mysql_result($req,$i,"id_Art" );
  10.    $titre = mysql_result($req,$i,"titre_Art" ); 
  11.    $data = mysql_result($req,$i,"data_Art" ); 
  12.    $langue = mysql_result($req,$i,"langue_Art" );
  13.    $arbo_Art_temp=mysql_result$req,$i,"arbo_Art" );             
  14. ?>
  15. <table width="90%" border="1" cellspacing="0" cellpadding="0" bordercolor="#000099" align="center">
  16.   <tr>
  17.     <td width="25%">
  18.       <div align="center"><a href="../index.php?id=<? echo $id ?>" target="_blank" class="titre-menu"><? echo $titre; ?></a></div>
  19.     </td>
  20.     <td width="5%"><div align="center"><? echo $arbo_Art; ?></div></td>
  21.     <td width="5%">
  22.       <div align="center"><? echo $langue; ?></div>
  23.     </td>
  24.     <td width="25%">
  25.       <div align="center"><br>
  26.       </div>
  27.       <form method="post" action="admin_modif_article.php">
  28.         <div align="center">
  29.           <input type="hidden" name="id" size="3" value="<? echo $id; ?>" maxlength="5">
  30.           <input type="submit" name="Submit3" value="Modifier <? echo "'$langue'";?>">
  31.         </div>
  32.       </form>
  33.     </td>
  34.   </tr>
  35. </table>
  36. <? $i++;
  37.   }
  38. mysql_close();  ?>

 
 
 
et je voudrai pouvoir demande le champ titre qui a son id = a $arbo_Art_temp dans une autre table et que le resultat a savoir $arbo_Art soit affiché dans mon tableau.
 
Voila bon je c pas si vous avez bien compris mais bon voila.

mood
Publicité
Posté le 18-02-2003 à 14:47:34  profilanswer
 

n°312041
benwar
Posté le 18-02-2003 à 15:02:02  profilanswer
 

je me suis mal expliqué ?

n°312045
tomlameche
Et pourquoi pas ?
Posté le 18-02-2003 à 15:04:23  profilanswer
 
n°312068
benwar
Posté le 18-02-2003 à 15:23:19  profilanswer
 

----------------------
requette sql 1 : donne moi les champs toto tata où le champ titi=1 de la table coucou
----------------------
Maintenant que tu connait la valeur de tata
requette sql 2 : donne moi le champs titre où le champ riri=tata de la table rara
----------------------
affiche moi tous les resultats dans un tableau. (donc boucle)
----------------------
 
Putain je suis vraiment pas bon pour m'expliqué désolé.

n°312075
tomlameche
Et pourquoi pas ?
Posté le 18-02-2003 à 15:27:16  profilanswer
 

benwar a écrit :

----------------------
requette sql 1 : donne moi les champs toto tata où le champ titi=1 de la table coucou
----------------------
Maintenant que tu connait la valeur de tata
requette sql 2 : donne moi le champs titre où le champ riri=tata de la table rara
----------------------
affiche moi tous les resultats dans un tableau. (donc boucle)
----------------------
 
Putain je suis vraiment pas bon pour m'expliqué désolé.


Heu ... Il existe ce qu'on appelle comunément "les jointures" ...
Pourquoi tu ne fait pas :
select bidule truc from table1, table2 where table1.riri = table2.tata and ( tout tes tes filtres sur table1 )
Faire une seule requête quoi.


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°312083
benwar
Posté le 18-02-2003 à 15:39:57  profilanswer
 

tomlameche a écrit :


Heu ... Il existe ce qu'on appelle comunément "les jointures" ...
Pourquoi tu ne fait pas :
select bidule truc from table1, table2 where table1.riri = table2.tata and ( tout tes tes filtres sur table1 )
Faire une seule requête quoi.


 
je v tester tout de suite merci ;)

n°312085
benwar
Posté le 18-02-2003 à 15:43:36  profilanswer
 

la syntaxe est bonne ?  
 

$req = mysql_query("SELECT * FROM $table_3 AND SELECT * FROM $table WHERE id='$arbo_Art_temp'" );

n°312091
benwar
Posté le 18-02-2003 à 15:53:16  profilanswer
 

benwar a écrit :

la syntaxe est bonne ?  
 

$req = mysql_query("SELECT * FROM $table_3 AND SELECT * FROM $table WHERE id='$arbo_Art_temp'" );




 
bon cela ne marche pas !

n°312099
walli
Posté le 18-02-2003 à 16:04:46  profilanswer
 

Ta syntaxe n'est pas bonne nan !
ca serait plutôt qqchose dans ce genre :

Code :
  1. $req = mysql_query("SELECT table3_.*, table.* FROM $table_3, $table WHERE $table.id=$table_3.arbo_Art_temp" );


Message édité par walli le 18-02-2003 à 16:19:51
n°312122
benwar
Posté le 18-02-2003 à 16:32:55  profilanswer
 

walli a écrit :

Ta syntaxe n'est pas bonne nan !
ca serait plutôt qqchose dans ce genre :

Code :
  1. $req = mysql_query("SELECT table3_.*, table.* FROM $table_3, $table WHERE $table.id=$table_3.arbo_Art_temp" );




 
ca marche po  :cry:


Message édité par benwar le 18-02-2003 à 16:33:17
mood
Publicité
Posté le 18-02-2003 à 16:32:55  profilanswer
 

n°312127
walli
Posté le 18-02-2003 à 16:34:33  profilanswer
 

benwar a écrit :


 
ca marche po  :cry:


 
g pas dit que ma syntaxe etait correcte non plus, mais que c'etait quelquechose dans ce style la.
fais une recherche dans google sur les jointures et adapte a ta requete !

n°312146
tomlameche
Et pourquoi pas ?
Posté le 18-02-2003 à 16:44:25  profilanswer
 

walli a écrit :


 
g pas dit que ma syntaxe etait correcte non plus, mais que c'etait quelquechose dans ce style la.
fais une recherche dans google sur les jointures et adapte a ta requete !
 


Pis tu devrai peut être arréter de poster toute les 10 minutes un message du type "Ca marche po" !  
T'imagine un peu si tout ceux qui apprennent se mettent à faire comme toi ? On apprend pas en pausant une question toutes les 10 minutes, faut mettre un peu la main à la pate ... :pfff:


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°312151
benwar
Posté le 18-02-2003 à 16:45:21  profilanswer
 

bon je me reexplique :  
 
1er requette :  


<? $req = mysql_query("SELECT * FROM $table_3" );  
$res = mysql_numrows($req);  
   
$i=0;            
WHILE($res!=$i)  
    {
   $arbo_Art_temp = mysql_result($req,$i,"arbo_Art" );
   $titre = mysql_result($req,$i,"titre_Art" );
?>


tableau en html :
1er enregistrement : |<? echo "$arbo_Art"; ?>|<? echo "$titre"; ?>|
2nd enregistrement : |<? echo "$arbo_Art"; ?>|<? echo "$titre"; ?>|
etc...

<? $i++;  
  }
mysql_close();  ?>


 
Vous avez remarqué que j'affiche dans mon tableau la variable $arbo_Art et non $arbo_Art_temp car $arbo_Art serais le resultat d'une requette sql où je demanderais les enregistrements où le champ id serais = a $arbo_Art_temp.

n°312158
benwar
Posté le 18-02-2003 à 16:47:15  profilanswer
 

tomlameche a écrit :


Pis tu devrai peut être arréter de poster toute les 10 minutes un message du type "Ca marche po" !  
T'imagine un peu si tout ceux qui apprennent se mettent à faire comme toi ? On apprend pas en pausant une question toutes les 10 minutes, faut mettre un peu la main à la pate ... :pfff:  


 
excuse mais ca fait deja 2 jours que je me prend la tete dessus et ct plutot a titre humouristique.
 
Enfin dsl .

n°312907
benwar
Posté le 19-02-2003 à 12:29:50  profilanswer
 

Bonjour, je recapitule mon probleme :
 
1er requette mysql :  
<?
$req = mysql_query("SELECT * FROM $table_3" );  
$res = mysql_numrows($req);  
 
$i=0;  
WHILE($res!=$i)  
{
$id = mysql_result($req,$i,"id_Art" );
$titre = mysql_result($req,$i,"titre_Art" );  
$arbo_Art_temp = mysql_result($req,$i,"arbo_Art" ); ?>
<tr>
<td><? echo "$id"; ?></td>
<td>><? echo "$titre"; ?>td>
<td>><? echo "$arbo_Art"; ?></td>
</tr>
</table>
 
<? $i++;  
}
mysql_close(); ?>
 
Vous avez remarqué que la variable de la 3eme colonne est $arbo_Art et non $arbo_Art_temp comme dans ma premiere requette mysql car je veux envoyer une 2nd requette mysql qui serais :  
 
$req2 = mysql_query("SELECT titre FROM $table WHERE id='$arbo_Art_temp'" );  
$arbo_Art = mysql_result($req2,$i,"titre" );
 
et je voudrai donc que le resultat de la 2nd requette $arbo_Art se mette dans le tableau generé par une boucle de la requette 1.
 
Et là vraiment je suis au dela de mes compétences...  
 
voila ou j'en suis en incluent dans ma requette 1 une jointure :  
 

$req = mysql_query("SELECT *,$table.titre FROM $table_3,$table WHERE $table_3.id=$table.arbo_Art" );


 
Merci d'avance.

n°312960
beleg
黑社會
Posté le 19-02-2003 à 13:08:10  profilanswer
 


ta jointure est pas bonne, tu contredis ton :
FROM $table WHERE id='$arbo_Art_temp'
 
ca serait plutot ca, avec le schema des tables, ca serait qd meme plus facile plutot que de le deviner via le code.
 

Code :
  1. $req = mysql_query("SELECT $table_3.id_art,$table_3.titre_art,$table.titre FROM $table_3,$table WHERE $table_3.arbo_art=$table.id" );


 
 
 
plutot que

Code :
  1. $res = mysql_numrows($req); 
  2. $i=0; 
  3. WHILE($res!=$i) 
  4. {
  5. $id = mysql_result($req,$i,"id_Art" );
  6. $titre = mysql_result($req,$i,"titre_Art" ); 
  7. $arbo_Art_temp = mysql_result($req,$i,"arbo_Art" );


 
utilise plutot un  

Code :
  1. while ($res = mysql_fetch_array($req))
  2. {
  3. $id = $res["id"];
  4. ...
  5. }

n°313060
benwar
Posté le 19-02-2003 à 14:19:45  profilanswer
 

Merci ca marche c cool vraiment merci ;)  :love:


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

  Probleme de requette sur mysql

 

Sujets relatifs
Problème pour mettre 2 AnsiString en 1 seulPTI (pour developpeur) avec MySQL
[Résolu][Php/Oracle] Problème de caractères bizarres après extractionProblème avec PHPBB
sauver des donner ds une table mySQLtrier en php mysql ??
[PhP / MySql] Outils pour débuter[MySQL] Changer le mot de passe de MySQL ?
MySQL : sélection multi-consoles pour un programme de newsproblème de logique
Plus de sujets relatifs à : Probleme de requette sur mysql


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