Zur Navigation

Id auslesen [2]

11 Frank

Hi Jörg!

Danke für die Hilfe, nun klappt es! ;-)

29.10.2007 16:17

12 Frank

Hi Jörg,

nun habe ich doch noch ein Problem. Jetzt möchte ich die Inhalte aus dem Formular ändern können und dann auf der Folgeseite in der Datenbank updaten.

Wie mache ich das?

Beispiel: Inputfeld mit "Kunde1" möchte ich nun ändern in "Kunde2"
Nun soll der Inhalt "Kunde2" übermittelt werden damit ich updaten kann. Das alles wieder je nachdem welche Box ausgewählt wurde.

31.10.2007 16:32 | geändert: 31.10.2007 17:02

13 Jörg Kruse

- du holst die zu ändernden Daten mit einer SELECT Abfrage aus der Datenbank

- du fügst die Daten in die value Attribute der input Felder bzw. in die textarea Felder, so dass das Änderungs-Formular vorbelegt ist

- nach dem Absenden des Formulars wird der betreffende Datensatz mittels einer UPDATE Abfrage aktualisiert

31.10.2007 17:11 | geändert: 31.10.2007 17:12

14 Frank

Hi Jörg,

ja aber in meinem Fall habe ich doch wieder bestimmte checkboxen angeklickt und nur diese Daten sollen dann auch geändert werden.

31.10.2007 17:19

15 Jörg Kruse

Ja, ich habe ja auch beschrieben, wie nur ein einzelner Datensatz geändert wird. Mit der ID, die übermittelt wird, führst du die SELECT Abfrage durch

31.10.2007 17:38

16 Frank

Kannst du mir dann einmal kurz beim update helfen, so dass dann auch die einzelnen angeklickten Checkboxen upgedatet werden. Ich bekomme das nicht hin!

DANKE!

01.11.2007 11:29

17 Frank

Als kleine Anmerkung noch folgendes:

Ich habe jetzt eine Abfrage:

if ($action == "speichern")
{
$speichern = mysql_query("SELECT * FROM Bestand WHERE id = " . implode(" OR id = ", $_POST['ids']));
while($row_kunden1 = mysql_fetch_array($speichern))

$kunden_name = $row_kunden1['kunde'];
...

}

Wie muss ich jetzt das update mit intigrieren?

01.11.2007 11:32

18 Frank

Wäre nett wenn mir jemand helfen könnte, denn ich erhalte nun immer in jeder übergebenen Variablen den gleichen Wert.

01.11.2007 16:08

19 Jörg Kruse

Achso, du hast mehrere Checkboxen angeklickt. Das macht das ganze etwas diffiziler.

Du musst die Kundennamen dann auch wieder in ein Array einlesen, also in eta so

if ($action == "speichern")
{
$speichern = mysql_query("SELECT * FROM Bestand WHERE id = " . implode(" OR id = ", $_POST['ids']));
while($row_kunden1 = mysql_fetch_array($speichern)) {

$id = $row_kunden1['id'];
$kunden_namen[$id] = $row_kunden1['kunde'];

}

Danach musst du das Änderungsformular auch in einer Schleife aufbauen, so dass die Kundennamen in einem Array an das Update-Script übergeben werden. Im Ergebnis sollte ein Input Feld dann in etwa so ausschauen:

<input type="text" name="kunden_namen[1]" value="XYZ" />

Das Update-Script muss die Namen dann ebenfalls in einer Schleife updaten.

Mit einer einzelnen Checkbox wäre es etwas einfacher ;)

01.11.2007 17:05 | geändert: 01.11.2007 17:07

20 Frank

Jetzt bin ich total überfordert! ;-)

Mein Code "Auswahl anzeigen":

$abfrage_kunden1 = mysql_query("SELECT * FROM Bestand WHERE kunde = '$auswahl' AND status = 'neu' ORDER BY datum ASC");
while($row_kunden1 = mysql_fetch_array($abfrage_kunden1))
{
    $kunden_id = $row_kunden1['id'];
    $kunden_kunde = $row_kunden1['kunde'];
    $kunden_bestand = $row_kunden1['bestand'];
}
?>
<tr>
<td><input name="ids[]" type="checkbox" value="<?php echo $kunden_id ; ?>" class="eingabe4" /></td>
<td><input name="kunde" type="text" value="<?php echo $kunden_kunde ; ?>" class="eingabe1" /></td>
<td><input name="bestand" type="text" value="<?php echo $kunden_bestand ; ?>" class="eingabe2" /></td>


Dann verweist mein Ergebnis per Form auf eine neue Seite "Ergebniss"

Dort folgender Code:

elseif ($action == "speichern")
{

$mitarbeiter = $_POST['mitarbeiter'];

$speichern = mysql_query("SELECT * FROM Bestand WHERE id = " . implode(" OR id = ", $_POST['ids']));
while($row_kunden1 = mysql_fetch_array($speichern))
{
             $id = $row_kunden1['id'];
    	    $kunden_kunde[$id] = $row_kunden1['kunde'];
    	    $kunden_bestand[$id] = $row_kunden1['bestand'];
    	    


echo "ID : $id - Kunde: $kunden_kunde - Bestand: $kunden_bestand <br>";

Wäre nett, wenn mir jemand für die einzelnen Abfragen helfen könnte! DANKE!

02.11.2007 10:35 | geändert: 02.11.2007 10:38