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

SQL Procédural MySQL Discussion :

mysql_fetch_assoc renvoi n - 1 résultats


Sujet :

SQL Procédural MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 192
    Par défaut mysql_fetch_assoc renvoi n - 1 résultats
    Bonjour à tous,

    J'ai fait une petite fonction pour afficher des résultats suivant la requête envoyée, le tableau de résultat étant créé à la volée, et le problème est que mysql_fetch_assoc ne renvoi pas le premier résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    	function getResult($display=false)
    	{
    		$result = $this->db->query($this->query);
    		$res = $result;
    		$nb = $this->db->num_rows($result);
     
    		// the table :
    		$html .= h::oTable();
    		// titles :
    		$html .= h::oRow();
    		$item = $this->db->fetch_assoc($res);
    		foreach($item as $key => $value)
    		{
    			$html .= h::pCell(h::b($key));
    		}
    		$html .= h::cRow();
    		// datas
    		$i = 0;
    		while($item = $this->db->fetch_assoc($result))
    		{
    			$item = u::decode($item);
    			$html .= h::oRow();
    			foreach($item as $key => $value)
    			{
    				$html .= h::pCell(stripslashes($value));
    			}
    			$html .= h::cRow();
    			$i++;
    		}
    		echo 'nb de tours : '.$i.h::br();
    		echo 'nb de réponses : '.$nb.h::br();
    		$html .= h::cTable();
    		if($display) echo $html;
    		else return $html;
    	}
    les fonctions de la classe "h" sont des fonctions générant du html, u::decode sert pour décoder l'utf8.

    et le résultat donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    nb de tours : 4
    nb de réponses : 5
    statusID 	status_label
    2 	confirmed
    3 	accepted
    4 	staff
    9 	rejected
    au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    nb de tours : 5
    nb de réponses : 5
    statusID 	status_label
    1       unconfirmed
    2 	confirmed
    3 	accepted
    4 	staff
    9 	rejected
    la fonction mydb::fetch_assoc() est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	function fetch_assoc($result)
    	{
    		$resultTable = mysql_fetch_assoc($result);
    		return $resultTable;
    	}
    Je ne vois pas vraiment pas pourquoi ce fetch_assoc ne renvoi pas le premier résultat, si quelqu'un pouvait m'aider, ce serait fort sympa

    Cordialement,

    mathias

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Par défaut
    Au lieu de la ligne suivant:

    $res = $result;

    Essaie plutôt:

    $res = $this->db->query($this->query);

  3. #3
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 192
    Par défaut
    Effectivement ça marche, merci beaucoup : )

    Le fait de recopier le résultat dans une aute variable "consommait" la première ligne de résultat...

    a+

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Par défaut
    Je suis bien content de t'avoir aidé à résoudre ton problème !

    Bonne journée

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

Discussions similaires

  1. Requete qui ne renvoie pas de résultat
    Par bruno782 dans le forum Requêtes
    Réponses: 6
    Dernier message: 01/08/2019, 13h39
  2. Réponses: 2
    Dernier message: 24/02/2010, 09h01
  3. [MySQL] problème requête renvoie 1 seul résultat
    Par Daviloppeur dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/02/2010, 09h58
  4. Renvoie d'un résultat de formulaire dans un module global
    Par Tipstitou dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/03/2009, 12h46
  5. Fonction récursive qui ne renvoie pas le résultat
    Par mathieugamin dans le forum Langage
    Réponses: 4
    Dernier message: 05/11/2007, 10h29

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