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 :

fonction array_merge() problème


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Décembre 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut fonction array_merge() problème
    Bonjour à tous,

    Je dois associer 2 tableaux qui sont différents (structure différente, données différentes).

    J'ai réussi à les afficher l'un après l'autre: (ça donne ça schématiquement)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <table1>
    while{mysql_fetch_array($resultat_requête1)}
    echo "";
    </table1>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <table2>
    while{mysql_fetch_array($resultat_requête2)}
    echo "";
    </table2>
    cependant j'ai découvert après recherche la fonction array_merge() mais je n'arrive pas à l'utiliser ici


    dois-je faire un seul while et mettre les données du second tableau dans le 1er while et quand appelé la fonction array_merge() ?

    Merci de m'aider

  2. #2
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    bonjour,
    il me semble que tu ne peux pas utiliser directement $resultat_requête1 ....

    donc essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $Cpt=0
    while($Col=mysql_fetch_array($resultat_requête1)){
    $T[$Cpt]=$Col['MaValeur1'];
    $Cpt++;
    }
     
    while($Col=mysql_fetch_array($resultat_requête2)){
    $T[$Cpt]=$Col['MaValeur2'];
    $Cpt++;
    }
    Cela va te donner un tableau avec cle 0,1,2....N avec tout les elements de tes requetes ...

    si tu dois ecraser les données celon les clés du tableau (cf array_merge) alors tu peux tres bien faire $T[$Col['Id']]=$Col['MaValeur']

    Guigo

  3. #3
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Décembre 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Tout d'abord merci pour la réponse.

    Mais j'avoue que je suis un peu (voir beaucoup ) perdu.
    Ce qui me complique la tâche c'est que je reprends un code dans lequel l'affichage se fait directement dans les while avec des "échos"...

    Voici par exemple mon 2e tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	<table class="Tabledonnees"> <thead><tr><td>Priorité</td><td>Date</td><td>Expéditeur</td><td>Note</td><td>Destinataire</td></tr></thead><tbody>
     
    	<?
    	while ($ligne2=mysql_fetch_array($resultset2))
    	{	  
         echo "<tr><td>".$ligne["priorite"] ."</td><td>". 
    	 datemysql2francais($ligne["datecreer"])."</td><td>". 
    	 $ligne["NOM_CON_CLI"] ."</td><td>". 
         stripslashes($ligne["note"])."</td><td>". 
    	 stripslashes($ligne["destinataire"])."</td></tr>";
     
    	}	 
    	?>
    	 </tbody></table>
    les $T c'est en fait mes $ligne si je suis bien?

  4. #4
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    $T est le tableau de valeur obtenu....
    alors pour ca ferait :

    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
     
     
     
    while($ligne=mysql_fetch_array($resultat_requête1)){
    $T[$ligne['IdDeTaTableBdd']]=array($ligne["priorite"],datemysql2francais($ligne["datecreer"]),$ligne["NOM_CON_CLI"],stripslashes($ligne["note"]),stripslashes($ligne["destinataire"]));
    }
     
    while($Col=mysql_fetch_array($resultat_requête2)){
    $T[$ligne['IdDeTaTableBdd']]=array($ligne["priorite"],datemysql2francais($ligne["datecreer"]),$ligne["NOM_CON_CLI"],stripslashes($ligne["note"]),stripslashes($ligne["destinataire"]));
    }
     
    <table class="Tabledonnees"> <thead><tr><td>Priorité</td><td>Date</td><td>Expéditeur</td><td>Note</td><td>Destinataire</td></tr></thead><tbody>
     
    	<?
    	foreach($T as $K=>$V)
    	{	  
         echo "<tr><td>".$V[0] ."</td><td>". 
    	 $V[1]."</td><td>". 
    	 $V[2] ."</td><td>". 
            $V[3]."</td><td>". 
    	 $V[4]."</td></tr>";
     
    	}	 
    	?>
    	 </tbody></table>

    devrais fonctionner ...
    Pour info dans ce cas, si il y a un meme id dans la tabale1 et table2 alors tu n'aura qu'une valeur de presente dans $T (valeur de la table2).

  5. #5
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Décembre 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Merci pour ta réponse,

    Je vais essayer tout ça, cependant est-il possible de ranger les cellules en fonction de la date?
    Merci bien

  6. #6
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576

  7. #7
    Membre à l'essai
    Homme Profil pro
    etudiant
    Inscrit en
    Décembre 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 54
    Points : 19
    Points
    19
    Par défaut
    Merci bien, finalement je vais retoucher à la requête mais j'ai un problème de "collate"

Discussions similaires

  1. [Mail] fonction mail : problème d'utilisation
    Par leclone dans le forum Langage
    Réponses: 4
    Dernier message: 13/02/2007, 17h02
  2. [RegEx] Fonction preg_match problème
    Par wylls dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2006, 17h06
  3. [Fonction](recursive) Problème pour dresser un arbre
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 21/11/2006, 13h35
  4. Fonction ASP: problème avec popup
    Par claralavraie dans le forum ASP
    Réponses: 6
    Dernier message: 07/02/2006, 10h31
  5. histoire de fonction avec problème sur arguments
    Par bébé dans le forum Langage
    Réponses: 5
    Dernier message: 07/01/2006, 11h29

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