array --> key u. wert, mysql u. php

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

  • array --> key u. wert, mysql u. php

    ich möchte einen Adminbereich für mein Forum schreiben, dafür lese ich die MySQL-Datenbank aus.
    Die Admins sollen mehr Daten einsehen können, als normale User.
    SO nun zu meinem Problem:

    es soll eine Tabelle erstellt werden, bei der die Schlüssel einmalig ausgegeben werden und danach sollen die einzelnen Datensätze kommen.
    das soll dann so wie bei phpmyadmin aussehen
    PHP-Code:
     if(isset($rowall['rechte']) && $rowall['rechte'] == "Administrator")
    {
        
    $auswahl "*";
    }
    else
    {
        
    $auswahl "user, email, geschlecht";
    }
    $sql "SELECT
            
    $auswahl
           FROM
            user;"
    ;
    $result mysql_query($sql);
    $i 0;

    echo
    "<table style=\"width:100%; border-collapse:collapse;\">";

    while (
    $row mysql_fetch_assoc($result))
    {
    $i++;
             echo
    "<tr>";
        foreach (
    $row as $key => $wert)
        {
            if (
    $i == "1")
            {
                echo
    "<td>".$key."</td>";
                         continue 
    1;
            }

            echo
    "<td>".$wert."</td>";

                }
        echo
    "</tr>";

    }
    echo
    "</table>"

    hier geht mir irgendwie ein Ergebnis verloren, undzwar das erste
    könnt ihr mir helfen?

  • #2
    nimmt continue raus, dann hast du deine 1. Zeile wieder, weil dadurch die
    Ausgabe abgebrochen wird. Es ist ein logischer Fehler von dir. Du gibst die
    Keys aus und denkst, du musst nächste DS holen um an die Werte zu
    kommen, und vergisst dabei, dass die Keys und Wert immer zusammen
    gehören, d.h. holst du Keys, hast du Wert automatisch dabei. D.h. wenn du
    if ($i==10) setzt dann bekommst du die Ausgabe der Keys erst in der 10. Zeile.

    BTW $i ist integer also bitte auch if ($i==1) prüfen

    Kommentar


    • #3
      ok danke das geht schonmal... nur jetzt gibts ein neues Problem

      es wird folgendes eusgegeben:

      erste Reihe:
      | key | wert1 | key | wert1 | key | wert1 |
      zweite Reihe:
      |wert1| wert1 | wert1|

      so solls eigentlich aussehen:

      erste Reihe:
      | key | key | key |
      zweite Reihe:
      |wert1 |wert1 |wert1|
      dritte Reihe:
      |wert2 |wert2 |wert2|

      usw.

      wie kann ich das mit so wenig Aufwand wie möglich realisieren?
      Zuletzt geändert von V.F.A; 08.04.2004, 21:22.

      Kommentar


      • #4
        denk mal schaaaaf nach:
        - bin ich der erste datensatz => lese keys aus => foreach
        - mache immer zeilen mit werten

        andere bedingungen für die ausgabe sehe ich nicht.
        Kissolino.com

        Kommentar


        • #5
          juhu es geht

          PHP-Code:
          echo"<table style=\"width:100%; border-collapse:collapse;\">";
          $i 0;
          while (
          $row mysql_fetch_assoc($result))
          {
          $i++;
          echo
          "<tr>";
              if (
          $i==1)
              {
                       foreach (
          $row as $key => $wert)
                       {
                               echo
          "<td>".$key."</td>";

                       }
                  echo
          "</tr>";
              }
                   foreach (
          $row as $value)
              {
                  echo
          "<td>".$value."</td>";
              }
              echo
          "</tr>";
          }
          echo
          "</table>"
          hmm jetzt hab ich aber zwei foreach gebraucht O_O

          Kommentar


          • #6
            Original geschrieben von V.F.A
            hmm jetzt hab ich aber zwei foreach gebraucht O_O
            hmmm, da du die spalten nicht umsortierst, reicht auch ein:
            PHP-Code:
            echo "<td>"implode('</td><td>',$row) ."</td>"
            anstelle des 2. foreach
            EDIT:
            falsche variable in richtige geändert ;-)
            Zuletzt geändert von Wurzel; 09.04.2004, 07:19.
            Kissolino.com

            Kommentar


            • #7
              ok danke werde ich mal ausprobieren

              Kommentar


              • #8
                und wenn du die 1. Zeile aus der while-Schleife raus nimmst, brauchst du
                kein if, etwa:

                $row = ... // zeile holen
                foreach ... // keys ausgeben
                echo .... // wert ausgeben
                while ... // restliche werte ausgeben

                Kommentar

                Lädt...
                X