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

Langage PHP Discussion :

[Tableaux] Retour d'un tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Par défaut [Tableaux] Retour d'un tableau
    Bonjour,
    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
    function loadCommande(){
    	$rsql = new mysql();
    	$sql = "select nom_ste, commande.date_creation, nom_destination, adr_destination, commune, service, vehicule, value_pack, nombre_pack, poids_pack, description_pack
    			from societe, commande, adresses_commande , commune, services, vehicule
    			where societe.id = ". $_SESSION["idUser"]." 
    			and commande.id_client = societe.id 
    			and adresses_commande.id_cmd = commande.id
    			and commune.id = adresses_commande.commune_destination
    			and commande.id_service = services.id
    			and vehicule.id = commande.id_vehicule";
    			//echo $sql."<br>";
    	if($query = $rsql->req_sql($sql)){
    	//echo $this->rsql->nbr($query);
    		while($donnees = $rsql->s_array($query)){
    			$_arr["nomste"] = $donnees['nom_ste'] ;
    			$_arr["date_creation"] = $donnees['date_creation'] ;
    			$_arr["adr_destination"] = $donnees['adr_destination'] ;
    			$_arr["nom_destination"] = $donnees['nom_destination'] ;
    			$_arr["commune"] = $donnees['commune'] ;
    			$_arr["service"] = $donnees['service'] ;
    			$_arr["vehicule"] = $donnees['vehicule'] ;
    			$_arr["value_pack"] = $donnees['value_pack'] ;
    			$_arr["nombre_pack"] = $donnees['nombre_pack'] ;
    			$_arr["poids_pack"] = $donnees['poids_pack'] ;
    			$_arr["description_pack"] = $donnees['description_pack'] ;
    			echo $_arr["service"]."<br>";
    		}
    		return $_arr;
    	}
    	return false;
    }
    echo sizeof(loadCommande());
    Voilà mon code, et c est là ou se trouve le probleme.
    normalement ce tableau doit me donner 2lignes comme retour. Alors qu il me retourne 11lignes et je sais pas comment il fait ça. A l interieur de la fonction, c est 2 lignes. Mais dans je fais un echo ça me donne 11lignes.

    Quelqu'un peut m aider à trouver la solution ?
    Merci

  2. #2
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    2 lignes ?
    d'après ce code, une fois que t'es passé dans le while, tu auras 11 index dans ton tableau, car:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $_arr["nomste"] = $donnees['nom_ste'] ;
    $_arr["date_creation"] = $donnees['date_creation'] ;
    $_arr["adr_destination"] = $donnees['adr_destination'] ;
    $_arr["nom_destination"] = $donnees['nom_destination'] ;
    $_arr["commune"] = $donnees['commune'] ;
    $_arr["service"] = $donnees['service'] ;
    $_arr["vehicule"] = $donnees['vehicule'] ;
    $_arr["value_pack"] = $donnees['value_pack'] ;
    $_arr["nombre_pack"] = $donnees['nombre_pack'] ;
    $_arr["poids_pack"] = $donnees['poids_pack'] ;
    $_arr["description_pack"] = $donnees['description_pack'] ;
    Une fois le while terminé, ton tableau est retourné (le $_arr), et il contient les 11 index ci-dessus...

  3. #3
    Membre éclairé Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Par défaut
    So,
    j ai rien pigé !!! il est ou l erreur !!

    Merci pour votre reponse

  4. #4
    Membre expérimenté Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Par défaut
    bkill te dit en fait: "il y a 11 colonnes dans le tableau, les 11 colonnes de la dernière ligne de la requête". peut-être qu'il faut dans la boucle while:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $_arr[]["nomste"] = $donnees['nom_ste'] ;
    $_arr[]["date_creation"] = $donnees['date_creation'] ;
    $_arr[]["adr_destination"] = $donnees['adr_destination'] ;
    $_arr[]["nom_destination"] = $donnees['nom_destination'] ;
    $_arr[]["commune"] = $donnees['commune'] ;
    $service = $_arr[]["service"] = $donnees['service'] ;
    $_arr[]["vehicule"] = $donnees['vehicule'] ;
    $_arr[]["value_pack"] = $donnees['value_pack'] ;
    $_arr[]["nombre_pack"] = $donnees['nombre_pack'] ;
    $_arr[]["poids_pack"] = $donnees['poids_pack'] ;
    $_arr[]["description_pack"] = $donnees['description_pack'] ;
    echo $service."<br>";

  5. #5
    Membre chevronné Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Par défaut
    Il y a peut-être une simplification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $_arr["nomste"] = $donnees['nom_ste'] ;
    $_arr["date_creation"] = $donnees['date_creation'] ;
    $_arr["adr_destination"] = $donnees['adr_destination'] ;
    $_arr["nom_destination"] = $donnees['nom_destination'] ;
    $_arr["commune"] = $donnees['commune'] ;
    $_arr["service"] = $donnees['service'] ;
    $_arr["vehicule"] = $donnees['vehicule'] ;
    $_arr["value_pack"] = $donnees['value_pack'] ;
    $_arr["nombre_pack"] = $donnees['nombre_pack'] ;
    $_arr["poids_pack"] = $donnees['poids_pack'] ;
    $_arr["description_pack"] = $donnees['description_pack'
    est identique à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_arr = $donnees
    $_arr["nomste"] = $donnees['nom_ste'];
    Aurais-tu oublier l'underscore : $_arr["nomste"] ou $_arr["nom_ste"] ?

    Je me demande si tu ne confond pas les lignes de résultats de ta requête sql et le nombre de ligne de ton tableau php...

    Si tu veux retourner les résultat de ta requêtes sous forme de tableau, il existe une fonction qui te simplifie la tache : sous postgres c'est pg_fetch_all($resource) mais je ne connais pas d'équivalent sous mysql...

  6. #6
    Membre expérimenté Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Par défaut
    Citation Envoyé par icer
    est identique à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_arr = $donnees
    $_arr["nomste"] = $donnees['nom_ste'];
    oui, tout à fait... et pour essayer de corriger mon erreur stupide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_arr[] = $donnees;
    echo $donnees['service'];
    comme ça il n'y aura pas 22 colonnes mais bien 2 lignes de 11 colonnes

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2007, 01h54
  2. [Tableaux] Count dans un tableau
    Par krfa1 dans le forum Langage
    Réponses: 2
    Dernier message: 27/11/2005, 20h15
  3. [Tableaux] Retour Chariot dans une boucle
    Par tchoukapi dans le forum Langage
    Réponses: 3
    Dernier message: 07/11/2005, 14h45
  4. [Tableaux] Retour non conforme
    Par Mister Nono dans le forum Langage
    Réponses: 3
    Dernier message: 03/11/2005, 12h06
  5. [Tableaux] recuperation valeurs dun tableau ou d'un array
    Par pascale86 dans le forum Langage
    Réponses: 5
    Dernier message: 11/10/2005, 16h14

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