Wie Array erweitern? Und Namen anzeigen lassen..

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

  • Wie Array erweitern? Und Namen anzeigen lassen..

    Hi, Leutz, ich hab nen Problem, und zwar weiß ich nicht wie ich zu den Zahlen auch den Namen des Landes ausgeben kann :

    PHP-Code:
    $i 1;
    eval (
    "\$otherstats .= \"".gettemplate("stats_table_bl")."\";");

    $badenw $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='1' ");
    $bayern $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='2' ");
    $berlin $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='3' ");
    $brandenburg $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='4' ");
    $bremen $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='5' ");
    $hamburg $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='6' ");
    $hessen $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='7' ");
    $mecklenburg $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='8' ");
    $niedersachsen $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='9' ");
    $nrw $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='10' ");
    $rheinland $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='11' ");
    $saarland $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='12' ");
    $sachsen $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='13' ");
    $sachsenanhalt $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='14' ");
    $schleswig $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='15' ");
    $thueringen $db_zugriff->query_first("SELECT COUNT(*) AS anzahl FROM bb1_user_table where country ='16' ");


    $bl = array($badenw,$bayern,$berlin,$brandenburg,$bremen,$hamburg,$hessen,$mecklenburg,$niedersachsen,$nrw,$rheinland,$saarland,$sachsen,$sachsenanhalt,$schleswig,$thueringen);
    arsort($bl);
    foreach(
    $bl as $bland)
    {

        
    $grafik "<img src=\"images/vote_middle" $i ".gif\" width=\"".$bland[anzahl] . "%\" height=\"9\" border=0>";
        
    $otherstats .= "<tr><td bgcolor=$stdcolor1 width=\"5%\" align=center><font size=1>".$i."
        </td><td bgcolor=
    $stdcolor2 width=\"30%\"><font size=1>".$bland[anzahl]."</td>
        <td bgcolor=
    $stdcolor1><table width=99%><tr><td><font size=1>$grafik<br>[".$bland[anzahl]."]</td></tr></table></td></tr>";

        
    $i++;

    Weiß jemand wie ich das machen ??

  • #2
    Hmm, versuch mal die jeweiligen Ländervariablen als array zu machen und per array_push ein zweites Arrayelement (Name des Landes) hinzuzufügen, dann haste zwar ein mehrdimensionales Array, aber das sollte auch gehen...

    Kommentar


    • #3
      Ändere mal
      PHP-Code:
      foreach($bl as $bland
      in
      PHP-Code:
      foreach($bl as $land => $bland
      In $land müsste dann der Ländername sein.

      Kommentar


      • #4
        ich habe das gefühl, dass du das sehr umständlich machst ...

        überarbeite das mal komplett. hier ein paar infos.

        lege eine neue tabelle für die bundesländer an.

        Code:
        CREATE TABLE Bundeslaender (
          BLId int(11) NOT NULL auto_increment,
          Sort int(11) default NULL,
          BLName varchar(50) NOT NULL default '',
          PRIMARY KEY  (BLId),
          UNIQUE KEY BLName (BLName)
        ) TYPE=MyISAM;
        
        #
        # Dumping data for table `Bundeslaender`
        #
        
        INSERT INTO Bundeslaender VALUES (1, 1, 'Baden-Württemberg');
        INSERT INTO Bundeslaender VALUES (2, 1, 'Bayern');
        INSERT INTO Bundeslaender VALUES (3, 1, 'Berlin');
        INSERT INTO Bundeslaender VALUES (4, 1, 'Brandenburg');
        INSERT INTO Bundeslaender VALUES (5, 1, 'Bremen');
        INSERT INTO Bundeslaender VALUES (6, 1, 'Hamburg');
        INSERT INTO Bundeslaender VALUES (7, 1, 'Hessen');
        INSERT INTO Bundeslaender VALUES (8, 1, 'Mecklenburg-Vorpommern');
        INSERT INTO Bundeslaender VALUES (9, 1, 'Niedersachsen');
        INSERT INTO Bundeslaender VALUES (10, 1, 'Nordrhein-Westfalen');
        INSERT INTO Bundeslaender VALUES (11, 1, 'Rheinland-Pfalz');
        INSERT INTO Bundeslaender VALUES (12, 1, 'Saarland');
        INSERT INTO Bundeslaender VALUES (13, 1, 'Sachsen');
        INSERT INTO Bundeslaender VALUES (14, 1, 'Sachsen-Anhalt');
        INSERT INTO Bundeslaender VALUES (15, 1, 'Schleswig-Holstein');
        INSERT INTO Bundeslaender VALUES (16, 1, 'Thüringen');
        in der zweiten spalte kannst du eine sortierung vornehmen, was du
        jetzt manuell über deine vielen querys und das array machst.
        ausserdem müsstest du die IDs (erste spalte) deinen bisherigen
        nummern anpassen. ich habe das bei mir logischerweise mit anderen
        ids, als du.

        für die ausgabe brauchst du dann auch nur noch eine sql-query.
        diese liefert dir die anzahl und den namen.

        Code:
        SELECT    COUNT(U.*) AS anzahl
        
        FROM      bb1_user_table U 
                    LEFT OUTER JOIN Bundeslaender BL ON BL.BLId = U.country
        
        GROUP BY  U.country
        
        ORDER BY  BL.Sort
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar

        Lädt...
        X