MySQL-Tabelle mit PHP in farbigen Zeilen ausgeben

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

  • MySQL-Tabelle mit PHP in farbigen Zeilen ausgeben

    Hallo,

    ich versuche mich gerade an einer Glossaranwendung. In meiner MySQL-DB sind bisher 5 Einträge drin. Wenn ich die Einträge dann über ein PHP-Script anzeigen lassen möchte, zeigt mir mein Script jeden Eintrag 5x an. Habe ich 6 Einträge in der DB, zeigt mein Script jeden Eintrag 6x an usw. usw. Was mache ich denn falsch?

    Hier ein Auszug aus meinem Script :

    PHP-Code:
    //Main menu
    if($action=="main"||!$action)
    {
        echo 
    "<span style=font-family:'Helvetica',Helvetica,serif;><center><a href=\"admin.php?action=add\"><img src='/Images/Alphabet1/button-w.gif' width='23' height='24' border='0'>ort hinzufügen</a>&nbsp;&nbsp;&nbsp;<a href=\"admin.php?action=help\"><img src='/Images/Alphabet1/button-h.gif' width='23' height='24' border='0'>ilfe</a><br><br></center></span>";
        echo 
    "<p>";
        
    $getWords    mysql_query("SELECT * FROM glossar ORDER BY word");
        
    $rows        mysql_num_rows($getWords);

        if(
    $getWordArray=mysql_fetch_array($getWords))
        {
            echo 
    "<table border=1 align=center width=83% bgcolor='#FFFFFF' style=font-family:'Helvetica',Helvetica,serif;font-size:'75%'>";
            echo 
    "<tr><th colspan=5 bgcolor=lightblue>&nbsp</th></tr>";
            echo 
    "<tr><th colspan=5 bgcolor=lightblue>Anzahl der Datensätze : $rows</th></tr>";
            echo 
    "<tr><th colspan=5 bgcolor=lightblue>&nbsp</th></tr>";
            do
            {
                for(
    $i=0;$i<$rows;$i++)
                {
                    if (
    $i 2){
                        echo 
    "<tr bgcolor=burlywood>";
                        echo 
    "<td width=16% style=font-family:'Helvetica',Helvetica,serif;font-size:'125%'><b>$getWordArray[word]</b></td>";
                        echo 
    "<td width=69%>$getWordArray[definition]</td>";
                        echo 
    "<td width=5%><span style=font-family:'Helvetica',Helvetica,serif;><a href=\"admin.php?action=edit&id=$getWordArray[id]\"><img src='/Images/Alphabet1/button-b.gif' width='23' height='24' border='0'>earbeiten</a></span></td>";
                        echo 
    "<td width=5% span style=font-family:'Helvetica',Helvetica,serif;><a href=\"admin.php?action=delete&id=$getWordArray[id]\"><img src='/Images/Alphabet1/button-l.gif' width='23' height='24' border='0'>öschen</a></span></td>";
                        echo 
    "<td width=5% span style=font-family:'Helvetica',Helvetica,serif;><a href=\"admin.php?action=getcode&id=$getWordArray[id]\"><img src='/Images/Alphabet1/button-c.gif' width='23' height='24' border='0'>ode&nbsp;erhalten</a></td></tr></span></td>";
                        echo 
    "</tr>";
                    }
                    else {
                        echo 
    "<tr bgcolor=lightblue>";
                        echo 
    "<td width=16% style=font-family:'Helvetica',Helvetica,serif;font-size:'125%'><b>$getWordArray[word]</b></td>";
                        echo 
    "<td width=69%>$getWordArray[definition]</td>";
                        echo 
    "<td width=5%><span style=font-family:'Helvetica',Helvetica,serif;><a href=\"admin.php?action=edit&id=$getWordArray[id]\"><img src='/Images/Alphabet1/button-b.gif' width='23' height='24' border='0'>earbeiten</a></span></td>";
                        echo 
    "<td width=5% span style=font-family:'Helvetica',Helvetica,serif;><a href=\"admin.php?action=delete&id=$getWordArray[id]\"><img src='/Images/Alphabet1/button-l.gif' width='23' height='24' border='0'>öschen</a></span></td>";
                        echo 
    "<td width=5% span style=font-family:'Helvetica',Helvetica,serif;><a href=\"admin.php?action=getcode&id=$getWordArray[id]\"><img src='/Images/Alphabet1/button-c.gif' width='23' height='24' border='0'>ode&nbsp;erhalten</a></td></tr></span></td>";
                        echo 
    "</tr>";
                    }
                }
            }
            while(
    $getWordArray=mysql_fetch_array($getWords));
            echo 
    "</table>";}
        else
        {
            echo 
    "<br><br><span style=font-family:'Helvetica',Helvetica,serif;>Zur Zeit gibt es keine Wörter in der Datenbank. <a href=\"admin.php?action=add\">Wort hinzufügen</a></span>";
        }

    Wahrscheinlich bin ich zu dämlich, um den Fehler zu finden.

    Die MySQL-DB hat nur drei Spalten :

    $createDb=mysql_query("CREATE TABLE glossar (
    id int(6) NOT NULL auto_increment,
    word varchar(40) default NULL,
    definition text,
    PRIMARY KEY (id),
    UNIQUE KEY id (id),
    FULLTEXT KEY word (word,definition)
    )


    Weiß jemand, was ich falsch mache?


    Vielen Dank im voraus


    Joachim


    joachim@scholtysik.net

  • #2
    Du durchlaeufst in deiner aeusseren Schelifen (die do-while) eine weitere for-schleife ... daher wird jeder eintrag so oft ausgegeben, wie insgesamt Eintraege in deiner DB sind.

    so vielleicht: (ungetestet!!!)

    PHP-Code:
    $i 1;
    while(
    $getWordArray=mysql_fetch_array($getWords)) {
        
    $color $i "burlywood" "lightblue";
        
        echo 
    "<tr bgcolor=".$color.">";
        echo 
    "den rest";
        
    $i++;

    Kommentar


    • #3
      @jscholtysik
      Bevor du fragst was das
      PHP-Code:
      $color $i "burlywood" "lightblue"
      zu bedeuten hat, schau hier nach: http://www.devmag.net/tricks/php/php_trick_9.htm
      mfg
      Günni


      Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
      Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
      Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
      City-Tiger - Online durch die Straßen tigern...

      Kommentar


      • #4
        Passt !!

        Danke BlobBanana und Günni,

        klappt super.

        Vielen Dank noch mal für die prompte Hilfe.


        Viele Grüße.


        Joachim

        Kommentar

        Lädt...
        X