Antworten
Also ich würde, eine Abfrage machen und zwar mit Hilfe des Befehls IN
http://dev.mysql.com/doc/refman/5.1/de/comparison-operators.html
2.
Danke, gleich mal lesen.
3.
Zitat:
WHERE id=1 AND id=2
Das geht ganz sicher NICHT, denn eine id ist ENTWEDER gleich 1 ODER gleich 2. Also benutze OR.
Anonsten ist es egal, SQL verträgt eine Menge ORs. Auch die IN-Variante (von Varon empfohlen) verträgt eine Menge Einträge. Im Prinzip ist es aber egal. Du kannst es machen wie Du willst - auch viele einzelne SELECTs mit WHERE auf den Primärkey sind rasend schnell - egal wie groß die Datenbank ist.
4.
@Rana auch dir vielen Dank.
5.
hmm, also das mit dem IN versteh ich nicht so ganz. Wenn ich folgendes Statement abgegebe bekomme ich alle Datensätze, ich möchte aber nur die Datensätze der ID 1 ud 2.
Code: In Zwischenablage kopieren (nur IE)
Kann mir jemand fürs Verständnis helfen?
Wenn ich da nun noch die WHERE Klausel brauche kann ich mir IN sparen oder?
Dank euch.
6.
Wo liest man so einen Käse?
Todsicher nirgends. So ist es richtig:
Code: In Zwischenablage kopieren (nur IE)
7.
au backe, danke. ich lerne noch...
8.
Oh mein Gott, da hab ich mir was angetan :-) - aber Spass macht es allemal. Vielleicht darf ich nochmal auf euere Hilfe hoffen?
Das Auslesen von mehreren Datensätze die vorher über eine Checkbox ausgewählt wuden klappt jetzt. Nun weiss ich nicht wie diese, wenn mehrere bearbeitet wurden, wieder UPDATEN soll. Ich nehme an nun wärs am besten wenn ich das UPDATE Statement schleife und die Datensätze eintrage oder?. Aber ich weiss nicht wie ich das machen soll, vor allem woher weiss ich welchen Datensatz ich updaten muss? Vielleicht wärs auch einfach mal besser Pause zu machen...
Trotzdem wie immer vielen Dank für euere Ratschläge.
Cyber
9.
hier mein Problem etwas genauer...
3 Datensätze wurden ausgewählt und sollen nun bearbeitet werden.
Datensatz 1
---------
nachname (mustermann)
vorname (markus)
email (
markus@mail.de)
Datensatz 2
---------
nachname (musterfrau)
vorname (helene)
email (
helene@mail.de)
Datensatz 3
---------
nachname (testuser)
vorname (mike)
email (
mike@mail.de)
Nachdem die Änderungen vorgenommen wurden übergebe ich dieses Formular - alle Feldname haben ein array im "name". Sprich:
<input type="text" name="nachname[]" />
<input type="text" name="vorname[]" />
<input type="text" name="email[]" />
Nun kommen die geänderten Daten auf der Auswertungsseite an:
quasi 3 Arrays
Code: In Zwischenablage kopieren (nur IE)
Wie bekomme ich dieses Array wieder zusammen damit ich die Daten updaten kann?
Es müsste ja wie folgt aussehen:
Code: In Zwischenablage kopieren (nur IE)
Ich häng da gerade komplett. Bin für jede Idee offen, wenn es besser Möglichkeiten gibt.
Liebe Grüße
Cyber
10.
Wenn Du die ID (den Primärschlüssel) zu den einzelnen Datensätzen nicht im Formular mit bereitgestellt hast, geht es gar nicht. Einen gezielten Update eines einzelnen Datensatzes erreicht man nur über die Angabe des Primärschlüssels.
11.
die Info hat gefehlt, stimmt, aber das löst mein Problem im Hirn noch nicht :-) die Daten kommen wie folgt an:
Code: In Zwischenablage kopieren (nur IE)
Was muss ich tun damit ich Daten aktualisieren kann? Letzlich müssen die Arrays wie folgt aussehen oder?
Code: In Zwischenablage kopieren (nur IE)
Wie kann man das umbauen? Dachte erst an array_merge, aber das war nix. Bitte erlöse mich :-)
Cyber
12.
Zitat:
Letzlich müssen die Arrays wie folgt aussehen oder?
Also ich würde ja evtl. folgendes bevorzugen, ist aber schwer zu sagen, ohne den Kontext zu kennen...
Code: In Zwischenablage kopieren (nur IE)
13.
Dann mach ich schon beim übergeben ein Fehler??
So sieht ja mein Formular aus wenn ich 3 Datensätze zum bearbeiten wähle... natürlich ist der value belegt... tippfaul, ich muss ins bett :-)
<input type="text" name="nachname[]" />
<input type="text" name="vorname[]" />
<input type="text" name="email[]" />
<input type="text" name="benutzerid[]" />
<input type="text" name="nachname[]" />
<input type="text" name="vorname[]" />
<input type="text" name="email[]" />
<input type="text" name="benutzerid[]" />
<input type="text" name="nachname[]" />
<input type="text" name="vorname[]" />
<input type="text" name="email[]" />
<input type="text" name="benutzerid[]" />
14.
Zitat:
Dann mach ich schon beim übergeben ein Fehler??
Kann man so nicht sagen...
Wichtig ist, daß die Struktur schlüssig ist!
Es gibt ettliche gültige Verfahren und deine vorherigen sind auch nutzbar!
Code: In Zwischenablage kopieren (nur IE)
15.
So, erstmal ein RIESENDANKESCHÖN nun hat alles geklappt, einwenig anders als hier aufgeführt und besprochen aber ohne euch wär ich ja gar nicht soweit gekommen!
Da meine Formulare noch um einiges aufwendiger sind gehe ich nun wie folgt vor:
Code: In Zwischenablage kopieren (nur IE)
Wenn die Daten nun gesendet werden kann man Sie gut per foreach durchlaufen und Updaten.
Nochmals Danke und gute Nacht! ;-)
Cyber