• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datensätze in Mysql falsch

Status
Für weitere Antworten geschlossen.

digga

Mitglied
Hi @ all!!
Ich hab folgendes Problem:
Ich habe 3 verschiedene Scripte geschrieben:
1.: Tabelle, die aus Datenbank Datensätze (Name, Rang, etc. ...) abruft
2.: Ein Form-Script mit Input Boxen... anstatt in die Tabelle werden die Datensätze in die Input-Boxen geschrieben und man kann sie bearbeiten
3.: Check.php, dort werden die Inputs aus Script 2 verarbeitet...


Meine Scripts:
1)
PHP:
   <?php
    $db_link = mysql_connect (localhost, USER, PW);
  
    // Nutzen von Datenbank (Name ist hinterlegt in Konstante MYSQL_DATENBANK
    $db_sel = mysql_select_db("DB")
   or die("Auswahl der Datenbank fehlgeschlagen");
  
   $sql = "
   SELECT * FROM tabelle ORDER BY ID
   ";
  
   $db_erg = mysql_query( $sql );
  if ( ! $db_erg )
   {
  die('Ungültige Abfrage: ' . mysql_error());
   }
  
   echo '<table border="1">';
  while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
   {
   echo "<tr>";
   echo "<td><span style='font-family: Comic Sans MS'>". $zeile['rang'] . "</td>";
   echo "<td><span style='font-family: Comic Sans MS'>". $zeile['titel'] . "</td>";
   echo "<td><span style='font-family: Comic Sans MS'>". $zeile['name'] . "</td>";
  echo "<td><span style='font-family: Comic Sans MS'>". $zeile['besonderheit'] . "</td>";
 echo "</tr>";
 }
 echo "</table>";
 
 mysql_free_result( $db_erg );
 ?>

2)
PHP:
<?php
mysql_connect("localhost", "USER", "PW");
mysql_select_db("DB");

$res = mysql_query("select * from tabelle");
$num = mysql_num_rows($res);
echo '<form action="check.php" method="post">';
$number="0";
$dsatz["name"] = $name;
while ($dsatz = mysql_fetch_assoc($res))
{
$number=$number+1;
if($dsatz['ID'] == "1")
{
echo "<input type=\"text\" name='id".$number."' value='$dsatz[ID]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='rang".$number."' value='$dsatz[rang]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='titel".$number."' value='$dsatz[titel]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='name".$number."' value='$dsatz[name]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='besonderheit".$number."' value='$dsatz[besonderheit]' readonly=\"readonly\"><br><br>";
}
elseif($dsatz['ID'] == "2")
{
echo "<input type=\"text\" name='id".$number."' value='$dsatz[ID]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='rang".$number."' value='$dsatz[rang]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='titel".$number."' value='$dsatz[titel]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='name".$number."' value='$dsatz[name]' readonly=\"readonly\"> ";
echo "<input type=\"text\" name='besonderheit".$number."' value='$dsatz[besonderheit]' readonly=\"readonly\"><br><br>";
}
else
{
echo "<input type=\"text\" name='id".$number."' value='$dsatz[ID]'> ";
echo "<input type=\"text\" name='rang".$number."' value='$dsatz[rang]'> ";
echo "<input type=\"text\" name='titel".$number."' value='$dsatz[titel]'> ";
echo "<input type=\"text\" name='name".$number."' value='$dsatz[name]'> ";
echo "<input type=\"text\" name='besonderheit".$number."' value='$dsatz[besonderheit]'><br><br>";
}
}
echo '<input type="submit" name="db_write">';
echo '<input type="reset">';
echo '</form>';
?>

3)
PHP:
<?php
if(isset($_POST["db_write"]))
{
$con = mysql_connect("localhost", "USER", "PW");
if(!$con)
{
die('Konnte keine Verbindung zur Datenbank herstellen: ' . mysql_error());
}

mysql_select_db("DB", $con);

$sql="INSERT INTO tabelle WHERE ID=1(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id1]',
'$_POST[rang1]', '$_POST[titel1]', '$_POST[name1]', '$_POST[besonderheit1]')";

$sql="INSERT INTO tabelle WHERE ID=2(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id2]',
'$_POST[rang2]', '$_POST[titel2]', '$_POST[name2]', '$_POST[besonderheit2]')";

$sql="INSERT INTO tabelle WHERE ID=3(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id3]',
'$_POST[rang3]', '$_POST[titel3]', '$name3', '$_POST[besonderheit3]')";

$sql="INSERT INTO tabelle WHERE ID=4(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id4]',
'$_POST[rang4]', '$_POST[titel4]', '$_POST[name4]', '$_POST[besonderheit4]')";

$sql="INSERT INTO tabelle WHERE ID=5(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id5]',
'$_POST[rang5]', '$_POST[titel5]', '$_POST[name5]', '$_POST[besonderheit5]')";

$sql="INSERT INTO tabelle WHERE ID=6(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id6]',
'$_POST[rang6]', '$_POST[titel6]', '$_POST[name6]', '$_POST[besonderheit6]')";

$sql="INSERT INTO tabelle WHERE ID=7(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id7]',
'$_POST[rang7]', '$_POST[titel7]', '$_POST[name7]', '$_POST[besonderheit7]')";

$sql="INSERT INTO tabelle WHERE ID=81(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id8]',
'$_POST[rang8]', '$_POST[titel8]', '$_POST[name8]', '$_POST[besonderheit8]')";

$sql="INSERT INTO tabelle WHERE ID=9(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id9]',
'$_POST[rang9]', '$_POST[titel9]', '$_POST[name9]', '$_POST[besonderheit9]')";

$sql="INSERT INTO tabelle WHERE ID=10(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id10]',
'$_POST[rang10]', '$_POST[titel10]', '$_POST[name10]', '$_POST[besonderheit10]')";

$sql="INSERT INTO tabelle WHERE ID=11(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id11]',
'$_POST[rang11]', '$_POST[titel11]', '$_POST[name11]', '$_POST[besonderheit11]')";

$sql="INSERT INTO tabelle WHERE ID=12(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id12]',
'$_POST[rang12]', '$_POST[titel12]', '$_POST[name12]', '$_POST[besonderheit12]')";

$sql="INSERT INTO tabelle WHERE ID=13(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id13]',
'$_POST[rang13]', '$_POST[titel13]', '$_POST[name13]', '$_POST[besonderheit13]')";

$sql="INSERT INTO tabelle(ID, rang, titel, name, besonderheit) VALUES ('$_POST[id14]',
'$_POST[rang14]', '$_POST[titel14]', '$_POST[name14]', '$_POST[besonderheit14]')";

if(!mysql_query($sql,$con))
{
die('Error: ' .mysql_error());
}
echo "1 record added";

mysql_close($con);

}

?>


Anstatt, dass alle Daten in der veränderten Form in die Datenbank geschrieben werden, wird nur der letzte Datensatz, den ich in der Tabelle habe nochmals reingesetzt...
Ich möchte es aber so haben, dass alle reingeschrieben werden und die alten ersetzen..! Ich finde meinen Fehler aber nicht... Könnt ihr mir helfen?
 
Werbung:
Das liegt daran, dass deine Variable $sql immer wieder überschrieben wird.
Du musst jedesmal danach die Abfrage (mysql_query) ausführen ;-)

Viele Grüße,
Marlin
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben