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 :

Résultats d'une reqête préparée en double


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Par défaut Résultats d'une reqête préparée en double
    Bonjour à tous en ce dimanche.

    Je m'apercois que mes requêtes mysql renvoient les colonnes en double :

    Requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $Base = $bdd->prepare('SELECT * FROM categories ORDER BY Num');
     
    foreach ($Base as $fields) 
      {
        print_r($fields);
        echo '<br/>';
      }

    Les résultats sont doublés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Array ( [id] => 21 [0] => 21 [Ad] => 101 [1] => 101 [Nom] => Portrait 4:3 [2] => Portrait 4:3 [Num] => 1 [3] => 1 )
    Array ( [id] => 19 [0] => 19 [Ad] => 102 [1] => 102 [Nom] => Portrait 1:1 [2] => Portrait 1:1 [Num] => 2 [3] => 2 )
    Array ( [id] => 18 [0] => 18 [Ad] => 103 [1] => 103 [Nom] => Groupe [2] => Groupe [Num] => 3 [3] => 3 )
    Array ( [id] => 17 [0] => 17 [Ad] => 104 [1] => 104 [Nom] => Reportage [2] => Reportage [Num] => 4 [3] => 4 )
    Qu'en pensez-vous ?

    Ca doit être tout bêbête

    Feel

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Où sont ->execute() et ->fetch() ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Par défaut
    A oui il sont là

    Je remet un peu d'ordre pour etre plus clair:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            $Base = $bdd->prepare('SELECT DISTINCT * FROM categorie ORDER BY Num');
    	$Base->execute(); 
    	$Lignes= $Base->fetch();
    			foreach ($Lignes as $fields) 
    				{
    			    	fputcsv($fp, $Lignes, ';'); 
    			    	print_r($Lignes);
    			    	echo '<br/>';
    				} 
      }
    > Le truc est donc pour exporter un .csv

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bon.

    Pour répondre à ta question : fetch()
    fetch_style

    PDO::FETCH_BOTH (défaut): retourne un tableau indexé par les noms de colonnes
    et aussi par les numéros de colonnes, commençant à l'index 0, comme retournés dans le jeu de résultats
    Donc, si tu veux le tableau uniquement indexé par les noms : ->fetch(PDO::FETCH_ASSOC)

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bon.

    Pour répondre à ta question : fetch()

    Donc, si tu veux le tableau uniquement indexé par les noms : ->fetch(PDO::FETCH_ASSOC)

    Si je fais un fetch
    Le "fputcsv" ne fonctionne plus (car il a besoin d'un un array)

    De plus je n'arrive pas à faire fonctionner le PDO:: (Il surement mal écrit ?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            $Base->execute(); 
    	$Lignes=$Base->fetch("PDO::FETCH_ASSOC: ");
    	print_r($Base);
    	echo '<br/>';
    			foreach ($Lignes as $fields) 
    				{
    			    	fputcsv($fp, $fields, ';'); 
    			    	print_r($fields);
    			    	echo '<br/>';
    				}

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 257
    Par défaut
    Feeleuh !
    Un Bon fetch
    c'est $Lignes=$Base->fetch(PDO::FETCH_ASSOC);

    Ok pour les retour sur les noms de colonnes
    Merci déjà c'est cool

    Mais "fputcsv" besoin d'un un array

    Ca va se passer dans le prepare non ?

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

Discussions similaires

  1. [MySQL] Résultat d'une requête préparée dans tableau html
    Par Ether.Kurios dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/05/2011, 13h14
  2. résultat d'une reqûte dans un memo
    Par warning dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/12/2007, 17h39
  3. Comment récupérer le résultat d'une division au format double ?
    Par The Molo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/12/2007, 15h48
  4. [MySQL] PHP résultat d'une reqête Mysql dans un menu déroulant
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/01/2007, 11h49
  5. Lignes en double dans le résultat d'une jointure
    Par ledevelopeur dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/06/2004, 18h10

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