Äh, und wobei sollen wir Dir helfen? Sieht doch soweit ok aus (?) ...
hi leutz,
ich habe nun eine ausgabe aus einer datenbank in eine tabelle mit 4 spalten. in der letzten spalte soll man den eintrag aktivieren können. bei jeder ausgegebenen zeile gibt es auch den link "aktivieren". wenn ich nun auf den link klicke soll der jeweilige eintrag mit der jeweiligen "id" aktiviert werden.
ich habe folgenden code:
PHP-Code:for ($i=0; $i<$content; $i++)
{
$datum = date ("d.m.Y", mysql_result($ergebnis, $i, "datum"));
//$datum = mysql_result($ergebnis, $i, "datum");
$id = mysql_result($ergebnis, $i, "id");
$autor = mysql_result($ergebnis, $i, "autor");
$review = mysql_result($ergebnis, $i, "review");
$show = mysql_result($ergebnis, $i, "show");
echo " <font face='tahoma' size='2'>
<tr>
<td valign='top' align='center' bordercolor='black' style='border: dashed; border-width: 0px 1px 0px 0px'>$datum</td>
<td valign='top' align='left' bordercolor='black' style='border: dashed; border-width: 0px 1px 0px 0px'> $review</td>
<td valign='top' align='left' bordercolor='black' style='border: dashed; border-width: 0px 1px 0px 0px'> $autor</td>
<td valign='top' align='left' bordercolor='black' style='border: dashed; border-width: 0px 0px 0px 0px'> ><a href=\"?do=active&id=$id\">Aktivieren</a></td>
</tr></font>";
}
zum aktivieren:
kann mir jemand weiterhelfen??PHP-Code:<?
function active_status ($id) {
if ($do==active) {
$sql="update tbl_reviews set show = 'ja' where id = '$id'";
mysql_query($sql, $db);
}
}
switch ($do){
case active:
active_status($id);
break;
}
?>
mfg
hallmi
Äh, und wobei sollen wir Dir helfen? Sieht doch soweit ok aus (?) ...
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
naja,
es wird einfach nicht der wert 1 in die jeweilige spalte gespeichert. es passiert einfach nichts.
mfg
hallmi
aus dem bauch heraus, würd ich es so versuchen
PHP-Code:
function active_status ($id) {
// die if-anweisung hab ich gestanzt, da die function nur aufgerufen wird, wenn $_GET['do'] "active" ist - siehe switch
$sql="update tbl_reviews set show = 'ja' where id = '$id'";
mysql_query($sql, $db);
}
switch ($_GET['do']){
case "active":
active_status($id);
break;
}
?>
ich haba jetzt hin und her probiert aber es funtzt trotzdem nicht!
an was könnte es noch liegen??
hier der code:
PHP-Code:<?
$sql = "SELECT * FROM tbl_reviews";
$ergebnis = mysql_query ($sql,$db);
$content = mysql_num_rows($ergebnis);
$anzreviews = mysql_query("SELECT id FROM tbl_reviews");
echo " <font face='tahoma' size='2'>
<table border='0' align='center' width='90%' cellspacing='0' cellpadding='0' bordercolor='black' style='border: dashed; border-width: 1px 1px 1px 1px'>
<tr>
<td align='left' width='12%' bordercolor='black' style='border: dashed; border-width: 0px 1px 1px 0px'><b> Datum</b></td>
<td align='left' width='55%' bordercolor='black' style='border: dashed; border-width: 0px 1px 1px 0px'><b> Review</b></td>
<td align='left' width='20%' bordercolor='black' style='border: dashed; border-width: 0px 1px 1px 0px'><b> Autor</b></td>
<td valign='top' align='left' bordercolor='black' style='border: dashed; border-width: 0px 0px 1px 0px'> >Status</td>
</tr></font>
";
for ($i=0; $i<$content; $i++)
{
$datum = date ("d.m.Y", mysql_result($ergebnis, $i, "datum"));
//$datum = mysql_result($ergebnis, $i, "datum");
$id = mysql_result($ergebnis, $i, "id");
$autor = mysql_result($ergebnis, $i, "autor");
$review = mysql_result($ergebnis, $i, "review");
$show = mysql_result($ergebnis, $i, "show");
echo " <font face='tahoma' size='2'>
<tr>
<td valign='top' align='center' bordercolor='black' style='border: dashed; border-width: 0px 1px 0px 0px'>$datum</td>
<td valign='top' align='left' bordercolor='black' style='border: dashed; border-width: 0px 1px 0px 0px'> $review</td>
<td valign='top' align='left' bordercolor='black' style='border: dashed; border-width: 0px 1px 0px 0px'> $autor</td>
<td valign='top' align='left' bordercolor='black' style='border: dashed; border-width: 0px 0px 0px 0px'> ><a href=\"?do=active&id=$id\">Aktivieren</a></td>
</tr></font>";
}
echo "</table>";
?><br>
Die Datenbank umfasst <? echo mysql_num_rows($anzreviews); ?> Reviews.
</font>
</td>
</tr>
</table>
<p> </p></td>
</tr>
<tr>
<td height="304"> </td>
<td> </td>
</tr>
<tr>
<td height="15" colspan="5" valign="middle"> </td>
</tr>
</table>
<?
function active_status ($id) {
// die if-anweisung hab ich gestanzt, da die function nur aufgerufen wird, wenn $_GET['do'] "active" ist - siehe switch
$sql="update tbl_reviews set show = 'ja' where id = '$id'";
mysql_query($sql, $db);
}
switch ($_GET['do']){
case "active":
active_status($id);
break;
}
?>
</body>
</html>
versuchs mal mit:
$sql="update tbl_reviews set show = 'ja' where id = '$_GET[id]'";
bzw. dem code im anhang
wenn ich folgenden code eingebe gibt die variable $id nichts zurück, irgendwie wird die id nicht übergeben...
oderPHP-Code:<?
if ($_GET['do'] == "act") {
echo $_GET[id];
//$sql="update tbl_reviews set show = 'ja' where id = '$_GET[id]'";
// mysql_query($sql, $db);
}
?>
PHP-Code:<?
if ($do == "act") {
echo $id;
//$sql="update tbl_reviews set show = 'ja' where id = '$_GET[id]'";
// mysql_query($sql, $db);
}
?>
Wenn Du Dir die URL's ansieht, die er pro Zeile erzeugt - steht da auch die ID in der URL drin?
Also z.B. ?do=active&id=12345 ?
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
ja, so steht die url in der adresszeile und in der statuszeile![]()
nun gut,
also in mittler weile kann ich die id via echo ausgeben, d.h. sie wird weitergegeben. nun aber wird trotzdem nicht der wert 'ja' in die jeweilige zeile eingetragen.
Geändert von hallmi (27.11.2003 um 17:07 Uhr)
Da ist ja auch noch nen Schreibfehler drin (da müssen mehr " hin). Richtig komplett muss es heissen:
$sql="update tbl_reviews set show = 'ja' where id = '".$_GET['id']."'";
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)