Alors je coince ici.
Je comprend pas qu'est ce que ça signifie.
if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ...
echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
$cpt++; // on incrémente le compteur pour savoir où on en est
au départ $cpt = 0 et $nbCols=3
Ça tombe bien c'est ce que je veux faire.
Avant dans le code je ne vois pas à un seul moment $cpt ou $nbCols se modifié.
Donc pour moi cette ligne signifie
Si 0/3==3-1 (ou si 0 est strictement égale à 2), si le résultat est égale à 2, on va à la ligne.
J'ai testé le code, ca va bien à la ligne.
Bon après je suis allez voir ce que voulai dire ce i++ que je vois partout.
Alors en claire c'est un raccourci pour écrire $cpt = $cpt + 2
C'est pas comme ci j'allais le savoir du premier coup, j'apprends, maintenant je sais, je ferai le mec qui trouve ça évident
Aussi par habitude j'ai utilisé mysql_fetch_arrow plutot que mysql_fetch_assoc, j'ai regardé dans le manuel :
mysql_fetch_assoc() retourne un tableau associatif qui contient la ligne lue dans le résultat result et déplace le pointeur interne de données. mysql_fetch_assoc() revient à appeler la fonction mysql_fetch_array() avec MYSQL_ASSOC en tant que second paramètre. Cette fonction retourne uniquement un tableau associatif.
Tableau associatif c'est quoi?
Pareil je suis allé voir en quoi MYSQL_ASSOC faisait la petite différence
En utilisant MYSQL_ASSOC, vous ne récupérerez que les indices associatifs (comme le fonctionnement de la fonction mysql_fetch_assoc()), en utilisant MYSQL_NUM, vous ne récupérerez que les indices numériques (comme le fonctionnement de la fonctionmysql_fetch_row()).
indices associatifs, indices numérique?
Je suis également allez voir mysql_fetch_array.
Bon ok j'ai peut-être pas fais epitech ou une autre école d'informatique, mais je pense que indices associatifs/numériques, ça ne veux pas rien dire que à moi
Je reviens sur le code :
$cpt++ j'ai bien compris que ça donnai comme calcule :
$cpt = 0
$nbCols = 3
1er boucle :
0/3 = 3-1 (0 = 2), $cpt = 2, on continue
2eme boucle
2/3 = 3-1 (0.66 = 2), $cpt = 4, on continue
3eme boucle
4/3 = 3-1 (1.33 = 2), $cpt = 6, on continue (?? on est déjà à la 3eme photos affiché de la 3eme colonne, et il nous faut une 4eme colonne, la je me plante ok)
4eme boucle
6/3 = 3-2 (2 = 2), bon ça n'a pas de sens ok, vous allez m'expliquez ou je me plante.
Enfin, je dois ajouté une deuxieme ligne dans ma boucle.
Un 2eme <tr> et </tr> au début et à la fin d'une ligne mais pas dans la boucle, mais dans la boucle quand même, c'est encore avec les modulos évidement.
Mais je ne l'ai jamais fais, et je pensai que c'est quelque chose de courant, qu'on apprends avec les exemples, mais ca ne figure dans aucun tuto.
Alors bien sur vous me direz je peux pensé le truc, essayé de faire des tests pour y arriver, mais je n'y arrive pas :S
Je bloque la dessus.
if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille...
echo '</tr>'; // ... et on ferme la ligne
Si le compteur n'est pas égale à 0 et le compteur/3 n'est pas égale à 0 (comment le compteur peut être à 0 a la fin, on viens de l'incrémenter plein de fois sans le remettre à 0, j'en conclu que cette ligne est obselete et que seul le second paramètre est utile, mais ensemble avec &&, il ne se passera rien. je sais que ce n'est pas obselete, mais je n'arrive pas à comprendre.
Dans ce cas on rajoute une colonne qui est fusionner avec celle qui manque : 3 - ($cpt/3) => si $cpt = 4, 4/3 = 0.66, on va crée une colonne de 3-0.66 ?
Bon après on ferme la ligne logiquement.
Voila svp un peu d'explication car c'est ce qui me dérangeai en lisant ce tuto, c'est que je devais tout détaillé pour expliquez que j'arriverai à rien par moi même si je ne comprends pas, et en l'occurence, le tutos m'a pas plus a cause de toute ses interrogations.
Merci

Alors je coince ici.
Je comprend pas qu'est ce que ça signifie.
[php]if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ...
echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
$cpt++; // on incrémente le compteur pour savoir où on en est[/php]
au départ $cpt = 0 et $nbCols=3
Ça tombe bien c'est ce que je veux faire.
Avant dans le code je ne vois pas à un seul moment $cpt ou $nbCols se modifié.
Donc pour moi cette ligne signifie
Si 0/3==3-1 (ou si 0 est strictement égale à 2), si le résultat est égale à 2, on va à la ligne.
J'ai testé le code, ca va bien à la ligne.
Bon après je suis allez voir ce que voulai dire ce i++ que je vois partout.
Alors en claire c'est un raccourci pour écrire $cpt = $cpt + 2
C'est pas comme ci j'allais le savoir du premier coup, j'apprends, maintenant je sais, je ferai le mec qui trouve ça évident :P
Aussi par habitude j'ai utilisé mysql_fetch_arrow plutot que mysql_fetch_assoc, j'ai regardé dans le manuel :
[quote]mysql_fetch_assoc() retourne un tableau associatif qui contient la ligne lue dans le résultat result et déplace le pointeur interne de données. mysql_fetch_assoc() revient à appeler la fonction mysql_fetch_array() avec MYSQL_ASSOC en tant que second paramètre. Cette fonction retourne uniquement un tableau associatif.[/quote]
Tableau associatif c'est quoi?
Pareil je suis allé voir en quoi MYSQL_ASSOC faisait la petite différence
[quote]En utilisant MYSQL_ASSOC, vous ne récupérerez que les indices associatifs (comme le fonctionnement de la fonction mysql_fetch_assoc()), en utilisant MYSQL_NUM, vous ne récupérerez que les indices numériques (comme le fonctionnement de la fonctionmysql_fetch_row()).[/quote]
indices associatifs, indices numérique?
Je suis également allez voir mysql_fetch_array.
Bon ok j'ai peut-être pas fais epitech ou une autre école d'informatique, mais je pense que indices associatifs/numériques, ça ne veux pas rien dire que à moi :D
Je reviens sur le code :
$cpt++ j'ai bien compris que ça donnai comme calcule :
$cpt = 0
$nbCols = 3
1er boucle :
0/3 = 3-1 (0 = 2), $cpt = 2, on continue
2eme boucle
2/3 = 3-1 (0.66 = 2), $cpt = 4, on continue
3eme boucle
4/3 = 3-1 (1.33 = 2), $cpt = 6, on continue (?? on est déjà à la 3eme photos affiché de la 3eme colonne, et il nous faut une 4eme colonne, la je me plante ok)
4eme boucle
6/3 = 3-2 (2 = 2), bon ça n'a pas de sens ok, vous allez m'expliquez ou je me plante.
Enfin, je dois ajouté une deuxieme ligne dans ma boucle.
Un 2eme <tr> et </tr> au début et à la fin d'une ligne mais pas dans la boucle, mais dans la boucle quand même, c'est encore avec les modulos évidement.
Mais je ne l'ai jamais fais, et je pensai que c'est quelque chose de courant, qu'on apprends avec les exemples, mais ca ne figure dans aucun tuto.
Alors bien sur vous me direz je peux pensé le truc, essayé de faire des tests pour y arriver, mais je n'y arrive pas :S
Je bloque la dessus.
[php]if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille...
echo '</tr>'; // ... et on ferme la ligne[/php]
Si le compteur n'est pas égale à 0 et le compteur/3 n'est pas égale à 0 (comment le compteur peut être à 0 a la fin, on viens de l'incrémenter plein de fois sans le remettre à 0, j'en conclu que cette ligne est obselete et que seul le second paramètre est utile, mais ensemble avec &&, il ne se passera rien. je sais que ce n'est pas obselete, mais je n'arrive pas à comprendre.
Dans ce cas on rajoute une colonne qui est fusionner avec celle qui manque : 3 - ($cpt/3) => si $cpt = 4, 4/3 = 0.66, on va crée une colonne de 3-0.66 ?
Bon après on ferme la ligne logiquement.
Voila svp un peu d'explication car c'est ce qui me dérangeai en lisant ce tuto, c'est que je devais tout détaillé pour expliquez que j'arriverai à rien par moi même si je ne comprends pas, et en l'occurence, le tutos m'a pas plus a cause de toute ses interrogations.
Merci :P