Forum Clubic

[PHP/MySQL] Comment exploiter un alias de table en php ?

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 :confused:

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 :slight_smile:
tu utilise mal la fonction.

c’est [cpp]while($enr = mysql_fetch_array($sqlr))[/cpp]

désolé faute de frappe :smiley:
en fait j’obtiens des résultats de ma requete tant que je n’utilise pas d’alias en php :wink:

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 :jp:,
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: