Ankündigung

Einklappen
Keine Ankündigung bisher.

einen Wert aus einem Array editieren

Einklappen

Neue Werbung 2019

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

  • einen Wert aus einem Array editieren

    Ich hoffe, ich kann mein Anliegen einigermaßen klar beschreiben:
    Ich lasse mir über eine while-Schleife (while($objekt = $abfrage->fetch_object())) für eine Veranstaltung den Referenten, seinen Vortragstitel, Vortragsbeginn und Vortragsende ausgeben, sofern ich an diesen vorgenannten Parametern Änderungen vornehmen will.

    Ich will die Parameter (bei Veranstaltungen mit mehreren Referenten) für jeden Referenten separat editieren können, deshalb arbeite ich bei jeder Ausgabe mit dem form tag wie folgt:
    <input name="submit_refdaten" formaction = "infoxxx.php?veran =<?php echo $vid;?>&amp;ref =<?php echo $referent_ID;?>" formmethod="post" type="submit" class="submit" id="submit" value="Vortragsdaten für RID-<?php echo $referent_ID ; ?> ändern" title="Vortragsdaten VID-<?php echo $vid ." | für " ; ?> RID-<?php echo $referent_ID ; ?> ändern "/>

    Bei der Ausgabe meines UPDATE-Befehls erhalte ich folgende Ausgabe:
    PHP-Code:
    UPDATE `veran_referentenSET
    titel 
    'Array',
    untertitel 'Array',
    start_zeit '18:30',
    end_zeit '19:10'
    WHERE veranstaltung_id 442 AND referenten_id 55 
    Wenn ich mir das Array ‚titel‘ mittels var_dump ausgeben lasse, enthält das Array alle Titel aller Referenten.

    Mein Problem:
    Ich verstehe nicht, wo und wie ich für die Vortragstitel überhaupt ein Array gebildet habe und wie kann ich denn nur für den Referenten mit der ID= 55 gewünschte Änderungen in der Datenbank vornehmen?
    Vorab schon mal vielen Dank für Eure Hilfe.

  • #2
    Das sind dann doch etwas gar wenig Informationen um daraus einen konstruktiven Rat bilden zu können. Du solltest uns schon erzählen wie Deine Datenbank aussieht, wie du sie ausliest und wie Dein Formular dann aussieht.

    Kommentar


    • #3
      Ich verstehe nicht, wo und wie ich für die Vortragstitel überhaupt ein Array gebildet habe
      Naja wo kommt denn das her? Du kannst mit var_dump ja immer weiter zurück gehen im Code bis du die Stelle hast.
      [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

      Kommentar


      • #4
        Erst einmal vielen Dank für eure Rückmeldungen.
        Ich bin jetzt schon einen kleinen Schritt weiter und hoffe, mit der geänderten Problembeschreibung/Fragstellung zum Ziel zu kommen:

        (1.) mittels Formular übergebe ich alle Parameter im Array

        HTML-Code:
        <select name="referent [<?php echo $referent_ID; ?>]" … >
        <input name="titel [<?php echo $referent_ID; ?>]" … >
        <input name="startzeit [<?php echo $referent_ID; ?>]" … >
        <input name="endzeit [<?php echo $referent_ID; ?>]" … >
        Gemäß meiner Theorie muss ich bis hierhin richtig liegen, denn wenn ich mir alle Variablen mit var_dump ausgeben lasse, erhalte ich immer die richtige ReferentenID als Schlüssel mit dem entsprechenden Wert.


        (2.) Frage: bevor ich nun den Befehl für das Update gebe, müsste ich jetzt nicht die Werte (irgendwie??) zusammenfügen, dass die Referenteneinträge einer Veranstaltung zeilenweise editiert werden können?
        so hatte ich mir das „irgendwie“ vorgestellt, funktioniert aber nicht. Wie füge ich die Werte korrekterweise zu einer Zeile zusammen?
        PHP-Code:
        $ref_updaten  = array(); 
                    
        $ref_updaten[] = $_POST['titel'];
                    
        $ref_updaten[] = $_POST['startzeit'];
                    
        $ref_updaten[] = $_POST['startzeit']; 
        Bitte jetzt nicht an den Post-Variablen stoßen, diese habe ich hier nur eingesetzt, um mein Anliegen nachvollziehbarer zu machen.

        (3.) jetzt müsste der eigentliche Update-Befehl folgen, den bastele ich mir zusammen, wenn ich vorgenanntes Problem gelöst habe

        Hoffe, ich komme nun wieder einen Schritt weiter. Vorab schon mal vielen Dank Marie

        Kommentar


        • #5
          Nehmen wir an die $referend_id ist 41.

          Dann hast du:
          HTML-Code:
            <input name="titel[41]">
          Das heisst du hast aus da einen Array für Deine Input-Elemente erstellt.
          Im PHP kommt dann an:


          PHP-Code:
          $_POST['titel'][41]; 
          Wenn du var_dump($_POST) machst siehst du was da ankommt.

          Kommentar


          • #6
            Keine Ahnung was du mit "zusammenfügen" meinst. Du willst die Daten doch in einem konkreten SQL-statement benutzten. schreib das doch erstmal auf.
            [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

            Kommentar

            Lädt...
            X