Mehrere Updates auf einmal

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

  • Mehrere Updates auf einmal

    Hallo, ich bin ganz neu hier und habe mal eine Frage zu mehreren Updates gleichzeitig. Habe schon die Suche benutzt und auch was gefunden, aber bei mir will das nicht so...
    Was ich gerne möchte:
    Eine Auflistung aller Datenbankeinträge mit dem jeweils vorhandenen Preis. Dieser Preis steht als "value" in einem Eingabefeld und kann (soll) geändert werden, und anschließend sollen alle Einträge auf einmal geändert werden. Jeder Datenbankeintrag hat eine ID die hier im Beispiel in den eckigen Klammern steht. Die Auflistung funktioniert, nur die Aktualisierung nicht.

    Das ist der HTML-Code der Eingabeseite:

    <tr>
    <td> Bayern Junge </td>
    <td> 711-010 </td>
    <td> <input name="price[333]" type="text" value="2.35" size="8">
    </td>
    </tr>


    Das ist das Eingabescript:

    PHP-Code:
    $preis $_POST['preis'];
    $verbindung mysql_connect ($host_value$user_value$password_value);
            if (! 
    $verbindung
                  {
                    echo 
    "Es besteht zur Zeit keine Datenbankverbindung!";
                         exit;
                  }
            else         
                  {
                      
    mysql_select_db("$dbname_value");

       foreach(
    $_POST as $key => $price){
            
    $befehl "UPDATE t_article set $preis = $price WHERE id = $key";
            
    mysql_query($befehl);
    }

    Die Variable $preis existiert deshalb, weil für die Artikel bis zu 7 unterschiedliche Preise angegeben werden können (je nach Land).


    Danke für eure geschätzte Hilfe
    Zuletzt geändert von cherry; 13.01.2006, 09:39.

  • #2
    - lass dir $befehl mal mit echo ausgeben
    - ... or die(mysql_error()) hilft immer
    Kissolino.com

    Kommentar


    • #3
      Hallo,
      Habe die Ausgabe mal verändert, da er völlig wirres Zeug gebracht hat.
      Die Eingabe erfolgt jetzt so:

      foreach($_POST['name'] as $id => $name) {
      $sql = "UPDATE t_article SET $preis = '{$_POST['price'][$id]}' WHERE id = $id";
      mysql_query($sql);
      }}

      Das funktioniert jetzt, das mit echo für die Variablen ist immer wieder gut, aber ich denke leider zu selten daran.. DANKE dir!

      Ein kleines Problemchen habe ich noch. Es kann ja sein das anstatt 1.25 der Betrag 1,25 eingegeben wird, also mit Komma. Bisher wandle ich das so um:

      PHP-Code:
      $porto2 ereg_replace(",""."$porto2b); 
      Wo kann ich das denn in diesem Eingabescript einbauen?

      Kommentar


      • #4
        innerhalb des foreach() { } ... ausserdem sollte str_replace schneller und ausreichend sein als ereg
        Kissolino.com

        Kommentar


        • #5
          Freitag der 13., weiter sag`ich nichts.......

          PHP-Code:
          foreach($_POST['name'] as $id => $name) {
          $sql "UPDATE t_article SET $preis = '{$_POST['price'][$id]}' WHERE id = $id";
          mysql_query($sql);
          }} 
          Wie baue ich da das

          PHP-Code:
          ereg_replace(",""."$price); 
          ein???
          Es soll der ankommende Preis, wenn "," gesetzt ist, in einen "." umgewandelt werden.

          Kommentar

          Lädt...
          X