Alt 07.02.2007, 09:26:54   #1
Ronja
Räubertochter
Benutzerbild von Ronja

ID: 51429
Lose senden

Reg: 04.05.2006
Beiträge: 1.010
Standard DB updaten Teil 2 - es wird nur ein Wert geändert!

Hi,
nachdem Ihr mir schon bei meinen Checkboxen geholfen habt, folgende 2. Frage.

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
$abfrage="UPDATE belegung SET belegt = 'no' ";
    print 
"$abfrage<br>\n";
        

    if (isset(
$_REQUEST['belegt']) && is_array($_REQUEST['belegt'])) { 
        
reset($_REQUEST['belegt']); 
        foreach (
$_REQUEST['belegt'] as $k => $v) {
        
$abfrage1="UPDATE belegung SET belegt = 'checked' WHERE id ='$v'";  
              print 
"$abfrage1<br>\n"
        } 
        } 
Ausgabe:
UPDATE belegungs_kal SET belegt = 'no'
UPDATE belegungs_kal SET belegt = 'checked' WHERE id ='2007013'
UPDATE belegungs_kal SET belegt = 'checked' WHERE id ='2007014'
UPDATE belegungs_kal SET belegt = 'checked' WHERE id ='2007015'
UPDATE belegungs_kal SET belegt = 'checked' WHERE id ='2007016'
upgedatedupgedated

In die Datenbank wird aber nur die letzte ID (2007016) als belegt eingetragen.
Wieso? Was ist falsch an meinem Script?

Danke für Eure Hilfe
Ronja
 
Ronja ist offline   Mit Zitat antworten
Alt 07.02.2007, 10:44:19   #2
tleilax
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose senden

Reg: 20.04.2006
Beiträge: 2.429
Standard

Du führst $abfrage wahrscheinlich nur einmalig nach dem von Dir geposteten Scriptstück aus. Dadurch wird nur einmal ein Wert geändert. Du musst jede $abfrage ausführen.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 07.02.2007, 10:50:05   #3
Ronja
Räubertochter
Benutzerbild von Ronja

ID: 51429
Lose senden

Reg: 04.05.2006
Beiträge: 1.010
Standard

Hi,

$abfrage ändert auf einen Rutsch alle belegt in "no".
Das klappt einwandfrei.

aber $abfrage1 ändert nur einen Eintrag.
Ich weiß aber nicht, wie ich es hinbekomme, dass er alle ändert.

Gruß Ronja
 
Ronja ist offline Threadstarter   Mit Zitat antworten
Alt 07.02.2007, 11:41:02   #4
strolch00
redraft.de

ID: 155297
Lose senden

strolch00 eine Nachricht über ICQ schicken
Reg: 21.04.2006
Beiträge: 1.684
Standard

Folgendes müsste funktionieren:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
   $abfrage="UPDATE belegung SET belegt = 'no' ";
   
//mysql_query($abfage);
   
print "$abfrage<br />\n";   //das \n dürfte überflüssig sein

   
if (isset($_POST['belegt']) && is_array($_POST['belegt']))
   {
      
$abfrage1 "UPDATE belegung SET belegt = 'checked' WHERE id IN (".@implode(', '$_POST['belegt']).")";
      
//mysql_query($abfrage1);
      
print "$abfrage1<br />\n";   //das \n dürfte überflüssig sein

   

*edit ach entschuldige war mein Fehler habs ausgebessert.

Btw. sendest du wo anders die Querys ab?

Geändert von strolch00 (07.02.2007 um 12:21:36 Uhr)
strolch00 ist offline   Mit Zitat antworten
Alt 07.02.2007, 11:59:01   #5
Ronja
Räubertochter
Benutzerbild von Ronja

ID: 51429
Lose senden

Reg: 04.05.2006
Beiträge: 1.010
Standard

Hi, jetzt kommt als Ausgabe nur noch:

UPDATE belegungs_kal SET belegt = 'no'
UPDATE belegungs_kal SET belegt = 'checked' WHERE id IN ()
upgedatednicht upgedated

!?

Liest er jetzt gar nichts mehr aus?

Ronja
 
Ronja ist offline Threadstarter   Mit Zitat antworten
Alt 07.02.2007, 12:22:25   #6
Ronja
Räubertochter
Benutzerbild von Ronja

ID: 51429
Lose senden

Reg: 04.05.2006
Beiträge: 1.010
Lächeln

Herzlichen Dank strolch00

Gruß Ronja
 
Ronja ist offline Threadstarter   Mit Zitat antworten
Antwort

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP/MySQL] Wert wird um 2 erhöht statt um 1 Drogenfahnder Programmierung 3 19.10.2007 18:36:51
WEP <> WPA Software updaten? Benutzer-2472 Netzwerktechnik 4 21.08.2007 19:27:54
Signatur Updaten 27o8 Bug-Report 23 23.12.2006 23:49:32
[PHP] Nur else Teil einer IF Abfrage wird ausgeführt ? Stoffi Programmierung 11 29.09.2006 23:52:10
I-Frame nur 5 mal pro Tag updaten MrBosi Programmierung 14 12.05.2006 09:48:45


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16:49 Uhr.