{MySQL} mise en forme d'une table

Résolu/Fermé
Signaler
Messages postés
707
Date d'inscription
dimanche 13 avril 2008
Statut
Membre
Dernière intervention
20 mai 2021
-
 le père -
Bonjour,
je voudrais faire l'insertion des données d'une table sous forme de tableau sur php
j'ai retrouver un moyen exceptionnel de faire l'affichage sur internet sauf que il y a une fonction while que je ne suis pas arrivée a comprendre l'exécution

la boucle qui permet de faire l'insertion des données est la suivante :

while ($row = mysql_fetch_row($res)) {
echo '<tr>';

for ($j = 0; $j < count($row); $j++) {
echo '<td>';
echo ($row[$j] == NULL) ? '<i>NULL</i>' : $row[$j];
echo '</td>';
}

echo '</tr>';
}

je voudrais savoir la signification de la condition $row=mysql_fect_row($res)
et la signification des mots clé de la commande :
echo ($row[$j] == NULL) ? '<i>NULL</i>' : $row[$j];

sachant que :

$requete='select * from livre";
$res=mysql_query($requete);


es ce que quelqu'un pourrais m'aider svp
merci

2 réponses

Bonjour

$row=mysql_fetch_row($res)
Ceci n'est pas une comparaison, mais une affectation. On appelle la fonction mysql_fetch_row($res) et on met le résultat dans la variable $row.
À chaque appel, on récupère une ligne du résultat $res de l'appel à la requête. Quand il n'y a plus de résultat (il n'y en avait aucun ou on les a déjà tous lus) la fonction rend false;
La valeur de la condition est égale à la valeur de $row : c'est soit 'faux', soit un tableau (assimilé à 'vrai')
echo ($row[$j] == NULL) ? '<i>NULL</i>' : $row[$j];
echo sert à afficher la valeur de ce qui suit
Ce qui suit es tune expression qui utilise l'opérateur ternaire ? :
condition : valeur si vrai : valeur si faux
donc dans ton cas, si $row[$j] (un des champs relu dans la base) est NULL, ça affichera le texte NULL en italique, sinon ça affichera la valeur du champ.
Messages postés
707
Date d'inscription
dimanche 13 avril 2008
Statut
Membre
Dernière intervention
20 mai 2021
4
ok
merci
si j'ai bien compris donc
echo(condition) ? <i>null</i> : valeur

cette fonctionne permet d'afficher null si la condition est vrai, et affiche valeur si la condition est fausse
c'est ca ?

en fete
1/supposant qu'on est sur que tous les valeurs de notre table ne sont pas null
es ce qu'on peux mettre au lieu de :
echo ($row[$j] == NULL) ? '<i>NULL</i>' : $row[$j];

on utilise :

echo '$row[$j]';


2/ supposant que la table contient des valeurs NULL et qu'on utilise l'instruction :
echo '$row[$j]';

les cellules contenant une valeur NULL vont être vide ou il va y avoir une erreur dans l'affichage ?

merci
1/ oui, tout à fait
2/ echo '$row[$j]'; affiche le texte : $row[$j]. C'est echo $row[$j]; (sans les ' ) qui affiche la valeur de la variable $row[$j]. Et j'avoue que quand $row[$j] est null, je ne sais pas ce que ça affiche, ou si ça provoque une erreur.
Mais dans le script de ton message initial, c'est bien le texte NULL en italique qui est affiché.