Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
checkbox-daten an sql übergeben [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
checkbox-daten an sql übergeben


 
Ankstorkhan
28-05-2001, 17:38 
 
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!

 
svoboda
03-06-2001, 19:28 
 
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:58 Uhr.