j’ai une base de données mysql et j’ai besoin de faire une requete en utilisant plusieurs fois la même table.J’ai donc fait des alias de la table concernée dans ma requete.
mais pour les utiliser je fais comment ? j’ai essayé pas mal de truc mais aucun résultat
je pensais faire comme ça :
$sql="SELECT * FROM User t1 ,User t2 WHERE t1.Pro_Id = '2'";
$sqlr=mysql_query($sql);
while($enr(mysql_fetch_array($sqlr))
{
echo $enr['t1.User'];
echo $enr['t2.User'];
}
j’ai essayé plusieurs trucs plus ou moins farfelus mais rien…
alors est-ce que quelqu’un pourrait m’aider à trouver une solution ?
merci :jap:
normal
tu utilise mal la fonction.
c’est [cpp]while($enr = mysql_fetch_array($sqlr))[/cpp]
désolé faute de frappe
en fait j’obtiens des résultats de ma requete tant que je n’utilise pas d’alias en php
Dans ce cas, faut lister tes champs :
[cpp]SELECT
t1.User AS t1_user,
t2.User AS t2_user
FROM User t1 ,User t2 WHERE t1.Pro_Id = 2[/cpp]
Sauf de plus que tu parle de requête SQL qui peut être fausse ou bonne, et qui raméne des résultats dont la fonction mysql_fetch_array te donne pour chaque résultat un couple (clef, valeur)
Effectivement ça marche ,
mais il n’y a pas moyen d’avoir un alias de table que je puisse utiliser en faisant un trcu du style :
$enr['t1.Pro_id'];
donc en utilisant l’alias de table avec le vrai nom du champ,
parce qu’en fait j’ai besoin de tout les champs 2 fois et ça va me faire une requete un peu lourde [:paysan]
non, ça ne conservera que le nom du/des champs
pas grave ça va être plus long mais ça m’a bien dépanné, merci :jap: