par
Cyrano » 10 sept. 2006, 14:33
Ok, on va décortiquer un peu ça parce que tu fais des confusions.
D'abord, les accolades : à la rigueur, à la place de '{$pages['code']}', tu aurais pu utiliser à la place de '". $pages['code'] ."' : c'est une des manières de faire une concaténation entre une chaine de caractères et du code PHP;
Ensuite, $pages ne fait pas référence à la table nommée "pages" mais àla variable définie juste au dessus :
<?php
//...
while ($pages = mysql_fetch_assoc($pages_result))
//...etc...
?>
Ici, la variable $pages est une ressource qui correspond au retour de MySQL : c'est un tableau associatif dont les index sont les noms des colonnes de ta table : donc, dans cette table, tu as un champ nommé "code" : ça aura pour conséquence que dans le tableau renvoyé par MySQL, $pages['code'] pour la ligne en cours de traitement correspondra à la valeur du champ "code" de la table "pages" tel que défini dans ta requête.
Mais comprends bien une chose : si au lieu de $pages tu avais mis par exemple $lignes, ton while aurait donc été :
<?php
//...
while ($lignes = mysql_fetch_assoc($pages_result))
//...etc...
?>
Il aurait fallu plus loin inscrire $lignes['code'] pour obtenir strictement la même chose.
Est-ce que c'est moins obscur comme ça ?
Ok, on va décortiquer un peu ça parce que tu fais des confusions.
D'abord, les accolades : à la rigueur, à la place de '{$pages['code']}', tu aurais pu utiliser à la place de '". $pages['code'] ."' : c'est une des manières de faire une concaténation entre une chaine de caractères et du code PHP;
Ensuite, $pages ne fait pas référence à la table nommée "pages" mais àla variable définie juste au dessus :
[php]<?php
//...
while ($pages = mysql_fetch_assoc($pages_result))
//...etc...
?>[/php]
Ici, la variable $pages est une ressource qui correspond au retour de MySQL : c'est un tableau associatif dont les index sont les noms des colonnes de ta table : donc, dans cette table, tu as un champ nommé "code" : ça aura pour conséquence que dans le tableau renvoyé par MySQL, $pages['code'] pour la ligne en cours de traitement correspondra à la valeur du champ "code" de la table "pages" tel que défini dans ta requête.
Mais comprends bien une chose : si au lieu de $pages tu avais mis par exemple $lignes, ton while aurait donc été :
[php]<?php
//...
while ($lignes = mysql_fetch_assoc($pages_result))
//...etc...
?>[/php]
Il aurait fallu plus loin inscrire $lignes['code'] pour obtenir strictement la même chose.
Est-ce que c'est moins obscur comme ça ?