multidimensionallse arrays

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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)
    Last edited by 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.

    Comment


    • #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

      Comment


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

        Comment


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

          Comment


          • #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 

            Comment

            Working...
            X