Insert ... Ach, das heißt ja UPDATE...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Die brand_id sollen mit Komma voneinander getrennt werden.
    Normalisierung wäre hier üblich.

    Kommentar


    • #17
      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'"
      Bringt er mir eine Fehlermeldung.
      Wo kann ich die Sache mit dem Komma hinzufügen ?

      Kommentar


      • #18
        Kann ich da einfach das Komma mit hinschreiben ?
        Natürlich kannst du da das Komma hinschreiben, solange du das in der updatequery genauso machst.

        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


        • #19
          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


          • #20
            Code:
            UPDATE `tabelle` 
            SET `feld` = CONCAT(`feld`, ",3") 
            WHERE ...
            aber:
            Original geschrieben von TobiaZ
            Normalisierung wäre hier üblich.
            Zuletzt geändert von penizillin; 16.07.2005, 20:18.

            Kommentar


            • #21
              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 post
              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


              • #22
                Danke, das funktioniert :-)

                Kommentar


                • #23
                  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


                  • #24
                    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


                    • #25
                      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


                      • #26
                        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


                        • #27
                          steiner82, machst dir selbst nur kopfschmerzen. in deinem "system" müsste man auch noch berücksichtigen, dass es

                          a) kein komma vor der ersten zahl und
                          b) kein komma nach der letzten zahl

                          sein dürfen.

                          Kommentar


                          • #28
                            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'"
                            Da habe ich kein Komma am Anfang vor
                            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


                            • #29
                              Du machst die ganze geschichte nur noch unsauberer...

                              Jetzt kannst du das feld nichtmal mehr vernünftig exploden...

                              Kommentar


                              • #30
                                Wie soll ich es denn nun machen ? Ich habe keine andere Idee !

                                Kommentar

                                Lädt...
                                X