Probleme de requette sur mysql - PHP - Programmation
Marsh Posté le 18-02-2003 à 15:04:23
benwar a écrit : je me suis mal expliqué ? |
Marsh Posté le 18-02-2003 à 15:23:19
----------------------
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é.
Marsh Posté le 18-02-2003 à 15:27:16
benwar 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.
Marsh Posté le 18-02-2003 à 15:39:57
tomlameche a écrit : |
je v tester tout de suite merci
Marsh Posté le 18-02-2003 à 15:43:36
la syntaxe est bonne ?
$req = mysql_query("SELECT * FROM $table_3 AND SELECT * FROM $table WHERE id='$arbo_Art_temp'" ); |
Marsh Posté le 18-02-2003 à 15:53:16
benwar a écrit : la syntaxe est bonne ?
|
bon cela ne marche pas !
Marsh Posté le 18-02-2003 à 16:04:46
Ta syntaxe n'est pas bonne nan !
ca serait plutôt qqchose dans ce genre :
Code :
|
Marsh Posté le 18-02-2003 à 16:32:55
walli a écrit : Ta syntaxe n'est pas bonne nan !
|
ca marche po
Marsh Posté le 18-02-2003 à 16:34:33
benwar 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 !
Marsh Posté le 18-02-2003 à 16:44:25
walli 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 ...
Marsh Posté le 18-02-2003 à 16:45:21
bon je me reexplique :
1er requette :
|
tableau en html :
1er enregistrement : |<? echo "$arbo_Art"; ?>|<? echo "$titre"; ?>|
2nd enregistrement : |<? echo "$arbo_Art"; ?>|<? echo "$titre"; ?>|
etc...
<? $i++; |
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.
Marsh Posté le 18-02-2003 à 16:47:15
tomlameche a écrit : |
excuse mais ca fait deja 2 jours que je me prend la tete dessus et ct plutot a titre humouristique.
Enfin dsl .
Marsh Posté le 19-02-2003 à 12:29:50
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.
Marsh Posté le 19-02-2003 à 13:08:10
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 :
|
plutot que
Code :
|
utilise plutot un
Code :
|
Marsh Posté le 18-02-2003 à 14:47:34
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 :
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.