Willkommen in der Webstatt Zum Webstatt Blog und Stories
Bonze am 09.04.06 16:16

ich weiss ich fange schon an zu nerven aber hab noch ein kleines prob , an dessen lösung ich schon ne ganze weile sitze und es nicht schaffe :(

also ich bearbeite meine news speichere sie wieder ab , jedoch überschreibt es mir alle gespeicherten news mit der geänderten , hier dazu der code

<?PHP
$mysql = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('projects', $mysql) or die(mysql_error());

if (array_key_exists('delete',$_GET)) {
$deleteid = (int) $_GET['delete'];
$sql = "DELETE FROM news WHERE ID = '".$_GET['delete']."'";
$sql2 = "DELETE FROM news_comments WHERE NewsID = '".$_GET['delete']."'";
$query = mysql_query($sql) OR die(mysql_error());
$query2 = mysql_query($sql2) OR die(mysql_error());
echo 'Ihr Datensatz wurde erfolgreich gelöscht.';
exit;
}

if (isset($_GET['edit']) && !empty($_GET['edit']) && is_numeric($_GET['edit'])){
$sql = "SELECT * FROM news WHERE ID = '".$_GET['edit']."'";
$query = mysql_query($sql) OR die(mysql_error());
$ds = mysql_fetch_object($query);
?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width="500" border="0" cellpadding="3" cellspacing="1" bgcolor="#000">
<tr>
<td colspan="2" bgcolor="#AAA" align="center"><font color="#FFFFFF"><b>News
Bearbeiten </b></font></td>
</tr>
<tr>
<td colspan="2" bgcolor="#CCC"><font color="#FFFFFF">von <?echo($ds->Autor);?></font></td>
</tr>
<tr>
<td width="287" bgcolor="#CCC"><font color="#FFFFFF">Titel</font></td>
<td width="198" bgcolor="#C0C0C0"><font color="#FFFFFF">
<input name="titel" type="text" style="font-family: Verdana; font-size: 11px;" value="<?echo($ds->Titel);?>" size="33" />
</font></td>
</tr>
<tr>
<td bgcolor="#CCC"><font color="#FFFFFF">News</font></td>
<td bgcolor="#C0C0C0"><font color="#FFFFFF">
<textarea name="news" cols="33" rows="5" style="font-family: Verdana; font-size: 11px;"><?echo($ds->Inhalt);?></textarea>
</font></td>
</tr>
<tr>
<td bgcolor="#CCC"><font color="#FFFFFF">Kategorie</font></td>
<td bgcolor="#C0C0C0"><font color="#FFFFFF">
<input name="kat" type="text" style="font-family: Verdana; font-size: 11px;" value="<?echo($ds->kat);?>" size="33" />
</font></td>
</tr>
<tr>
<td bgcolor="#CCC"><font color="#FFFFFF">Links</font></td>
<td bgcolor="#C0C0C0"><font color="#FFFFFF">
<input name="links" type="text" style="font-family: Verdana; font-size: 11px;" value="<?echo($ds->links);?>" size="33" />
</font></td>
</tr>
<tr>
<td height="49" colspan="2" valign="top" bgcolor="#CCC"> <font color="#FFFFFF">&nbsp;
</font>
<div align="center"><font color="#FFFFFF">
<input name="speichern" type="submit" value="Speichern">
<input type="hidden" name="id" value="<? echo ($ds->ID); ?>">
</font> </div>
</td>
</tr>
</table>
<?
exit;
}

if (isset($_POST['speichern'])){
$sql = "UPDATE `news` SET
`Kategorie` = '".addslashes($_POST['kat'])."',
`Autor` = '$row[UserName]',
`Titel` = '".addslashes($_POST['titel'])."',
`Inhalt` = '".addslashes($_POST['news'])."',
`Datum` = '".time()."'
";
$query = mysql_query($sql) OR die(mysql_error());
echo 'Ihr Datensatz wurde erfolgreich gespeichert.';
exit;
}

$sql = 'SELECT * FROM news ORDER BY `ID` DESC ';
$query = mysql_query($sql) OR die(mysql_error());

if (!mysql_num_rows($query) > 0){
echo 'Keine Eintr&auml;ge vorhanden.';
exit;
} else {
$cntquery = mysql_query('SELECT COUNT(*) cnt FROM news');
$row = mysql_fetch_assoc($cntquery);
$count = $row['cnt']+1;
?>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" >
<tr bgcolor="#E1F0F4">
<td colspan="3"><font size="2"face="Verdana"><b>News Titel</b></font></td>
<td width="50%"><font size="2">&nbsp;</font></td>
<td width="13%"><font size="2"face="Verdana">&nbsp;</font></td>
<td width="9%"> <center>
<font size="2" face="Verdana"><b> Bearbeiten </b></font></center></td>
<td width="6%"> <center>
<font size="2" face="Verdana"><b> Löschen </b></font></center></td>
<td width="14%"> <center>
<font size="2" face="Verdana"><b> Feedback </b></font></center></td>
</tr>
<?php
while ($ds = mysql_fetch_object($query)){
--$count;
$timestamp = $ds->Datum;
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
?>

<tr bgcolor="#FFFFFF">
<td width="3%"><b><font color="#000000" size="2">Nr<em><?php echo($count);?></em></font></b></td>
<td width="1%"><em><?php echo($ds->Autor);?></em></td>
<td width="4%"><b><font color="#000000" size="2"><em><?php echo(substr($ds->Titel, 0, 50))?></em></font></b></td>
<td width="50%"><b><em><?php echo(substr($ds->Inhalt, 0, 50))?>...</em></b></td>
<td><font color="#000000" size="2"><b>vom <?php echo $datum,"-",$uhrzeit,"Uhr"; ?>
</b></font></td>
<td width="9%"> <center>
<font color="#000000" size="2" face="Verdana"><a href="?edit=<? echo $ds->ID; ?>">X</a>
</font>
</center></td>
<td width="6%"> <center>
<font color="#000000" size="2"><a href="?delete=<? echo $ds->ID; ?>">X</a>
</font>
</center></td>
<td width="14%"> <center>
<font color="#000000" size="2"><?php
echo"<a href=\"kommentar.php?edit=$ds->ID\">Kommentare bearbeiten</a>";
?>
</td>
</tr>

<?
}
echo '</table>';
}
?>

netcup.de Warum gibt es hier Werbung?
Sven Sven am 09.04.06 16:19

<?php
$sql = "UPDATE `news` SET
`Kategorie` = '".addslashes($_POST['kat'])."',
`Autor` = '$row[UserName]',
`Titel` = '".addslashes($_POST['titel'])."',
`Inhalt` = '".addslashes($_POST['news'])."',
`Datum` = '".time()."'
";
?>


Da knallscht no ei WHERE deine_news_id = $die_news_id rein ;)

Bonze am 09.04.06 17:02

mhh hab jetzt
$sql = "UPDATE `news` WHERE ID = '".$_GET['edit']."' SET
`Kategorie` = '".addslashes($_POST['kat'])."',
`Autor` = '$row[UserName]',
`Titel` = '".addslashes($_POST['titel'])."',
`Inhalt` = '".addslashes($_POST['news'])."',
`Datum` = '".time()."'


bekomme aber dann den fehler :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID = '' SET `Kategorie` = '<cdfd', `Autor` = '', ' at line 1

Al3x0r Al3x0r am 09.04.06 17:44

Quote
Original von Bonze
mhh hab jetzt
$sql = "UPDATE `news` WHERE ID = '".$_GET['edit']."' SET
`Kategorie` = '".addslashes($_POST['kat'])."',
`Autor` = '$row[UserName]',
`Titel` = '".addslashes($_POST['titel'])."',
`Inhalt` = '".addslashes($_POST['news'])."',
`Datum` = '".time()."'


bekomme aber dann den fehler :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID = '' SET `Kategorie` = '<cdfd', `Autor` = '', ' at line 1


Schreibt man das nicht auch in der Reihenfolge (?) :

$sql = "UPDATE `news` SET
`Kategorie` = '".addslashes($_POST['kat'])."',
`Autor` = '$row[UserName]',
`Titel` = '".addslashes($_POST['titel'])."',
`Inhalt` = '".addslashes($_POST['news'])."',
`Datum` = '".time()."' WHERE ID = '".$_GET['edit']."' ";


Also erst die Tabelle, dann die Anweisung ( SET ) und dann mit welcher Bedingung (where).


mfg Alex

Bonze am 09.04.06 17:47

jo hab ich auch schon ausprobiert ändert nix am fehler

also jetzt kann ich es speichern ohne fehler jedoch , ersetzt es nichts in der datenbank,

Sven Sven am 09.04.06 18:29

So ?
$sql = "UPDATE `news` SET `Kategorie` = '" . addslashes($_POST['kat']) . "',
`Autor` = '" . $row['UserName'] . "',
`Titel` = '" . addslashes($_POST['titel']) . "',
`Inhalt` = '" . addslashes($_POST['news']) . "',
`Datum` = '" . time() . "'
WHERE ID = '" . $_GET['edit'] . "'";

Bonze am 09.04.06 18:35

so ja
$sql = "UPDATE `news` SET
`Kategorie` = '".addslashes($_POST['kat'])."',
`Autor` = '".$row[UserName]."',
`Titel` = '".addslashes($_POST['titel'])."',
`Inhalt` = '".addslashes($_POST['news'])."',
`Datum` = '".time()."'
WHERE ID = '".$_GET['edit']."'
";


so funktionertes leider aber immernochnicht :(

Bonze am 10.04.06 17:27

wenhn es jemandem hilft , so sieht meine db struktur aus!
CREATE TABLE `news` (
`ID` int(6) NOT NULL auto_increment,
`Kategorie` varchar(20) collate latin1_general_ci default NULL,
`Autor` varchar(20) collate latin1_general_ci default NULL,
`Titel` varchar(100) collate latin1_general_ci default NULL,
`Inhalt` text collate latin1_general_ci,
`Datum` varchar(11) collate latin1_general_ci default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=15 ;

--
-- Daten für Tabelle `news`
--

INSERT INTO `news` (`ID`, `Kategorie`, `Autor`, `Titel`, `Inhalt`, `Datum`) VALUES (10, '', '', 'haha:D =', 'sgmfögh.hkgjlkölä-TEST :frag: :grrr: ;) :frag:', '1144518033'),
(9, '', '', 'haha:D =', 'sgmfögh.hkgjlkölä-TEST :frag: :grrr: ;) :frag:', '1144518033'),
(7, '', '', 'haha:D =', 'sgmfögh.hkgjlkölä-TEST :frag: :grrr: ;) :frag:', '1144518033'),
(14, '', '', 'haha:D =', 'sgmfögh.hkgjlkölä-TEST :frag: :grrr: ;) :frag:', '1144518033'),
(11, '', '', 'haha:D =', 'sgmfögh.hkgjlkölä-TEST :frag: :grrr: ;) :frag:', '1144518033'),
(12, '', '', 'haha:D =', 'sgmfögh.hkgjlkölä-TEST :frag: :grrr: ;) :frag:', '1144518033'),
(13, '', '', 'haha:D =', 'sgmfögh.hkgjlkölä-TEST :frag: :grrr: ;) :frag:', '1144518033');

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt