PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bestimmten "artikel" bearbeiten


buzzes
28.09.2005, 17:41:56
ich bastel atm eine art einkaufsliste seite für uns zuhaus :)
hab seite zum hinzufügen von artikel und will natürlich auch für die seite die evtl. fehlerhaften artikel bearbeiten können
so sieht die seite aus ,auf der alle artikel erst mal allgemein angezeigt werden (hab unwichtige sachen ausgelassen)
$sql = "SELECT
ID,
Name,
Preis,
Laden,
Def,
Kategorie
FROM
artikel
ORDER BY
ID DESC;";

$edit = mysql_query($sql) OR die(mysql_error());
echo "Artikel in der Datenbank:<br />\n";
echo '<table width="612" border="1">
<tr><th>Name:</th><th>Preis:</th><th>Laden:</th><th>Kategorie:</th><th>Standart:</th></tr>';
while($row = mysql_fetch_assoc($edit)) {
echo "<tr>
<td>".$row['Name']."</td>
<td>".$preis."€</td>
<td>".$laden."</td>
<td>".$kate."</td>
<td>".$row['Def']."</td>
<td><a href=\"artikel_edit.php?id=".$row['ID']."\" target=\"mainFrame\">Bearbeiten</a></td>
</tr>";
}
echo "</table>";
es ist also ne tabelle mit den artikeln und deren weitere spezifizierungen (funktioniert auch)

aber ich weiß nicht wie ich (wenn man auf den "bearbeiten" knopf drückt) den einen bestimmten artikel aus der sql datenbank bearbeiten kann
(die url vom bearbeiten-button wird richtig erzeugt)
ich weiß nur dass:
ich $_GET['id'] benutzen muss um die id zu bekommen
das ich n formular machen möcht (die alten daten sollen dann natürlich vorher schon reingeschrieben werden (value="" isses doch glaub ich))

xabbuh
28.09.2005, 17:50:30
Den durch die id spezifizierten Artikel kannst du mit einer WHERE-Klausel aus der Datenbank holen:

<?php
$id = intval($_GET['id']);
$sql = "SELECT
ID,
Name
FROM
artikel
WHERE
ID = $id";
?>

buzzes
28.09.2005, 17:52:44
danke für die schnelle lösung :)

xabbuh
28.09.2005, 21:13:17
das ich n formular machen möcht (die alten daten sollen dann natürlich vorher schon reingeschrieben werden (value="" isses doch glaub ich))
Genau, bei Eingabefeldern musst du dann das value-Attribut dynamisch belegen bzw. bei mehrzeiligen Eingabefeldern den Wert zwischen <textarea> und </textarea> setzen. Denke dabei auch daran den Text mit htmlspecialchars() (http://www.php.net/htmlspecialchars) bzw. htmlentities() (http://www.php.net/htmlentities) umzuwandeln.

buzzes
29.09.2005, 00:44:15
funktioniert nun wunderbar :D

buzzes
29.09.2005, 18:46:41
evtl kann ichs ja auch direkt hier posten...
mein nächstes problem:
-wir kaufen jeden Mittwoch ein
-also soll auf der liste seite angezeigt werden wann der nächste Mittwoch ist und welches datum das ist
(das könnte dann so aussehen)
"Diese Liste ist zum Mittwoch den 05.10.05"
wie kann ich das bewerkstelligen dass php "weiß" wann der nächste mittwoch ist und welches datum dieser hat ?

xabbuh
29.09.2005, 19:46:55
Mit strtotime() (http://www.php.net/strtotime) kannst du das Datum des nächsten Mittwochs ermitteln. Allerdings habe ich die Erfahrung gemacht, dass anscheinend manchmal ein Mittwoch übersprungen wird. Das müsstest du dann noch abfangen und eine Woche zurückrechnen:

<?php
$nextWednesday = strtotime('next Wednesday');

if($nextWednesday > strtotime('+1 week'))
$nextWednesday = strtotime('-1 week', $nextWednesday);
?>