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 :

Afficher deux valeurs dans un while [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Par défaut Afficher deux valeurs dans un while
    Bonjour,

    Le code suivant me permet de rechercher des commentaires

    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
    $sql = "SELECT bpvcom.commentaire, membres.siteweb FROM bpvcom,membres where membres.firstname=bpvcom.utilisateurs AND  bpvcom.linkid=".$result["id"]."";
    $requete = mysql_query( $sql, $link ) or die;
     
    $table = array();
    while ($row = mysql_fetch_array($requete)){
     
    array_push($table,$row);
    }
     
    $commentaire = array();
    $total_table6 = count($table6);
     
    for ($i=0; $i < $total_table6; $i++)
    {
    	$commentaire[]= nl2br($table6[$i]['commentaire']);
     
     
    }
    $touslescommentaires = implode("</P>", $commentaire);
    Je voudrais savoir si il est possible de mettre apres chaque commentaire le siteweb de l'utilisateur a la fin du message.

    Style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $commentaire[]= nl2br($table6[$i]['commentaire']+['siteweb');
    J'ai essaye beaucoup de combinaison sans succes

    Merci

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $table = array();
    while ($row = mysql_fetch_array($requete)){
     
    array_push($table,$row);
    }
     
    $commentaire = array();
    $total_table6 = count($table6);
    Faudrait faire le point sur les noms des variables, car dans le array_push c'est $table alors qu'après c'est $table6 qui est exploité, à mon sens il y a une des 2 qui va pas.

    En partant du principe que $table/$table6 soient les mêmes, et bien il est inutile de faire 2 fois une boucle sur les mêmes données.
    Puis vouloir stocker 2 données ensemble, en Php faut juste faire une concaténation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $membres = array();
    while ($membre = mysql_fetch_array($requete)) {
        $membres[] = $membre;
        $commentaire[] = nl2br($membre['commentaire'].$membre['siteweb']);
    }
     
    print_r($commentaire);
    J'ai volontairement pas utilisé array_push. Lit la doc, car il est dit que dans la majorité cette fonction est inutile, autant affecter le tableau directement.
    D'ailleurs, faut voir s'il est utile de créer un 2ème tableau $commentaire alors qu'il stock les mêmes données que $membres.
    Pourquoi ne pas exploiter $membres là où c'est prévu d'être affiché, suffit de faire la concaténation à ce moment là avec un echo, non ?
    (ça économisera de la ressource, moins de code , etc ...)
    En somme, à quoi bon stocker les éléments dans un autre tableau pour au final appeler une autre fonction comme implode() ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Par défaut
    Merci RunCodePhp pour tes conseils.

    Par contre, lorsque je recupere les commentaire et le siteweb avec ta fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $commentaire[] = nl2br($membre['commentaire'].$membre['siteweb']);
    Le site web est colle au commentaire , (par exemple: ...tres bon endroit a visiterwww.siteweb.com)

    Peut on inserer un espace avant membre['siteweb']); ?

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut que tu revois les bases de la syntaxe PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $commentaire[] = nl2br($membre['commentaire']." ".$membre['siteweb']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Par défaut
    Merci sabotage, j'avoue ma médiocrité au niveau de la syntaxe PHP.
    Par contre j’apprends tous les jours grâce à vous et à ce forum.

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    pour parcourir un array c'est juste foreach, pas count + for

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

Discussions similaires

  1. [WD10] Afficher des valeurs dans un tableau
    Par dj-julio dans le forum WinDev
    Réponses: 4
    Dernier message: 19/03/2014, 11h32
  2. Réponses: 1
    Dernier message: 17/04/2009, 15h44
  3. [c#] PDA mettre deux valeur dans le Displaymember du combobox
    Par FunkyB dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/04/2006, 13h57
  4. Afficher deux colonnes dans une ListBox
    Par deubal dans le forum Composants VCL
    Réponses: 4
    Dernier message: 25/10/2005, 19h53
  5. Réponses: 3
    Dernier message: 28/01/2004, 14h55

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