8768 sujets

Développement web côté serveur, CMS

Bonjour, malgré des recherches poussé et des discutions sur des salon php , aucune personne n'à su m'expliquer pas même la personne qui à écrit ce code . (Donc courage d'avance a vous)



  $sql = "SELECT * FROM utilisateurs";
    $res = mysqli_query($bdd, $sql);

    foreach ($res as $row)
    {
        if ($row["login"] == $pseudo)
        {
            array_push($error, "Le pseudo est déja utilisé");
        }
    }


foreach ($res as $row)

cette déclaration veut elle dire :
parcourir le tableaux "$res" jusqu'à $row ?

le "as veut dire quoi ?"

et même si la réponse et oui ou non , je ne comprend pas du tout comment on peut utiliser la variable $row alors qu'elle n'à pas de valeur donc n'existe pas Smiley bawling

c'est comme ci l'ingrédient d'une soupe était "rien" , on ne peut pas utiliser du rien .. vous comprenez ?? Smiley bawling


ensuite c'est écrit "$row["login"]"

je pensais qu'une variable c'est

- Le nom

=

-la valeur

exemple : $triste = "dure";

alors que là on colle au nom des crochet puis un texte .

et enfin, d'où viens ce login ? c'est un mot au pif ? pour désigner quoi ?


Merci de vôtre aide, vraiment !!
Modérateur
Bonjour
freeeeezi a écrit :

foreach ($res as $row)

cette déclaration veut elle dire :
parcourir le tableaux "$res" jusqu'à $row ?

le "as veut dire quoi ?"

Cela veut dire regarder tous les éléments du tableau $res, et ranger chacun de ses éléments dans la variable $row, variable qui peut ensuite être utilisée dans le code qui est à l'intérieur des {} qui suivent le foreach().

freeeeezi a écrit :

et même si la réponse et oui ou non , je ne comprend pas du tout comment on peut utiliser la variable $row alors qu'elle n'à pas de valeur donc n'existe pas Smiley bawling

Bah si, $row existe. Au premier tour dans la boucle, elle vaut le premier élément de $res, au deuxième tour, elle vaut le deuxième élément de $res, et ainsi de suite jusqu'au dernier tour de la boucle.

freeeeezi a écrit :

ensuite c'est écrit "$row["login"]"

je pensais qu'une variable c'est

- Le nom

=

-la valeur

exemple : $triste = "dure";

alors que là on colle au nom des crochet puis un texte .

et enfin, d'où viens ce login ? c'est un mot au pif ? pour désigner quoi ?

Les variables ne contiennent pas forcément juste une valeur. Elles peuvent aussi contenir des tableaux ou des objets complexes.

Chaque élément de $res est en fait un tableau dont les indices ne sont pas des nombres mais des chaines de caractères. Et $row est une variable contenant un tableau dont l'un des indices est 'login'. Et $row['login'] est la valeur dans $row à l'indice 'login'.

Le mot 'login' provient (probablement) du fait que $res est le résultat d'une requête sur une base de données. $res contient un ensemble de lignes extraites de la base de données (chaque élément du tableau $res est une des lignes extraites), et chacune de ses lignes contient plusieurs champs dont l'un s'appelle 'login'.

Amicalement,
Meilleure solution
J'ai tout compris
on ajoute à chaque tour de boucle la valeur de $res et on l'à met dans $row puis on regarde si je n'ai pas un même login 2 fois , grâce à $row["login"] qui le login est le nom d'une bdd à moi Smiley smile
Modifié par freeeeezi (26 Nov 2020 - 16:42)
parsimonhi a écrit :
Bonjour

Cela veut dire regarder tous les éléments du tableau $res, et ranger chacun de ses éléments dans la variable $row, variable qui peut ensuite être utilisée dans le code qui est à l'intérieur des {} qui suivent le foreach().


Bah si, $row existe. Au premier tour dans la boucle, elle vaut le premier élément de $res, au deuxième tour, elle vaut le deuxième élément de $res, et ainsi de suite jusqu'au dernier tour de la boucle.


Les variables ne contiennent pas forcément juste une valeur. Elles peuvent aussi contenir des tableaux ou des objets complexes.

Chaque élément de $res est en fait un tableau dont les indices ne sont pas des nombres mais des chaines de caractères. Et $row est une variable contenant un tableau dont l'un des indices est 'login'. Et $row['login'] est la valeur dans $row à l'indice 'login'.

Le mot 'login' provient (probablement) du fait que $res est le résultat d'une requête sur une base de données. $res contient un ensemble de lignes extraites de la base de données (chaque élément du tableau $res est une des lignes extraites), et chacune de ses lignes contient plusieurs champs dont l'un s'appelle 'login'.

Amicalement,




Merci beaucoup de ton aide précieuse , Smiley ravi