Hallo an alle,
ich habe folgendes Problem, vielleicht bin ich auch nur zu blöd den Tippfehler zu finden:
Ich arbeite gerade daran, neue bestehende Kategorien in meiner DB per Webinterface zu bearbeiten und umbenennen zu können. Meiner Meinung nach ist der Code in Ordnung. Meine Fehlerüberprüfung sagt mir aber aus irgendeinem Grund, dass der Datensatz nicht geändert werden konnte. Die Verbindung zur DB wird in einer separaten include-Datei hergestellt. Da diese einwandfrei arbeitet habe ich sie nicht mitgepostet.
Hoffe ihr könnt mir helfen!
Gruß Björn
Hier noch der Code. Es sind drei Dateien:
Datei1: kat_bear_1.php (Auflistung der vorhandenen Kategorien)
Datei2: kat_bear_2.php (Änderung des Datensatzes)
Datei3: kat_bear_3.php (Meldung ob Datensatz geändert wurde)
ich habe folgendes Problem, vielleicht bin ich auch nur zu blöd den Tippfehler zu finden:
Ich arbeite gerade daran, neue bestehende Kategorien in meiner DB per Webinterface zu bearbeiten und umbenennen zu können. Meiner Meinung nach ist der Code in Ordnung. Meine Fehlerüberprüfung sagt mir aber aus irgendeinem Grund, dass der Datensatz nicht geändert werden konnte. Die Verbindung zur DB wird in einer separaten include-Datei hergestellt. Da diese einwandfrei arbeitet habe ich sie nicht mitgepostet.
Hoffe ihr könnt mir helfen!
Gruß Björn
Hier noch der Code. Es sind drei Dateien:
Datei1: kat_bear_1.php (Auflistung der vorhandenen Kategorien)
PHP Code:
<html>
<body>
<form action = "kat_bear_2.php" method = "post">
<?php
include('include/db.inc.php');
$res = mysql_db_query("shop",
"select * from kategorie");
$num = mysql_num_rows($res);
echo '<font size="+1">Welche Kategorie soll geändert werden?</font><p>';
// Tabellenbeginn
echo "<table border>";
// Überschrift
echo "<tr><td>Auswahl</td> <td>Name</td>";
echo "<td>Über Kategorie</td></tr>";
for ($i=0; $i<$num; $i++)
{
$id = mysql_result($res, $i, "kategorie_id");
$na = mysql_result($res, $i, "name");
$ue_id = mysql_result($res, $i, "ueber_kategorie_id");
// Tabellenzeile mit -zellen
echo "<tr> <td><input type='radio' name='auswahl'";
echo " value='$id'></td> <td>$na</td><td>$ue_id</td></tr>";
}
// Tabellenende
echo "</table>";
?>
<p>
<input type="submit" value="Datensatz anzeigen"><p>
</form>
<a href="backoffice.php">Main</a>
</body>
</html>
PHP Code:
<html>
<body>
<?php
if ($auswahl)
{
include('include/db.inc.php');
$sqlab = "select * from kategorie where";
$sqlab .= " kategorie_id = $auswahl";
$res = mysql_db_query("shop", $sqlab);
$altid = mysql_result($res, 0, "kategorie_id");
$altna = mysql_result($res, 0, "name");
$altue_id = mysql_result($res, 0, "ueber_kategorie_id");
echo '<font size="+1">Bitte Änderungen durchführen</font><p>';
echo "<form action = 'kat_bear_3.php' ";
echo " method = 'post'>";
echo "<input name='neuid' value='$auswahl'>";
echo " Kategorie_ID<p>";
echo "<input name='neuna' value='$altna'>";
echo " Name<p>";
echo "<input name='neuue_id' value='$altue_id'> ";
echo " Über Kategorie<p>";
echo "<input type='hidden' name='oriid' ";
echo " value='$auswahl'>";
echo "<input type='submit' ";
echo " value='Änderungen in DB speichern'><p>";
echo "<input type='reset'>";
echo "</form>";
}
else
echo "Es wurde kein Datensatz ausgewählt<p>";
?>
</body>
</html>
PHP Code:
<html>
<body>
<?php
include('include/db.inc.php');
$sqlab = "update kategorie set kategorie_id = '$neuid',";
$sqlab = "name = '$neuna',";
$sqlab = "ueber_kategorie_id = '$neuue_id'";
$sqlab = "where kategorie_id = $oriid";
mysql_db_query("shop", $sqlab);
$num = mysql_affected_rows();
if ($num>0)
echo "Der Datensatz wurde geändert<p>";
else
echo "Der Datensatz wurde nicht geändert<p>";
?>
Zurück zur <a href="kat_bear_1.php">Auswahl</a><p>
<a href="backoffice.php">Main</a>
</body>
</html>
Comment