Mehrere Datensätze updaten

Wie gesagt das hab ich schon probiert, dann schreibt er aber keine Daten in die DB.
Wahrscheinlich weil ich bei

PHP:
auto='$auto[$i]'

Kein Post habe, aber wie schreib ich das POST?

Diese Variante ist Falsch.
PHP:
auto='$_POST[$auto[$i]]'
 
1. Updaten wenn update gesetzt wurde.

Das kommt an den Anfang

PHP:
<?php
include("connect.php");

  if(isset($_POST['update'])){
    for($i=0;$i<$count;$i++){
      mysql_query("UPDATE fahrzeuge SET auto='$auto[$i]' WHERE id='$id[$i]'");
    }
  }
?>
<table>
...

dann würde ich dir empfehlen, wie vor mir schon einer, deine Datensätze zu entschärfen!
PHP:
mysql_real_escape_string()


Mit $_POST bekommst du deine Daten.

PHP:
 if(isset($_POST['update'])){
    for($i=0;$i<$count;$i++){
      mysql_query("UPDATE fahrzeuge SET auto='mysql_real_escape_string($_POST['auto'])' WHERE id='$i'");
   }
  }

du wirst aber keine Daten bekommen. Da in deinem Formular auch was nicht stimmt.
Änder bitte den input namen auf "auto"

PHP:
name="auto"

ohne []
 
Hier nochmal eine zusammenfassung.

Bring mal bitte ein wenig Ordung in deinen Code. Der ist ziemlich fehlerhaft. Schon allein deine Tabellen und Formular Syntax.

PHP:
<?php
include("connect.php");

  $result = mysql_query ("SELECT id, auto FROM fahrzeuge" );
  $count = mysql_num_rows($result);
  
      
   if(isset($_POST['update'])){
    for($i=0; $i<$count; $i++){
      mysql_query("UPDATE `fahrzeuge` SET `auto`='".mysql_real_escape_string($_POST['auto'])."' WHERE `id`='".$i."' ");
   }
  }
?>
  <form action="<? $_SERVER['SCRIPT_NAME'] ?>" method="post">
    <table>
    
    <?
    while ( $data = mysql_fetch_array( $result ) ){
    ?>
      <tr>
        <td><? $id[]=$data['id']; ?><? echo $data['id']; ?></td>
        <td><input type="text" name="auto" id="auto" value="<? echo $data['auto']; ?>"></td>
      </tr>
      <?php
      }
      ?>
      <tr>
        <td><input type="submit" name="update" value="update"></td>
      </tr>
    </table>
  </form>
 

Neue Beiträge

Zurück