2 Formularfelder in MySQL updaten

Nix !

Immernoch nichts.... aber mit LIMIT=1 setze ich doch alles nur auf die ID=1 fest oder ?

Hier der aktuelle Quellcode mit all euren "Berichtigungen":

PHP:
<?php

//config
$host = "localhost";
$user = "webxxx";
$password = "xxx";
$dbname = "usr_webxxx";
$tabelle = "xxx";

$dbverbindung = mysql_connect ($host, $user, $password) or die("Verbindung zur Datenbank fehlgeschlagen");
$db_select = MYSQL_SELECT_DB($dbname) OR DIE (mysql_erroru()); 


if ((isset($_POST['update'])) && (isset($_GET['id']))) 
{
  $punkte = $_POST['punkte'];
  $entwicklung = $_POST['entwicklung'];
  $query = $query = "UPDATE $tabelle SET punkte = '$punkte' , entwicklung = '$entwicklung'  WHERE id = $id LIMIT 1";
  mysql_query($query) or die (mysql_error());
}

$dbanfrage = "SELECT id, name, punkte, entwicklung FROM $tabelle ORDER BY id";
$res = mysql_db_query ($dbname, $dbanfrage, $dbverbindung) or die('Fehler');

echo '<table border="0" cellpadding="0" cellspacing="0" width="450">
  <tr>
    <td width="50"><font size="1" face="Verdana" color="#FFFFFF">Platz</font></td>
    <td width="200"><font size="1" face="Verdana" color="#FFFFFF">Name</font></td>
    <td width="100"><font size="1" face="Verdana" color="#FFFFFF">Punkte</font></td>
    <td width="100"><font size="1" face="Verdana" color="#FFFFFF">Entwicklung</font></td>
  </tr>';

while ($result = mysql_fetch_array($res))
{
echo '
  <tr>
    <td width="50"><font face="Verdana" size="1">platz</font></td>
    <td width="200"><font size="1" face="Verdana">'.$result['name'].'</font></td>
    <td width="200" colspan="2">
      <form action="./edit.php?id='.$result['id'].'" method="post">
      <table border="0" cellpadding="0" cellspacing="0" width="450">
        <tr>
          <td width="100"><input type="text" name="update_punkte" size="5" value="'.$result['punkte'].'"></td>      
          <td width="100"><input type="text" name="update_entwicklung" size="5" value="'.$result['entwicklung'].'"></td>
          <td width="100"><input type="submit" name="update" value="Änderung speichern"></td>
        </tr>
      </table>
      </form>
    </td>
  </tr>
';
}

echo '</table>';

?>

<a href="show.php">Rangliste zeigen</a>
 
Das nur ein Eintrag bearbeitet wird ist vielleicht etwas salop gesagt, aber richtig ist es. Also "LIMIT 1" bewirkt das nach dem Bearbeiten eines Datensatzes die Abfrage beendet wird und nicht weiter in der tabelle gesucht wird. Das heißt also auch das LIMIT einen kleinen Performanceschub gibt. Aber eben nur wenn du große Tabellen hast. Aber benutzen würde ich es auf jedenfall.
 
Lass dir das query doch einfach mal ausgeben und schau ob da alles i.O. ist, d.h. ob die Variablen überhaupt mit Werten gefüllt sind...
 
Kann mir nicht jemand kurz meinen Quellcode berichtigen ?

Dann hat die sch*** Fehlersuche endlich mal ein Ende

Wäre echt cool von euch...

Gruss...
WALLi
 
Naja,
also man, kann ja nur einen Fehler berichtigen wenn man weiß wo er liegt... Darum lass dir mal das Query ausgeben und guck was da los ist...
 
Zurück