Letzen Eintrag einer DB auslesen, wenn kein neuer eingegeben wurde

scadoXus

Grünschnabel
Hallo :)

So, zu meinem Wissensstand: absoluter Newbie. Also entschuldigt, wenn ich mich vielleicht nicht korrekt ausdrücken sollte.

Folgendes: Ich habe ein Formular erstellt, dass mehrere Daten an eine mysql DB übergibt. Das insert und auch wieder auslesen klappt ohne Probleme. Nun wird ein Wert halt nur sehr selten geändert und es ist schon umständlich, den jedes mal wieder in das Formular eingeben zu müssen. Ist es möglich, dass wenn in dem Formular das Feld für diesen Wert beim Eintragen freigelassen wurde, dann den letzten Datensatz dieser Spalte aus der DB auszulesen (also die Spalte, wo der Wert das letzte mal eingetragen worden ist)? Alle anderen Werte lasse ich nach id sortiert ausgeben, höchste id zuerst.

Ich hoffe, das war jetzt irgendwie einigermaßen verständlich. Ich erwarte nun keine komplette Lösung sondern erstmal die Aussage, ob das geht und vielleicht einen kleinen Denkanstoß.

Danke schon einmal!


scadoXus
 
Was ich nicht so richtig verstanden habe:
Wird der Wert denn jedesmal neu eingefügt (INSERT) oder wird der alte Wert nur aktualisiert (UPDATE)?

Lösungsbeispiel für INSERT:
PHP:
<?php
    $result = mysql_query("SELECT * FROM Tabelle ORDER BY Datum DESC LIMIT 1"); //letzten Eintrag auswählen
    $row = mysql_fetch_assoc($result);
    $wert1 = $_GET['foo'];
    $wert2 = $_GET['bar'];
    if($wert1 == "") {
        $wert1 = $row['Wert1']; //Wenn das Feld leergelassen wurde, dann wird der alte Wert zugewiesen
    }
    if($wert2 == "") {
        $wert2 = $row['Wert2']; //Wenn das Feld leergelassen wurde, dann wird der alte Wert zugewiesen
    }
    //...

    mysql_query("INSERT INTO Tabelle (Wert1, Wert2) VALUES ('".$wert1."', '".$wert2."')");
?>
Lösungsbeispiel für UPDATE:
PHP:
<?php
    $wert1 = $_GET['foo'];
    $wert2 = $_GET['bar'];
    $sql = "UPDATE Tabelle SET ";
    if($wert1 != "") {
        $sql .= "Wert1 = '".$wert1."' "; //Wenn das Feld nicht leergelassen wurde, wird der Query fortgesetzt...
    }
    if($wert1 != "") {
        $sql .= "Wert1 = '".$wert1."' "; //Wenn das Feld nicht leergelassen wurde, wird der Query fortgesetzt...
    }
    $sql .= "WHERE ID = '".$id."'";
    mysql_query($sql);
?>
Ich hoffe, ich habe dich richtig verstanden ;) und konnte helfen
 
Hallo !

Ein riesengroßes Dankeschön für die Mühe. Das hat mir echt weitergeholfen. :) Hatte das Ganze übrigens mit insert gemacht.


lG,
Tinka
 
Zurück