Die brand_id sollen mit Komma voneinander getrennt werden.
Insert ... Ach, das heißt ja UPDATE...
Einklappen
X
-
Kann ich da einfach das Komma mit hinschreiben ?
Hab das jetzt erstmal so gemacht, erstmal ohne Komma:
PHP-Code:$sql ="Update project set brand_id='
$brand_id5' where nr='$project_nr3'";
Wo kann ich die Sache mit dem Komma hinzufügen ?
Kommentar
-
Kann ich da einfach das Komma mit hinschreiben ?
denk doch mal logisch! Der kann nur updaten, wenn du ihm sagst, wo.
Wenn da drin steht maulesel und du sagst ihm esel, dann kann er da natürlich wenig mit anfangen. Sonst müsste er auch 1 und 2 updaten, wenn du sagst 3.
Problematik verstanden?
Kommentar
-
Also das haut jetzt hin, hab nur eine Klammer zuviel gehabt.
Jetzt überschreibt er leider doch, den alten Wert, wenn ich jetzt eine brand_id hinzufüge.
Also 38 steht drinne, und 37
soll hinzugefügt werden, dann
steht statt 38,37 nur 37 drinne :-(
hier nochmal mein Code:
PHP-Code:$sql ="Update project set
brand_id='$brand_id5' where nr='$project_nr3'";
Kommentar
-
Code:UPDATE `tabelle` SET `feld` = CONCAT(`feld`, ",3") WHERE ...
Original geschrieben von TobiaZ
Normalisierung wäre hier üblich.Zuletzt geändert von penizillin; 16.07.2005, 20:18.
Kommentar
-
Du setzt ja auch explizit den neuen Wert in die Spalte.
Dein Statement heißt soviel wie
Aktualisiere die Spalte brand_id aller Datensätze der Tabelle Project auf die die Bedingung nr = $project_nr3 zutrifft. Ersetze den derzeitigen Wert mit dem neuen Wert.
Du musst ihm angeben: Ersetze den alten Wert durch den alten Wert, ergänzt durch xyz.
EDIT:
siehe penizillins postFür alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
var_dump(), print_r(), debug_backtrace und echo.
Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.
Kommentar
-
Kann man dass dann auch so löschen ?
Also mein feld brand_id ist jetzt so gefüllt: 1,4,6,7
Jetzt wählt der User ein brand aus, was gelöscht werden soll, wie kann ich das damit Delete machen ?
Wenn er jetzt z.B. brand_id 1 löscht dann soll nur noch 4,6,7 drinne stehen. Wie kann ich das machen ?
Kommentar
-
Alles reinspeichern außer dem Datensatz.
Aber wieso so kompliziert frag ich mich? Mach es doch so wie schon oben vorgeschlagen wurde...Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
var_dump(), print_r(), debug_backtrace und echo.
Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.
Kommentar
-
Kann ich das mit dem Delete wie mit dem Select machen ?
Also ich habe jetzt 5 Produkte (Brand) in meiner Tabelle:
Nr Brand_id
3 1,2,4,5,6
Wenn ich jetzt in meiner Auswahlliste, ein Produkt (Brand) löschen möchte, kann ich das mit einem FIND_IN_SET machen ?
Oder wie kann ich z.B. Brand_id 4 löschen, das Komma muß ja auch dann mit raus.
Kommentar
-
anstatt hier sowas von rumzumurksen solltest du dich lieber endlich mit dem normalisieren anfreunden.
ich hatte ein ähnliches problem, wobei ich leider aufs normalisieren verzichten musste. letztendlich konnte ich aber nur darauf verzichten, weils lediglich für eine abfrage einfacher gewesen wäre und ich keine manipulationen vornehmen musste.
in deinem Fall ist es aber einfach angebracht zu normalisieren.
Kommentar
-
Hi, das mit den Komma ist kein Problem, das funktioniert trotzdem einwandfrei.
In meinem "System" siehts wie folgt aus:
Nr brand_id
3 ,1,2,3,4,5,6
Ich könnte doch auch die Eingabe so machen, oder:
PHP-Code:$sql ="Update project set brand_id=
CONCAT(brand_id,'$brand_id5,') where
nr='$project_nr3'";
der Zahl und eins hinter der
letzten Zahl, richtig ?
Dann siehts wie folgt aus:
Nr brand_id
3 1,2,3,4,5,6,
Und damit habe ich doch das "Problem" gelöst, oder ?
Jetzt habe ich noch eine Frage, wenn ich jetzt meine
Produkte in der Auswahlliste habe und ich will z.B.
brand 3(brand_id 3) löschen, mache ich das dann mit
update oder mit delete ?
Wenn ja, wie sieht das dann aus , also die Query ?
Kommentar
Kommentar