Denkansatz für DB Update

Godstyle

Erfahrenes Mitglied
Hi,

ich störe euch nochmal.
Ich versuche eintwas zu realisieren, wo ich absolut keinen richtigen Anfang hinbekomme.

Soll in etwa so Aussehen:

Audi | eingabefeld für ersatz | ändern button
Opel | eingabefeld für ersatz | ändern button

Also, die fahrzeuge werden aus einer Datenbank Ausgelesen und unter einander aufgelistet. Danach kommt ein input text feld und daneben dann der senden button.

Es soll dazu dienen, dass wenn man Audi falsch geschrieben hatte, man es hier korrigieren kann.

Aufbau in etwa:


if (ändern buttun geklickt) {
Update des feldes

Anzeige was geändert wurde und darunter der geänderte Aufbau, also wieder:

Audi | eingabefeld für ersatz | ändern button
Opel | eingabefeld für ersatz | ändern button

}


else {

Audi | eingabefeld für ersatz | ändern button
Opel | eingabefeld für ersatz | ändern button

}


ich hoffe es war verständlich, anderenfalls bitte kurz nachfragen.


MFG

mein Versuch:

PHP:
$chek = $_POST['name'];

    if($chek == 'edit'){

    $Query = "UPDATE '$upname' FROM hersteller WHERE hersteller = '$upname'";
    mysql_query($Query, $database);

        echo "<br><font size=1 color=white>$Query<br><br>";
    
        echo mysql_error();

    

            $Query = "SELECT * FROM hersteller where hertseller = '$Name'";
            $result = mysql_query($Query, $database);
            $Name        = mysql_result($result, 0, $Name);


?>
<form action="index.php?page=hersteller&kat=herbea" METHOD="post" />

<?php echo "$Name"; ?><input type="text" name="upname" value="<?php echo "$Name"; ?>">
<input type="submit" name="edit" value="update">

</form>
<?php
}

else {
echo "geht nicht";
<form action="index.php?page=hersteller&kat=herbea" METHOD="post" />

<?php echo "$Name"; ?><input type="text" name="upname" value="<?php echo "$Name"; ?>">
<input type="submit" name="edit" value="update">

</form>
<?php
}
 
Und was exakt funktioniert jetzt nicht?
Eine genaue Frage wäre interessant.

Zu deinem Quellcode, du brauchst nicht jedesmal wenn du HTML hast den PHP-Bereich zu schließen.
PHP:
echo "<htmlbefehl>";
geht genauso
und als kleiner Tipp, bei dir ist Kraut und Rüben, Variablen in einem Query müssen exakt abgegrenzt werden, etc.


Ich hab jetzt nochmal schnell drübergelesen, bin mir aber immer noch nicht zu 100% sicher ob ich verstanden hab was du willst.

PHP:
<?php
if(isset($_POST['submit']) AND "update" == $_POST['submit']) {
        // Nach dem Abschicken kommt immer nur ein Formular hier an.

        mysql_query("UPDATE '".$upname."' FROM hersteller WHERE hersteller = '".$_POST['upname']."'") OR die(mysql_error()); 
        mysql_query($Query, $database);

        // usw...
} else {

    // Hier ist der SQL-Query um die Datensätze der Autos auszulesen
    echo "<form action=\"index.php?page=hersteller&kat=herbea\" method=\"post\">";

    while($row = mysql_fetch_assoc($sql_query)) {
        // Jede einzelne Zeile ist also ein eigenes Formular
        echo "<form action=\"index.php?page=hersteller&kat=herbea\" method=\"post\">";
        echo $row['Name'];       
        echo " <input type=\"tex\t" name=\"upname\" value=\". $row['Name'] ."\">";
        echo " <input type=\"submit\" name=\"edit\" value=\"update\">";
        echo "</form>\n";
    }

//.... hier folgt der restliche Codeteil von dir;

}
?>

Kann jetzt noch zu Fehlern kommen, habs nicht ausprobiert und leider auch grad nicht so ewig viel Zeit, aber so in der Art sollte es funktionieren.
 
Zuletzt bearbeitet:
echo "<htmlbefehl>";

ist mir bekannt danke.

das script gibt mir keine Fehler aus obwohl all_error on ist.

In der DB sind 2 einträge derzeit, diese sollte das script nun auslesen und wie oben beschrieben darstellen.
Dies macht es nicht.
Somit ist auch kein Update oder daten änderung möglich. Das script wird einige Fehler haben.
 
ja, das habe ich beachtet, das script hat sich um einiges geändert, da die von dir genutzte funktion gar nicht lief, evt weil du zu wenig zeit hattes, meine ist auch noch nicht fehler frei habe in der update zeile noch einen fehler drinnen den ich nicht hin bekomme.

PHP:
if(isset($_POST['edit']) AND $_POST['upname'] != false AND $_POST['upname'] != "") { 
        // Nach dem Abschicken kommt immer nur ein Formular hier an.$row->hersteller
echo '<pre>'. print_r($_POST, TRUE). '</pre>';
        mysql_query("UPDATE hersteller SET hersteller = '"$_POST['upname']"' WHERE hersteller") OR die(mysql_error()); 
  $abfrage = "SELECT hersteller FROM hersteller";
  $ergebnis = mysql_query($abfrage);
  mysql_close();
  
    // Hier ist der SQL-Query um die Datensätze der Autos auszulesen
    echo "<form action=\"index.php?page=hersteller&kat=herbea\" method=\"post\">";
    while($row = mysql_fetch_object($ergebnis)) {
     echo "<form action=\"index.php?page=hersteller&kat=herbea\" method=\"post\">";
echo "$row->hersteller";       
 echo '<input type="hidden" name="id" value="' .$row->id. '">';
echo '<input type="text" name="upname" value="' .$row->hersteller. '">';
        echo " <input type=\"submit\" name=\"edit\" value=\"update\">";
        echo "</form>\n";
} } else {
  $abfrage = "SELECT id, hersteller FROM hersteller";
  $ergebnis = mysql_query($abfrage);
  
    // Hier ist der SQL-Query um die Datensätze der Autos auszulesen
    echo '<form name="' .$row->hersteller. '" action="index.php?page=hersteller&kat=herbea" method="post">';
    while($row = mysql_fetch_object($ergebnis)) {
        // Jede einzelne Zeile ist also ein eigenes Formular
        echo "<form action=\"index.php?page=hersteller&kat=herbea\" method=\"post\">";
 echo "$row->hersteller";   
 echo '<input type="hidden" name="id" value="' .$row->id. '">';   
 echo '<input type="hidden" name="hers" value="' .$row->hersteller. '">';
   
echo '<input type="text" name="upname" value="' .$row->hersteller. '">';
        echo ' <input type="submit" name="edit" value="update">';
        echo "</form>\n";
    }
 
Fehlermeldung wäre nicht schlecht, soweit ich das jetzt gesehn hab ist im Update-Query folgender Fehler:
PHP:
mysql_query("UPDATE hersteller SET hersteller = '"$_POST['upname']"' WHERE hersteller") OR die(mysql_error());  // Fehlerhaft

mysql_query("UPDATE hersteller SET hersteller = '".$_POST['upname']."' WHERE hersteller") OR die(mysql_error());  // Fehlerfrei
// Die Variable im Query sollte zusätzlich mit einem Punkt markiert werden.
 
Zuletzt bearbeitet:
auch hier gilt wie in deinem anderen Thread, wenn dir mein Beitrag geholfen hat wäre ich dir über eine Bewertung nicht böse.
Zusätzlich solltest du den Thread schließen wenn alles i.O. ist.
 
Zurück