Antworten auf deine Fragen:
Neues Thema erstellen

[SQL] Mehrere Werte gleichzeitig aktualisieren

mave

Nicht mehr ganz neu hier

Hallo Ihr,

hab hier ein kleines Problem. Anscheinend kleiner Brainbug bei mir :D... Denke das müsste schnell gelöst sein...

Hab eine Datenbank die wie folgt aussieht

id_day_start_end
1_mo_08:00_17:00
2_di_08:00_17:00
3_mi_08:00_17:00
usw...

Nun hab ich zum aktualisieren der Tabelle ein php formular gemacht, wo man die Werte eingeben kann, die dann an save.php weitergegeben werden.

Dort hab ich per durch POST die Daten bekommen und speicher die in variablen z.b. $mo_start und $mo_end...

jetzt möchte ich aber dass gleich alle werte aktualisiert werden so dass ich nur einen button hab anstatt hinter jedem tag einen...
 

Duddle

Posting-Frequenz: 14µHz

AW: [SQL] Mehrere Werte gleichzeitig aktualisieren

*Glaskugelreib*
Du hast ein Formular, in dem alle derzeitigen Datensätze der Tabelle gezeigt werden? Dann mach keine einzelnen Formulare pro <input>, sondern eben ein großes mit allen <input>s, welche du danach in einer Schleife auswertest.



Duddle
 

CIX88

Aktives Mitglied

AW: [SQL] Mehrere Werte gleichzeitig aktualisieren

Wohl nach dem Motto:
Code:
<input type="text" name="day[$id]" value="$day">
<input type="text" name="start[$id]" value="$start">
<input type="text" name="end[$id]" value="$end">
wobei die Werte $id, $day, $start, und $end die Resulate aus der DB sind.
 

mave

Nicht mehr ganz neu hier

AW: [SQL] Mehrere Werte gleichzeitig aktualisieren

wie man die werte übergibt ist mir schon bewusst... ich hab die auch schon in variablen abgelegt... blos wie mach ich es, dass alles in die db eingetragen wird???
 

r3nt5ch3r

~ Allround pG ~

AW: [SQL] Mehrere Werte gleichzeitig aktualisieren

UPDATE "Tabellen_Name"
SET Spalte1 = [Wert1], Spalte2 = [Wert2]
WHERE {Bedingung}

Ich hoffe du sprichst wirklich vom "Aktualisieren", ansonsten das gleiche mit "Insert Into" ohne Where^^
 
Zuletzt bearbeitet:

Yazaa

Noch nicht viel geschrieben

AW: [SQL] Mehrere Werte gleichzeitig aktualisieren

Also, ich denke du hast ein Formular wo alle aufgelistet sind, pro Zeile sollte das dann umgefähr so aussehen, pro SQL eintrag einmal:
Code:
<input type="text" name="day[]" value="$day[$x]">
<input type="text" name="start[]" value="$start[$x]">
<input type="text" name="end[]" value="$end[$x]">
<input type="hidden" name="id[]" value="$id[$x]">

So nun baust du dir eine schleife und aktualisierst das einfach

PHP:
$x = 0;
foreach( $id as $value ){
$sql = 'UPDATE "tabelle" 
  SET day = ' . $day[$x] . ',
        start = ' . $start[$x] . ', 
        end = ' . $end[$x] . ' 
  WHERE id = ' . $value;
mysql_query( $sql );
$x++;
}

Quellcode is wohl nich ganz richtig, aber die theorie sollte damit klar sein ;-)
 
T

ThalAMorgul

Guest

AW: [SQL] Mehrere Werte gleichzeitig aktualisieren

Uhm, zwar sollte das so funktionieren, jedoch ist das wohl die ineffizienteste Loesung, die man bei groesseren Datenmengen heranziehen kann...

Hierbei wird ja fuer jeden einzelnen Datensatz ein komplett neuer Query geschrieben und verarbeitet - Das klingt schon nach viel Arbeit. Der Server wird sich bei vielen Anfragen dafuer bedanken. =P Vorallem, wenn Deine Seite noch mehr Queries zum Aufbau benoetigt..

Weitaus einfacher waere es, einen Query zu schreiben, in dem Du die Aktualisierung der Datensaetze von einer eindeutigen Spalte (am besten also von deinem prim key ^^) abhaengig machst. Hier kannst Du sehr gut das 'case'-Statement verwenden.

Dies erlaubt Dir (wie Dir vielleicht aus anderen Bereichen bekannt sein koennte), kontrolliert auf verschiedene Situationen/Werte zu reagieren.

Nehmen wir mal als Beispiel folgende Datenbank:
Code:
[U] [B]ID[/B][/U]   [B][U]myCol1[/U][/B]
 1    'Foo'
 2    'Bar'
und folgenden Query:
Code:
UPDATE[INDENT]myTable[/INDENT]SET[INDENT] myCol1 = CASE ID
[/INDENT][INDENT][INDENT] WHEN 1 THEN 'Hello'
[/INDENT][/INDENT][INDENT][INDENT] WHEN 2 THEN 'World'
[/INDENT][/INDENT][INDENT][INDENT] ELSE myCol1
[/INDENT][/INDENT][INDENT] END
[/INDENT]
Du aktualisierst hiermit die Tabelle "myTable" und setzt beim Datensatz mit der "ID" 1 in der Spalte "myCol1" den Wert 'Hello' ein, beim Datensatz mit der "ID" 2 in der Spalte "myCol1" den Wert 'World' ein.

Deine Datenbank "myTable" sieht danach so aus:
Code:
[U][B]ID[/B][/U]   [U][B]myCol1[/B][/U]
 1    'Hello'
 2    'World'
Du kannst im selben Query natuerlich eine Vielzahl an Spalten aktualisieren.
Dies ist die effizienteste, mir bekannte Methode zur Aktualisierung mehrerer Datensaetze.

Falls jemand eine noch bessere und leistungsstaerkere Variante kennt -> immer her damit!
 
Zuletzt bearbeitet von einem Moderator:

Yazaa

Noch nicht viel geschrieben

AW: [SQL] Mehrere Werte gleichzeitig aktualisieren

Und wie genau soll das mit den mehreren Spalten dann aussehen?? Hab viele varianten versucht aber keine will funktionieren :p
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.068
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben