Update-Query über mehrere Felder

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Update-Query über mehrere Felder

    Hallo!

    Ich lese schon länger in diesem Foum mit und konnte bisher auch immer eine Lösung für meine Probleme finden. :thumbsup:

    Jetzt musste ich mich aber doch mal anmelden, da mir weder Google noch Forensuchen helfen konnten und der Vorgesetzte mir den Auftrag zugeteilt hat.

    Und zwar.. Ich arbeite grad an einem Projekt, wo Mitarbeiter des Betriebes ihr benutztes Equipment für den Auftrag eintragen können. Bei Auftagsbeginn wird erstmal das Equipment eingetragen, welches der Mitarbeiter zur Erfüllung des Auftrages benötigen wird. Das ganze System stellt für die buchhaltung ansich nur eine Statistik dar, um zu sehen, in welchen Bereichen welcher Gegenstand öfters bzw gar nicht genutzt wird um am Ende einen KostenLeistungsVergleich erstellen zu können und ob in gewissen Bereichen ein Mitarbeiter-Training durchgeführt werden muss um die Anwendung des Equipment zu trainieren. Die Eingaben werden vor und nach dem Auftrag ausgedruckt, dann bearbeitet. Der Sinn sei mal dahingestellt, bin neu im Betrieb und eigentlich nur als Systemadmin angestellt. ;)

    Aktuell werden die Felder gelöscht, wo ein Equipment eingetragen wurde, welches nicht benötigt wurde. Diese Art ist aber scheinbar ein wenig zu umständlich und es wird gewünscht, dass die Felder editiert werden können. Und da steh ich jetzt vor einem Problem.. :(

    Die Tablle ist ziemlich einfach gestrickt:

    Quellcode

    1. CREATE TABLE IF NOT EXISTS `equipment` (
    2. `id_equipment` int(11) NOT NULL auto_increment,
    3. `id_project` int(11) NOT NULL default '0',
    4. `equipment` text character set utf8 default NULL,
    5. PRIMARY KEY (`id_equipment`)
    6. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;


    Im Formular sind dementsprechend auch n viele Felder die aktualisiert werden müssen. Durch den Query haben alle Felder eine eigene ID

    Quellcode

    1. foreach($source['edit'] as $eid => $equipment) {
    2. echo '
    3. <input id="',$equipment['id'],'" value"=',$equipment['car']['equipment'],'"'
    4. }


    Quellcode

    1. <input id="1134" value="equipment">
    2. <input id="1135" value="equipment">
    3. <input id="1136" value="equipment">
    4. <input id="1137" value="equipment">
    5. <input id="n" value="equipment">
    6. ...


    Und hier ist mein Problem. Wie muss der Query für ein Update ausehen? Hab bereits versucht hier und da ne Schleife einzubauen. Entweder landete der Query im Nirvada und es kam ein Timeout oder es passierte nichts und MySQL spuckte Fehlermeldungen aus, mit denen ich nicht anfangen konnte. Ergo, ich stehe weder am Startpunkt noch kurz vorm Ziel. Würde sagen, dass hier meine PHP-Kenntnisse enden.. :(

    Ich würde mich freuen, wenn mir jemand bei meinem Problem helfen könnte!

    Danke!
    Gruß
    Marco

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von haschi ()

  • Aus Deiner Beschreibung werde ich leider nicht ganz schlau, aber wieso speichert ihr die div. Werkzeuge nicht alle einzeln und reduziert die Tabelle dadurch auf project_id und equipment_id? Mir wird nicht so ganz klar, welchen Sinn die Art und Weise, wie ihr die Daten speichert (und dadurch bearbeitet), haben soll. Kannst Du das noch etwas ausführen?
  • Ja, das steht auch schon auf dem ToDo, hab es auch bereits vorgeschlagen, dass die am meistgenutzten Werkzeuge festgehalten werden und das auch eine weitere Tabelle angelegt wird, wo dann eingetragen wird, welches Equipment letztendlich genutzt wird. Spart Papier und man ist flexibler. Ich schrieb ja bereits, dass ein Sinn z.Z. nicht zu finden ist.
  • Sorry für die späte Antwort.

    Hab jetzt erstmal das ganze Programm umgeschrieben, so dass ich eigentlich keine Antwort zu meiner Frage mehr benötigen würde.

    Jedoch interessiert es mich.

    Also, ein Update-Quer ja sieht z.B. so aus:

    Quellcode

    1. sql = "UPDATE tabelle SET feld1 = $feld1, feld2 =$feld2 WHERE id = 1";


    Hier sind ja nun feld1 und feld2 zwei feste sich in der Anzahl nicht verändernde Variablen.

    Wie müsste der Query bzw PHP-Code aussehen, wenn die Anzahl der Input-Tags verschieden ist?
    Ich müsste also irgendwie eine Update-Schleife einbringen, wo erst per COUNT die Anzahl der Felder gezählt werden.
    Wie müsste so eine Schleife aussehen?

    Verstehst du mich jetzt? Ich weiß echt nich wie ich mich ausdrücken soll..

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von haschi ()