Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Eine Zeile löschen

Hallo

Ich habe vor ca. 3Wochen mit PHP angefangen und bin gerade dabei ein Shop zu programmieren. Ich hab die ganzen Artikel schon in der Datenbank geschrieben. Das klappt alles wunderbar. Nur jetzt bekomm ich schwierigkeiten beim Warenkorb.
Jeder User bekommt von mir eine Session ID zugewiesen. Die ist eindeutig. Diese Session ID wird in die Datenbank geschrieben. Wenn der User seine Artikel im Warenkorb sehen will, wird die Session ID genommen und geguckt, was er schon alles angeklickt hat. Also heißt der SQL befehl:

SELECT wkid, pid, menge, stpreis, ges FROM warenkorb WHERE session LIKE '$sid'

Das wird dann in eine Schleife eingebunden und in eine Tabelle ausgegeben. Nun möchte ich, dass man jeden einzelnen Artikel löschen kann. Ein Freund von mir hat behauptet, das man das nur mit einem Formular machen kann und zwar soll man das mit method="get" weitergeben. Dann soll man irgendwelche Variabeln mitgeben damit das eindeutig ist was man löschen will. Wie er das genau meint weiss ich nicht...

Koennte mir einer Helfen? Wäre sehr freundlich

mfg, J3lsch0r

Hier gehts zum Orginal Eintrag "Eine Zeile löschen" im Forum

Antworten

auf die schnelle zusammengebastelt, ungetestet und benötigt Anpassungen zu Deinen Daten:

<form method="POST" action="auswerten.php">
<table border="0">
<?
     $query  = "SELECT wkid, pid, menge, stpreis, ges FROM warenkorb WHERE session LIKE '$sid'";
     $result = mysql_query($query);
     while ($data = mysql_fetch_array($result))
     {
        echo "  <tr>\n";
        echo "    <td><input type=\"text\" name=\"mengen[]\" value=\"" . $data["menge"] . "\" size=\"3\"></td>\n";
        echo "    <td>Bezeichnung</td>\n";
        echo "    <td>" . $data["stpreis"] . "</td>\n";
        echo "    <td><input type="checkbox" name=\"pids[]\" value=\"" . $data["pid"] . "\"></td>\n";
        echo "  </tr>\n";
     }
?>
</table
</form>

Das Prinzip solltest Du erkennen können. In auswerten.php bekommst Du ein Array $pids mit allen angeklickten pid's, wenn überhaupt was zum Löschen angeklickt wurde. Gleichzeitig stehen im Array $mengen alle Mengen, die eventuell geändert wurden.

Ich hoffe, daß das so einergermaßen verständlich ist.

*** Nobody ***


2.

Hi nochmal

Cool, danke. Es klappt und sieht auch sehr gut aus :)
Jetzt hab ich noch eine sehr dumme frage, da ich mich mit arrays noch nicht richtig befasst habe: wie musste dann auswerten.php aussehen?

so ungefähr:

<?php

session_start();

if ($_POST["action"] == "senden")
{

/* was kommt hier rein? */

}

?>


Hier gehts zum Orginal Eintrag "Eine Zeile löschen" im Forum
 
phpforum.de | Impressum | Handy Bundles