Problème php / mysql
Résolu
tlr
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
tlr Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
tlr Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un souci concernant une requete avec la fonction mysql_fetch_row. Je souhaite utiliser sa fonction "nul" mais celle ci m'ignore une ligne à chaque fois. Je vous donne le code se sera plus simple pour visualiser :
$link = mysql_connect($serveur, $usersql, $passsql);
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
echo 'Connection serveur Ok !<br /><br />';
$db_selected = mysql_select_db('ca-commut', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
else{
echo "Connexion base de donnée Ok !<br /><br />";
}
$sql="SELECT * FROM bk_css LIMIT 0,30";
$requete=mysql_query($sql);
if(mysql_fetch_row($requete)){
while($ligne = mysql_fetch_row($requete)){
echo $ligne[0]."<br />";
}
echo "<br />";
}
else{
echo "Aucune période critique enregistrée dans la base de données.";
}
if(mysql_close($link)){
echo "Deconnexion serveur Ok !<br /><br />";
}
Comme on peut voir, je cherche à savoir d'abord si j'ai des résultats retournés. Si oui il les traite une par une, sinon il affiche "Aucune période critique enregistrée dans la base de données".
Le problème c'est qu'en cherchant à savoir s'il y a des résultats retournés, la première ligne que la bdd me retourne est ignorée purement et simplement.
J'ai chercher sur plein de site j'ai pas reussi à trouver une réponse sérieuse (autre que passer par deux requetes).
Je vous remercie
J'ai un souci concernant une requete avec la fonction mysql_fetch_row. Je souhaite utiliser sa fonction "nul" mais celle ci m'ignore une ligne à chaque fois. Je vous donne le code se sera plus simple pour visualiser :
$link = mysql_connect($serveur, $usersql, $passsql);
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
echo 'Connection serveur Ok !<br /><br />';
$db_selected = mysql_select_db('ca-commut', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
else{
echo "Connexion base de donnée Ok !<br /><br />";
}
$sql="SELECT * FROM bk_css LIMIT 0,30";
$requete=mysql_query($sql);
if(mysql_fetch_row($requete)){
while($ligne = mysql_fetch_row($requete)){
echo $ligne[0]."<br />";
}
echo "<br />";
}
else{
echo "Aucune période critique enregistrée dans la base de données.";
}
if(mysql_close($link)){
echo "Deconnexion serveur Ok !<br /><br />";
}
Comme on peut voir, je cherche à savoir d'abord si j'ai des résultats retournés. Si oui il les traite une par une, sinon il affiche "Aucune période critique enregistrée dans la base de données".
Le problème c'est qu'en cherchant à savoir s'il y a des résultats retournés, la première ligne que la bdd me retourne est ignorée purement et simplement.
J'ai chercher sur plein de site j'ai pas reussi à trouver une réponse sérieuse (autre que passer par deux requetes).
Je vous remercie
A voir également:
- Problème php / mysql
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
6 réponses
Salut,
Je comprend pas tres bien ton pb.
Je ne sais pas si ça varépondre à ton pb mais moi, pour voir s'il y a des résultats dans ma Bdd, je fais un
Autre façon de faire : tu prend un ou plusieurs champs par exemple ID, et tu regardes s'il est vide :
Je comprend pas tres bien ton pb.
Je ne sais pas si ça varépondre à ton pb mais moi, pour voir s'il y a des résultats dans ma Bdd, je fais un
SELECT count(*) ...Si celui-ci me revois zéro : il n'y a rien.
Autre façon de faire : tu prend un ou plusieurs champs par exemple ID, et tu regardes s'il est vide :
while($ligne = mysql_fetch_row($requete)) { if(empty($ligne[ID])) { //traitement } else { //traitement } }
Ah oui, ok j'ai compris. Ben c'est bizarre car ton code paraît bon...
J'avoue qu'en PHP je ne suis pas un craque, je calle !
Bon courage !
A+
J'avoue qu'en PHP je ne suis pas un craque, je calle !
Bon courage !
A+
Le problème avec le "count", c'est que sa m'oblige a faire deux requete. La prmeiere pour savoir s'il y a des valeur et la deuxième pour le traitement.
J'ai ici un lien permettant pour détecter un résultat nul : https://www.commentcamarche.net/contents/784-php-bases-de-donnees (voir tout en bas).
J'ai fais exactement le même exemple, rien a faire, j'ai toujours la première ligne de la requete qui est ignorer. Elle ne s'affiche pas.
Merci
J'ai ici un lien permettant pour détecter un résultat nul : https://www.commentcamarche.net/contents/784-php-bases-de-donnees (voir tout en bas).
J'ai fais exactement le même exemple, rien a faire, j'ai toujours la première ligne de la requete qui est ignorer. Elle ne s'affiche pas.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
non non, j'ai fais l'inverse par rapport à l'exemple.
C'est a dire que je test si mysql_fetch_row contient des information (n'est pas NUL). Alors que dans l'exemple, au contraire il test en premier savoir s'il est nul.
D'ou le ! dans le if dans l'exemple et pas moi.
D'ailleurs l'exemple fonctionne chez moi, rien à dire. Comme je l'ai dis, c'est juste que j'ai la première ligne de ma requete ignorer.
Par exemple, si ma requete doit me retourné une série de chiffe : 1, 2, 3, 4, ...
Moi j'aurai 2, 3, 4, ... quelque doit le ORDER ou le GROUP BY, la première ligne ne s'affiche pas
C'est a dire que je test si mysql_fetch_row contient des information (n'est pas NUL). Alors que dans l'exemple, au contraire il test en premier savoir s'il est nul.
D'ou le ! dans le if dans l'exemple et pas moi.
D'ailleurs l'exemple fonctionne chez moi, rien à dire. Comme je l'ai dis, c'est juste que j'ai la première ligne de ma requete ignorer.
Par exemple, si ma requete doit me retourné une série de chiffe : 1, 2, 3, 4, ...
Moi j'aurai 2, 3, 4, ... quelque doit le ORDER ou le GROUP BY, la première ligne ne s'affiche pas