checkbox-daten an sql übergeben

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

  • checkbox-daten an sql übergeben

    hallo
    ich stehe vor dem problem, dass ich aus einer datenbank tabelle daten auslese (klar, oder?) ... der letzte wert heisst "oeffentlich" und entscheidet darüber, ob die daten auf der website angezeigt werden, oder nicht.
    ist "oeffentlich"=1 dann wird es angezeigt, ist es 0 dann nicht. im admin-breich werden nun die ganzen daten der tabelle ausgegeben. auch "oeffentlich" - diese variable aber in einer checkbox. ist der wert 0, ist die checkbox leer, ist der wert 1 ist die checkbox "checked". hinter jeder checkbox wird ein submit button ausgegeben.
    ich will nun, dass ich die checkboxen anklicken kann, auf den submit-button drücke und der wert "oeffentlich" von 0 auf 1 gesetzt wird.

    wie mache ich das der datenbank klar?!

    hier das script:


    <?php
    include "config_jmw.php";
    global $dbhost;
    global $dbbenutzer;
    global $dbpasswort;
    global $db;
    $link = mysql_connect( $dbhost, $dbbenutzer, $dbpasswort );
    if ( ! $link )
    die( "Keine Verbindung zu MySQL" );
    mysql_select_db( $db, $link )
    or die ( "Konnte Datenbank \"$db\" nicht öffnen: ".mysql_error() );
    $result=mysql_query( "SELECT category, domain, about, name, date, oeffentlich FROM jmw order by date desc");
    $num = mysql_numrows($result);
    print "<table border=1 cellspacing=0 cellpadding=0>\n";
    print "<form action=\"$PHP_SELF\" method=\"POST\">\n";
    print "<tr>\n\t<td>Kategorie</td>\n\t<td>verlinktes kommentar</td>\n\t<td>autor</td>\n\t<td>datum</td>\n\t<td>freigegeben?</td>\n";
    for ($i = 0; $i < $num; $i++)
    {
    $row = mysql_fetch_array($result);
    print "<tr>\n";
    print "\t<td>$row[category]</td>\n";
    print "\t<td><a href=\"$row[domain]\">$row[about]</a></td>\n";
    print "\t<td>$row[name]</td>\n";
    print "\t<td>$row[date]</td>\n";

    if($row[oeffentlich] == 1)
    {
    print "\t<td><input type=\"checkbox\" name=\"oeffentlich\" checked><input type=\"submit\" value=\"go!\" name=\"0\"></td>\n";
    }
    else
    {
    print "\t<td><input type=\"checkbox\" name=\"oeffentlich\"><input type=\"submit\" value=\"go!\" name=\"1\"></td>\n";
    }

    print "</tr>\n";
    }
    print "</form>\n";
    print "</table>\n";
    mysql_close( $link );
    ?>


    vielen dank für die hilfe!

  • #2
    hi

    also als erstes solltest du im SELECT auch eine eindeutige id abfragen. hat deine tabelle für jeden eintrag darin eine solche eindeutige id ? tip: ein auto_increment feld eignet sich bestens, muss aber bei mysql als primary_key definiert sein.

    CREATE TABLE demo (
    id INT not null AUTO_INCREMENT,
    subject TEXT not null,
    body TEXT not null,
    PRIMARY KEY (id)
    )

    wenn du dann deine eindeutige id hast kannst du ohne weiteres bei jeder einzelnen table-row ein <input type=hidden name=id value=$row[id]> und am besten machst du für jede row ein kleines mini formular wenn du bei jeder einzelnen einen submit button willst.

    ansonsten fehlt deinem code noch das SQL UPDATE um die änderung vorzunehmen. hier brauchst du eben auch die ID damit du genau sagen kannst welcher eintrag geändert werden soll.

    greets
    ------------------------
    http://swisswebgroup.com
    ------------------------

    Kommentar

    Lädt...
    X