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

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

  • 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

    Comment


    • #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?
      Last edited by V.F.A; 08-04-2004, 21:22.

      Comment


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

        Comment


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

          Comment


          • #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 ;-)
            Last edited by Wurzel; 09-04-2004, 07:19.
            Kissolino.com

            Comment


            • #7
              ok danke werde ich mal ausprobieren

              Comment


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

                Comment

                Working...
                X