par
Ryle » 11 janv. 2016, 17:52
Bonjour,
Ce code fonctionne, mais n'est pas optimisé, puisque après avoir compté le nombre d'enregistrement et avoir constaté qu'il était de 0, tu vas quand même aller chercher le contenu de la table pour vérifier les cas suivants (alors que si la table est vide, il est fort probable que ses colonnes le soient également

)
Tu peux également éviter la requête supplémentaire en comptant le nombre de fois où tu es entré dans le while. En effet, si tu n'entre jamais dans la boucle, c'est qu'aucun enregistrement n'a été trouvé :
$rst = $bdd->query('SELECT macolonne from matable');
$result = false; // flag true/false pour contrôler s'il y a des résultats (on peut aussi utiliser un compteur)
while ($donnees = $rst->fetch()) {
$result = true; // il y a au moins un résultat
$macolonne = $donnees['macolonne'];
if (empty($macolonne)) {
echo 'mon autre texte';
}
else {
echo $macolonne; // pas d'apostrophe autour de la variable, sinon php écrira $macolonne en toutes lettres ;)
}
}
if (!$result) { // aucun résultat trouvé
echo 'noooon rien de rieeeennn...';
}
Bonjour,
Ce code fonctionne, mais n'est pas optimisé, puisque après avoir compté le nombre d'enregistrement et avoir constaté qu'il était de 0, tu vas quand même aller chercher le contenu de la table pour vérifier les cas suivants (alors que si la table est vide, il est fort probable que ses colonnes le soient également ;))
Tu peux également éviter la requête supplémentaire en comptant le nombre de fois où tu es entré dans le while. En effet, si tu n'entre jamais dans la boucle, c'est qu'aucun enregistrement n'a été trouvé :
[php]$rst = $bdd->query('SELECT macolonne from matable');
$result = false; // flag true/false pour contrôler s'il y a des résultats (on peut aussi utiliser un compteur)
while ($donnees = $rst->fetch()) {
$result = true; // il y a au moins un résultat
$macolonne = $donnees['macolonne'];
if (empty($macolonne)) {
echo 'mon autre texte';
}
else {
echo $macolonne; // pas d'apostrophe autour de la variable, sinon php écrira $macolonne en toutes lettres ;)
}
}
if (!$result) { // aucun résultat trouvé
echo 'noooon rien de rieeeennn...';
}[/php]