IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Petit soucis avec mysql_fetch_row [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par défaut Petit soucis avec mysql_fetch_row
    Bonjour,
    Je tente de verifier que mysql_fetch_row($res) contient bien quelque chose pour cela je faisais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(mysql_fetch_row($res)==""){
    		echo "Aucune données !</select></td>";
    	    exit();
    	}
    	while($ligne=mysql_fetch_row($res)){
          	echo "<option value=$ligne[0]>$ligne[0]</option>";
    	}
    Le problème c'est qu'il mange la première ligne, donc pour peu que je n'ai qu'une ligne de résultat, je n'aurai aucune réponse, sinon il me manque un résultat, le premier.

    J'ai tenté ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while($ligne=mysql_fetch_row($res)){
    	if ($ligne==''){
    		$reg="Aucune données !";
    	}else{
       		$reg=$ligne[0];
    	}
    }
    Mais si mysql_fetch_row ne contient aucun résultat il ne rentre pas dans la boucle et donc je n'est pas le message "aucune données !" mais un beau message d'erreur disant que $reg existe pas !

    J'ai pas d'idée pour passer outre ces problèmes ... merci d'avance pour tout aide ...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    On peut utiliser diverses manières pour arriver à cette fin :
    • Utiliser la fonction mysql_num_rows avant
    • Compter le nombre de lignes avec la fonction d'aggrégation COUNT
    • Utiliser une variable qui servira de compteur

    (j'ai pas listé celles qui sont crades).
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $res = mysql_query('...');
    if ($res && mysql_num_rows($res) > 0) {
        echo '<select name="X">';
        while($ligne=mysql_fetch_row($res)) {
            echo "<option value=$ligne[0]>$ligne[0]</option>";
       }
       echo '</select>';
    } else {
       echo "Aucune donnée !";
    }
    Note : inutile de faire une boucle si vous savez que vous ne récupérez qu'une seule ligne.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 11
    Par défaut
    Ouiiiiiiiiiiii ça marche merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit soucis avec mon graveur
    Par Vador dans le forum Périphériques
    Réponses: 8
    Dernier message: 02/11/2005, 14h58
  2. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  3. Petit souci avec clause where
    Par ybruant dans le forum SQL
    Réponses: 1
    Dernier message: 21/07/2005, 22h10
  4. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo