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 :

concaténer le résultat d'une requête en php


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 68
    Points
    68
    Par défaut concaténer le résultat d'une requête en php
    Bonjour,
    je veux exécuter une requête à l’intérieur d’une boucle pour donner en paramètre where une colonne retournée à chaque itération issue d’une autre requête en dehors de while,
    mais je veux concaténer le résultat de la requête c'est-à-dire concaténer les ligne dans une seule pour l’afficher comme string après, donc j’ai envisagé une autre boucle après l’exécution de la requête pour concaténer, elle marche mais le résultat retourné n’est pas bon, car la chaine concaténée contient de la répétition même si j’ai met DISTINCT dans la requête !!
    Et voilà le code
    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
    37
    38
    39
    40
    41
    42
     
    //première requête pour avoir le paramètre à chaque itération
    //..............
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
    // si on a récupéré un résultat on l'affiche.
    if($total) {
        // début du tableau
        echo '<table bgcolor="#183152">'."\n";
            // première ligne on affiche les titres des colonnes
    		echo '<tr>';
            //.....................................autres lignes du tableau.....
    	 echo '<td bgcolor="#A2B5BF"><center><b><u> En utilisation </u></b></center></td>';
            echo '</tr>'."\n";
        // lecture et affichage des résultats, 1 résultat par ligne.    
        while($row = mysql_fetch_array($result)) {
            echo '<tr>';
    		//echo .................autres lignes
            echo '<td bgcolor="#ABC8E2"><center>'.$row['Equipe_projet'].'</center></td>';
     
    		echo '</tr>'."\n";
    		$req = "SELECT DISTINCT Nom FROM `listes` WHERE `id` = ".$row['id_pc'].""; // un champ de la premùière requête comme paramètre
    		$res = mysql_query($req,$link) or die ('Erreur : '.mysql_error() );
    		$str = "";
    		while($data = mysql_fetch_assoc($res))
    		{
    			$var .= " ".$data['Nom'].",";
    			$var = substr($var,'0','-1');
    		//echo $mavariable;
     
    		}
    		if($row['un_truc']==1)  // un champ de la première requête comme condition
    		{
    			echo '<td bgcolor="#ABC8E2"><center>'.$var.'</center></td>';
    		}
    		else echo '<td bgcolor="#ABC8E2"><center>Aucun</center></td>';
     
     
        }
        echo '</table>'."\n";
        // fin du tableau.
    }
    Donc cela marche,il affiche dans le tableau selon la condition,sauf que la chaine affichée n'est pas correcte genre il affiche :"arnaud thomas arnaud" même si j'ai met DISTINCT
    Merci d'avance

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Je ne crois pas que $var est remis à "" sur chaque début de boucle !

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 68
    Points
    68
    Par défaut
    Tout à fait !! j'ai rajouté $var =""; avant la boucle et ça a marché,c'était bête comme erreur!!
    merci beaucoup Fench

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

Discussions similaires

  1. Concaténer les résultats d'une requête
    Par MASSAKA dans le forum Adaptive Server Enterprise
    Réponses: 1
    Dernier message: 22/10/2011, 10h12
  2. [Requête]Concaténation des résultats d'une requête SQL
    Par teks9 dans le forum Développement
    Réponses: 2
    Dernier message: 01/09/2008, 15h34
  3. [MySQL] Comment récupérer le résultat d'une requête dans PHP
    Par zouzino dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/11/2007, 22h53
  4. Concaténer le résultat d'une requête
    Par maliba dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 03/06/2006, 04h56
  5. Réponses: 2
    Dernier message: 02/12/2005, 21h21

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