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] fusion de 2 tableau en 1 qui fait 2 colonnes


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut [Tableaux] fusion de 2 tableau en 1 qui fait 2 colonnes
    Bonjour,

    je fais 2 requètes et je crée un tableau pour chacune d'elle. J'aimerais que chacun de ces tableaux soit une colonne à un tableau général(donc 2 colonnes).

    J'ai essayé avec le array_merge mais apparemment cela ne fait rien du tout. Quand je fais un return du tableau il m'affiche juste Array.

    Voilà mon 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
     
    while ( $r2 = dbiFetch($q2))
    	{ 
     
    	$t1[] = array ("<input type=checkbox>"."<a href='$PHP_SELF?Action=tch&Etape=dev&prj_id=$r2[prj_id]'>"."<b>".($r2['label1']." : ".$r2['label2'])."</b>"."</a>"			           
                     );
    	}
     
     
     
    	while ( $r3 = dbiFetch($q3))
    	{ 
     
    	$t2[] = array ("<input type=checkbox>"."<a href='$PHP_SELF?Action=tch&Etape=dev&prj_id=$r3[prj_id]'>"."<b>".($r3['label1']." : ".$r3['label2'])."</b>"."</a>"         
                     );
    	}
     
     
        $t3 = array_merge($t1,$t2);
        return $t3;
    C'est surement simplissime mais ici je cale quelque peu. En tout cas merci d'avance pour vos réponses.

  2. #2
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $size = count($t1); //je considere que t1 et t2 ont la meme dimensions
    $t3 = array();
    for($i=0;$i<$size;$i++){
        $t3[] = array($t1[$i],$t2[$i])
    }
    Y'a peut etre plus simple ...

  3. #3
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    salut,

    hélas aucun changement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $size = count($t1); //je considere que t1 et t2 ont la meme dimensions
    Justement non, ils n'ont pas la même dimension. C'est peut-être pour cela que ça ne marche pas.

    En tout cas merci de ton aide.

  4. #4
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    oups la grosse boutade .... ça devrait etre mieux cette version. J'ai inclu en plus le support des colonnes de tailles differentes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $size = max(count($t1),count($t2));
    $t3 = array();
    for($i=0;$i<$size;$i++){
        if (array_key_exists($i,$t1)) { $t3[$i][0] = $t1[$i] }
        if (array_key_exists($i,$t2)) { $t3[$i][1] = $t2[$i] }
    }

  5. #5
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    ben hélas cela ne fonctionne toujours pas. J'ai pas d'erreur mais l'affichage n'est pas bon. Ca m'affiche qu'une colonne et elle est vide.J'ai essayé array_combine mais j'utilise php4 donc évidemment j'ai du abandonner ça.

    Encore merci.

  6. #6
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    j'utilise php4
    Tu aurais pu commencer par ça ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $size = max(count($t1),count($t2));
    $t3 = array();
    for($i=0;$i<$size;$i++){
        if (isset($t1[$i])) { $t3[$i][0] = $t1[$i]; }
        if (isset($t2[$i])) { $t3[$i][1] = $t2[$i]; }
    }
    Pour le isset a la place du key_exists, on va faire comme si on avait rien vu. Ton code sera au moins portable quand tu passeras en php5

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    pourquoi ne pas le faire directement ce 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
    15
    16
    $tab=array();
    while ( $r2 = dbiFetch($q2))
    	{ 
     
    	$tab["t1"][] ="<input type=checkbox>"."<a href='$PHP_SELF?Action=tch&Etape=dev&prj_id=$r2[prj_id]'>"."<b>".($r2['label1']." : ".$r2['label2'])."</b>"."</a>";
    	}
     
     
     
    	while ( $r3 = dbiFetch($q3))
    	{ 
     
    	$tab["t2"][] ="<input type=checkbox>"."<a href='$PHP_SELF?Action=tch&Etape=dev&prj_id=$r3[prj_id]'>"."<b>".($r3['label1']." : ".$r3['label2'])."</b>"."</a>";
    	}
     
        return $tab;

  8. #8
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Oui c'est vrai que je n'y ai pensé qu'après coup que j'utilise php4. Désolé pour ce petit contretemps.

    Cependant j'ai toujours le même résultat bien que j'ai modifié. Toujours une seule colonne avec pleins de petites cases vides.

  9. #9
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Bon tu m'as fait douté, j'ai donc verifié mon code avec ce scenario
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $t1 = array(1,2,3,4,5,46);
    $t2 = array(6,7,8,9,10);
    $size = max(count($t1),count($t2));
    $t3 = array();
    for($i=0;$i<$size;$i++){
        if (isset($t1[$i])) { $t3[$i][0] = $t1[$i]; }
        if (isset($t2[$i])) { $t3[$i][1] = $t2[$i]; }
    }
    var_dump($t3);
    Et ça marche bien. Le probleme semble venir en amont, des données que tu passes en entrée

  10. #10
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     	 array(6) { [0]=>  array(2) { [0]=>  int(1) [1]=>  int(6) } [1]=>  array(2) { [0]=>  int(2) [1]=>  int(7) } [2]=>  array(2) { [0]=>  int(3) [1]=>  int(8) } [3]=>  array(2) { [0]=>  int(4) [1]=>  int(9) } [4]=>  array(2) { [0]=>  int(5) [1]=>  int(10) } [5]=>  array(1) { [0]=>  int(46) } }
    Voilà ce que me renvoie ce que tu viens de me donner. Sinon à chaque fois que je fais un return des codes que vous me donner cela me renvoie Array.

    Puis tester séparément, si je n'affiche que les 2 tableaux, cela m'affiche bien 2 tableaux d'une colonne avec les bonnes valeurs.

  11. #11
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    pourquoi ne pas le faire directement ce tableau??
    Ah ben j'avais bien dit qu'il y'avait plus simple .
    De cette maniere tu economises de la memoire en plus.

  12. #12
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Ben normal non ?

    $t3[1] = array ([0] et [1])

    C'est ni plus ni moins qu'un tableau 2 dimensions. Tout ce qu'il y'a de plus classique ...

    Sinon, c'est que j'ai rien compris a ta demande.

    Il reste la solution a la con :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $t3[0] = $t1;
    $t3[1] = $t2;
    C'est peut etre ça que tu recherchais ...

  13. #13
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    ta dernière solution me retourne le même résultat que boo64.

    Mais en fait comme j'ai une fonction qui me fait un tableau en html, je me demande si c'est pas elle qui fout le bazar. Je vous la met à tout hasars. En tout cas mes 2 premiers tableaux s'affichaient correctement avec cette fonction.

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    function ToHTML($T,$option="")
    {
        if (! is_array($T))
            return;
     
        // Parcours de la structure pour recherche du plus grand nombre de colonnes
        reset($T); $nbCol=0;
        while(list($k,$v)=each($T))
            {
            if (count($v)>$nbCol) $nbCol=count($v);
            if ($v[labels]) // Cherche aussi le nombre de colonne dans le nombre d'arg du params labels
                {
                $nb=count(explode(',',$v[labels]));
                if ($nb>$nbCol) $nbCol=$nb;
                }
     
            }
     
     
        // Test du paramètre optionnel option
        if ($option == "")
            $option_ok = "CLASS=TH1";
        elseif (ereg("^[0-9]+[%]?$",$option))
            $option_ok = "wIDTH='$option' CLASS=TH1";
        elseif (stristr($option,"class"))
            $option_ok = $option;   // l'option spécifie une class + eventuellement des evenement, etc ... on laisse tel quel
        else
            $option_ok = "CLASS=TH1 $option";   // l'option n'a pas de class mais des styles, des evenement, etc ... 
     
        // Création du code HTML
        $H  = "<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 $option_ok>\n";
        reset($T);
        $i=1;
        while(list($k,$v)=each($T)) // Traitement de toutes les lignes du tableau
            {
            $H.= "<TR ID=TR$i>\n"; $i++;
            reset($v);
            switch (key($v))
                {
                case 'titre'      : $H .= "<TD VALIGN='top' COLSPAN=$nbCol CLASS=aTitre ".$v['option'.key($v)].">" . $v[titre] . "</TD>\n"; break;
                case 'separateur' : $H .= "<TD VALIGN='top' COLSPAN=$nbCol CLASS=aSep ".$v['option'.key($v)]."><li>".$v[separateur]."</li></TD>\n"; break;
                case 'trait'      : list($height,$couleur)=explode(":",$v[trait]);
                                    $H .= "<TD VALIGN='top' COLSPAN=$nbCol CLASS=aTitre STYLE='Background-Color:$couleur;' ".$v['option'.key($v)]."><IMG SRC='img/spacer.gif' WIDTH='1' HEIGHT='$height'></TD>\n"; break;
                case 'comm'       : $H .= "<TD VALIGN='top' COLSPAN=$nbCol CLASS=aCom ".$v['option'.key($v)].">" . $v[comm] . "</TD>\n";break;
                case 'link'       : $H .= "<TD VALIGN='top' COLSPAN=$nbCol CLASS=aLink ".$v['option'.key($v)].">" . $v[link] . "</TD>\n"; break;
                case 'linkD'      : $H .= "<TD VALIGN='top' COLSPAN=$nbCol CLASS=aLink ALIGN=Right ".$v['option'.key($v)].">" . $v[linkD] . "</TD>\n"; break;
                case 'linkC'      : $H .= "<TD VALIGN='top' COLSPAN=$nbCol CLASS=aLink ALIGN=Center ".$v['option'.key($v)].">" . $v[linkC] . "</TD>\n"; break;
                case 'labels'     : $begin = "<TD VALIGN='middle' CLASS=aTitre ".$v['option'.key($v)].">";
                                    $end = "</TD>\n";
                                    $H .= $begin . join ("$end$begin",explode(',',$v[labels])) . $end;
                                    break;
                default : while (list($t,$u) = each ($v)) // Traitement squentiel de tous les élements de la ligne
                            {
                            $t2 = ereg_replace ("[0-9]", "", $t); // Supprime les nums de champs
                            //$u = eregi_replace ("<br>","<br>&nbsp;",$u);
    						//if (!eregi("^<table", $u))
    						//	$u = "&nbsp;$u&nbsp;";
                            switch($t2)
                                {
                                case 'fusionlabel':
                                    $num = ereg_replace ("fusionlabel", "", $t);
                                    $cols = (int)($num[0].$num[1]);
                                    $H .= "<TD COLSPAN='$cols' CLASS=aTitre ".$v['option'.$t].">$u</TD>\n";
                                    break;
                                case 'fusionval':
                                    $num = ereg_replace ("fusionval", "", $t);
                                    $cols = (int)($num[0].$num[1]);
                                    $H .= "<TD COLSPAN='$cols' CLASS=aVal ".$v['option'.$t].">$u</TD>\n";
                                    break;
                                case 'fusiondesc':
                                    $num = ereg_replace ("fusiondesc", "", $t);
                                    $cols = (int)($num[0].$num[1]);
                                    $H .= "<TD COLSPAN='$cols' CLASS=aLib ".$v['option'.$t].">$u</TD>\n";
                                    break;
                                case 'fusiondescD':
                                    $num = ereg_replace ("fusiondescD", "", $t);
                                    $cols = (int)($num[0].$num[1]);
                                    $H .= "<TD COLSPAN='$cols' CLASS=aLib ALIGN=right ".$v['option'.$t].">$u</TD>\n";
                                    break;
                                case 'fusionsep':
                                    $num = ereg_replace ("fusionval", "", $t);
                                    $cols = (int)($num[0].$num[1]);
                                    $H .= "<TD VALIGN='top' COLSPAN='$cols' CLASS=aSep WIDTH='0' ".$v['option'.$t]."></TD>\n";
                                    break;
     
                                case 'label':  $H .= "<TD VALIGN='top' CLASS=aTitre ".$v['option'.$t].">$u</TD>\n"; break;
     
                                case 'desc':   $H .= "<TD CLASS=aLib ".$v['option'.$t].">$u</TD>\n"; break;
                                case 'descC':  $H .= "<TD ALIGN='center' CLASS=aLib ".$v['option'.$t].">$u</TD>\n"; break;
                                case 'descD':  $H .= "<TD ALIGN='right' CLASS=aLib ".$v['option'.$t].">$u</TD>\n"; break;
     
                                case 'val':    $H .= "<TD CLASS=aVal ".$v['option'.$t].">$u</TD>\n"; break;
                   /* centré */ case 'valC':   $H .= "<TD ALIGN='center' CLASS=aVal ".$v['option'.$t].">$u</TD>\n"; break;
             /* centré rouge */ case 'valCR':  $H .= "<TD CLASS=aValX ALIGN=Center ".$v['option'.$t].">$u</TD>\n"; break;
              /* centré vert */ case 'valCB':  $H .= "<TD CLASS=aValD ALIGN=Center ".$v['option'.$t].">$u</TD>\n"; break;
                   /* droite */ case 'valD':   $H .= "<TD CLASS=aVal ALIGN=Right ".$v['option'.$t].">$u</TD>\n"; break;
                   /*gauche*/   case 'valG':   $H .= "<TD CLASS=aValG ALIGN=Left  ".$v['option'.$t].">$u</TD>\n"; break;
                      /* bas */ case 'valB':   $H .= "<TD CLASS=aVal ALIGN='center' ".$v['option'.$t].">$u</TD>\n"; break;
     
                                case 'act':    $H .= "<TD CLASS=aLink ".$v['option'.$t].">". $u  . "</TD>\n"; break;
                                }
                            }
                }
            $H.= "</TR>\n";
            }
        $H .= "</TABLE>\n";
        return $H;
    }

  14. #14
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Je suis désolé mais la je ne comprends pas ce que tu veux.

    solution 1 :
    tableau[t1][1] (premier etant l'index de colonne et le deuxieme ton indice)

    Solution 2 :
    tableau[0][t1]

    Les 2 algos sont dans le post ^^
    Pour ta fonction, désolé, j'ai pas vraiment le courage de la décortiqué ... c'est du code dont j'ai veritablement horreur le melange html et php

  15. #15
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    bon je réexplique, j'espère mieux.

    J'ai 2 requètes. Chacunes de ces 2 requètes me génèrent un tableau.

    Pour exemple : ma première requete renvoie la liste des projets en cours et la deuxième la liste des projets terminés. Je n'affiche pas ces 2 tableaux d'une seule colonne. Mais j'aimerais que chacun de ces tableaux forme une colonne d'un tableau qui englobe donc les 2 types de projets.

    Pour info quand je fais un var_dump du code que ma filé boo64 sa me renvoie null. Donc c'est ptet pas du coté de votre code que c'est faux.

    Voilà. J'espère que c'est plus compréhensible.

  16. #16
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    ok, donc le code c'est tout simplement ça. Tu as besoin que la premiere iteration d'une boucle foreach te donne un tableau puis a l'iteration suivante, l'autre tableau. C'est ça ?

    donc le code, c'est ça (la premiere solution que je pensais mais ça me paraissait trop simple ^^)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $t3 =array();
    $t3[0] = $t1;
    $t3[1] = $t2;

  17. #17
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Citation Envoyé par kifouillou Voir le message
    Sinon à chaque fois que je fais un return des codes que vous me donner cela me renvoie Array.

    Normal... tu ne peux pas écrire :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $un_tableau;

    Il te renverra Array, juste pour te dire qu'il s'agit d'un tableau et non pas de l'affichage d'une simple variable ("unique")

    Si tu veux voir de quoi est constitué un tableau, il faut écrire ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<pre>"; // début de la balise PREFORMATED TEXT
    print_r($un_tableau); // affichage du tableau OU var_dump($un_tableau), perso je préfère print_r ^^
    echo "</pre>"; // fin de la balise PREFORMATED TEXT

  18. #18
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2006
    Messages : 317
    Points : 597
    Points
    597
    Par défaut
    Bon je vais tacher de reexpliquer ça de façon clair, je devais pas etre compréhensible précedemment.

    Le concept de lignes et de colonnes n'a aucun sens en PHP. Ce n'est qu'une représentation graphique de tes données.

    Dans ton cas, la question à se poser est :

    Comment va marcher l'itération de mon tableau ?

    Je ne vois que 2 solutions :
    1 : a chaque itération i dans une boucle for (ou foreach mais dans ce cas j'utilise des indexs numeriques), ça me renvoie un tableau de 2 valeurs contenant la valeur t1 et t2 à la position i
    2 : A chaque itération i, je renvoie un tableau de valeur dans ton cas, t1 en premier et t2 en deuxieme.

    Tu as les 2 algos dans le post, fais ton choix camarade.

  19. #19
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut
    salut salut,

    j'ai réussi. En fait je sais pourquoi cela ne m'affichait rien. Parce que j'avais un petit erreur dans mon for :

    voilà la solution finale. Je suis vraiment bète. J'ai galéré pour rien. C'est pour cela que je ne comprenais rien. Je faisais une erreur que je n'aurais pas du faire.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $tab[] = array ('labels'=>"nom projet ouvert,nom projet recurrent");
    $size = max(count($t1),count($t2));
    for($i=0;$i<$size;$i++){
    $tab[] = array ('val1'=>trim($t1[$i]),'val2'=>trim($t2[$i]));
     
    }

    Merci à tous de vous être penché sur le sujet. La prochaine fois je m'achèterai des lunettes.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/04/2012, 14h51
  2. Fusion de deux tableaux triés en un tableau trié
    Par adri010 dans le forum Débuter
    Réponses: 8
    Dernier message: 10/06/2010, 19h50
  3. Réponses: 5
    Dernier message: 28/12/2006, 16h29
  4. [Tableaux] fusion et tri tableau associatif
    Par Florent08800 dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2006, 16h23
  5. Réponses: 8
    Dernier message: 21/07/2006, 11h23

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