multidimensionallse arrays

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • multidimensionallse arrays

    hallo,

    PHP-Code:


    function main(){
        
        
    $conn = new mysqlconnection();
        
    $cat $conn->query("SELECT * FROM `member_cat`");
        
    $link = array();
        while (
    $row mysql_fetch_array($catMYSQL_ASSOC)) {
            
    $id $row['id'];
            
    $player $conn->query("SELECT * FROM `member` WHERE `id_cat` = '$id'");
            
    $name $row['name'];
            
    $i=1;
            while (
    $row2 mysql_fetch_array($playerMYSQL_ASSOC)) {
                
    $member[$name]= array($i => array( "name" => $row2['name'],
                                                   
    "status" => $row2['status'],
                                                    
    "nick" => $row2['nick'],
                                                    
    "msn" => $row2['msn'],
                                                      
    "icq" => $row2['icq'],
                                                    
    "function" => $row2['function']));
                
    $i++;
            }
        }
        
        
        
    $out print_r($member);
        return 
    $out;

    ich habe die obrige funktion geschrieben,


    sie gibt folgendes aus:
    Code:
      Array
    (
        [Admins] => Array
            (
                [1] => Array
                    (
                        [name] => Rolandssss
                        [status] => Active
                        [nick] => Roland
                        [msn] => [email]rsssssss@hotmail.com[/email]
                        [icq] => 999-999-999
                        [function] => Admin
                    )
    
            )
    
        [leader] => Array
            (
                [1] => Array
                    (
                        [name] => thomsadsssasas
                        [status] => Active
                        [nick] => senior
                        [msn] => [email]asdasd@seniosssr.ch[/email]
                        [icq] => 888-888-888
                        [function] => Leader
                    )
    
            )
    
        [Fighter] => Array
            (
                [2] => Array
                    (
                        [name] => michael
                        [status] => Active
                        [nick] => volti
                        [msn] => asdfasdfsdfsadf
                        [icq] => 999999999
                        [function] => Fighter
                    )
    
            )
    
    )
    aber beim array Fighter solten mehr eigräge sein (stehen auch in der db),
    ich glaube, das die zweite while schleife immer überschreibt anstat neu anlegt.

    kan mir jeman helfen, das es dan geht ?


    mfg roland

    (bin am verzweifeln)
    Zuletzt geändert von Rolandbar; 21.10.2004, 19:19.
    Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

  • #2
    Debuging!

    Testausgaben machen, um wenigstens deine These zu belegen.

    Kommentar


    • #3
      hab ja gepostet was die function ausgibt. die 2 die unter fighter steht, zeigt mir, das die zweite while function zwei mal durchgelaufen ist, und und somit die 1 mit den daten von 2 (zweiter durchlauf ) überschieben hat.

      num weiss ich nicht, was ich änder muss, das immer ein neues array im array fighter erstellt.

      mfg Roland
      Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

      Kommentar


      • #4
        $member[$name][] und nicht $member[$name]
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Sorry, hatte die "2" nicht richtig interpretiert. : )

          Kommentar


          • #6
            @Rolandbar, dein Fehler ist hier, anstatt:
            PHP-Code:
            $member[$name]= array($i => array( "name" => $row2['name'],
                                                           
            "status" => $row2['status'],
                                                            
            "nick" => $row2['nick'],
                                                            
            "msn" => $row2['msn'],
                                                              
            "icq" => $row2['icq'],
                                                            
            "function" => $row2['function'])); 
            mußt du entweder:
            PHP-Code:
            $member[$name][$i]= array( "name" => $row2['name'],
                                                           
            "status" => $row2['status'],
                                                            
            "nick" => $row2['nick'],
                                                            
            "msn" => $row2['msn'],
                                                              
            "icq" => $row2['icq'],
                                                            
            "function" => $row2['function']); 
            oder besser:
            PHP-Code:
            $member[$name][]= array( "name" => $row2['name'],
                                                           
            "status" => $row2['status'],
                                                            
            "nick" => $row2['nick'],
                                                            
            "msn" => $row2['msn'],
                                                              
            "icq" => $row2['icq'],
                                                            
            "function" => $row2['function']); 
            aber am bestens:
            PHP-Code:
            // $id = $row['id']; weg damit, wozu?
            $player $conn->query("SELECT `name`,status,nick,msn,icq,`function` 
            FROM `member` WHERE `id_cat` = '"
            .$row['id']."'");
            // $name = $row['name']; weg damit, grund dito
            // $i=1; auch in die Tone
            while ($row2 mysql_fetch_array($playerMYSQL_ASSOC)) 
                        
            $member[$row['name']][] = $row2;
            //          $i++; auch weg
            // }  auch weg 

            Kommentar

            Lädt...
            X