Variablen dynamisch erzeugen und Db updaten

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variablen dynamisch erzeugen und Db updaten

    Sorry wenn es schon Threads zu diesem Thema gibt weiß aber absolut nich wonach ich da suchen soll.
    Ich möchte eine komplette Tabelle updaten, diese Tabelle wird so erzeugt:
    PHP Code:
    <?
    $daten = mysql_query("SELECT * FROM hotlinezeiten");
    $datensatz = mysql_fetch_array ($daten, MYSQL_BOTH);
    while ($datensatz != FALSE)
       {
           echo "<tr>"; 
           echo "<td width='60'>".$datensatz['tag']."</td>";
           echo "<td width='77'>".$datensatz['datum']."</td>";
           echo "<td width='30'>von</td>";
           echo "<td width='43'><div align='right'>".$datensatz['azeit'] ."</div></td>";
           echo "<td width='20'><div align='center'>bis</div></td>";
           echo "<td width='41'><div align='right'>".$datensatz['ezeit'] ."</div></td>";
           echo "<td width='25'><div align='center'> Uhr</div></td>";
           echo "</tr>";
           $datensatz = mysql_fetch_array ($daten, MYSQL_BOTH);
       }
    ?>
    Alle Atribute die ich brauche sind: Tag, Datum, Azeit, Ezeit, und natürlich meine ID.
    Wenn ich jetzt mein Form erstelle, habe ich ja für jedes Attribut ein Textfeld,
    da ich aber mehrere Zeilen habe gibt es dann $Tag1, $Tag2 usw.
    Jetzt dachte ich mir man müsste diese Daten doch auch in einem array speichern können und dann die komplette Tabelle (in meiner DB) updaten können.
    Also statt:
    mysql_query ("UPDATE hotlinezeiten '','$tag1','$datum1'... WHERE ID=1")
    mysql_query ("UPDATE hotlinezeiten '','$tag2','$datum2'... WHERE ID=2")

    irgendwie so :
    mysql_query ("UPDATE hotlinezeiten '''$kompletterArray'")

    geht das???

  • #2
    Hi,

    pack deine Formulareingaben in ein Array und dann durchläufst du das Array mit for oder foreach und baust in diese Schleife dein Update.

    Beispiel:

    Dein Array hat folgenden Aufbau:
    ('tag' => array ( [0] => 1.Wert, [1] => 2. Wert ...)
    ''datum' => array( [0] => 1.Wert, [1] => 2. Wert ...)
    ...)

    Dazu folgender Code (ungetestet!):
    PHP Code:
    for($n=0;$n<count(DeinArray['tag']);$n++)
        
    mysql_query("UPDATE hotlinezeiten set tag='DeinArray[tag] ...); 

    Comment

    Working...
    X