Befehl zur Datenbankaktualisierung
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfragen
befehl
beitrag
button
daten
ergebnis
geduld
hilfe
hinweisfenster
klicken
mglichkeit
prinzip
sekunde
set
uebrigens
update
variante
wert test
zurck
berschrift
-
Hi,
ich habe folgendes Problem:
Ich füge mit einem Button-Klick den Text von 2 Edit-Feldern in eine SQL-Datenbank, der Inhalt wird jedoch erst nach einer Zeit (ca. 10-20 Sekunden) aktualisiert.
Gibt es eine Möglichkeit die Datenbank direkt aktualisieren zu lassen, z. B. in dem ich irgendeinen Befehl zur Datenbankaktualisierung ins Button-Klick einfüge?
(„Seite aktualisieren“ will ich übrigens meiden, dabei erscheint nämlich immer ein Hinweisfenster und meist ist Datenbank danach auch noch nicht aktualisiert.)
DANKE -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
ich habe folgendes Problem:
Ich füge mit einem Button-Klick den Text von 2 Edit-Feldern in eine SQL-Datenbank, der Inhalt wird jedoch erst nach einer Zeit (ca. 10-20 Sekunden) aktualisiert.
Gibt es eine Möglichkeit die Datenbank direkt aktualisieren zu lassen, z. B. in dem ich irgendeinen Befehl zur Datenbankaktualisierung ins Button-Klick einfüge?
(„Seite aktualisieren“ will ich übrigens meiden, dabei erscheint nämlich immer ein Hinweisfenster und meist ist Datenbank danach auch noch nicht aktualisiert.)
DANKE
Warum schickst du das Formular nicht an eine seite.
Dort fürhst du den UPDATE befehl aus und gehts dann wieder zurück und lässt euen Nachricht ausgeben das es akutalisiert wurde. -
Warum schickst du das Formular nicht an eine seite.
Dort fürhst du den UPDATE befehl aus und gehts dann wieder zurück und lässt euen Nachricht ausgeben das es akutalisiert wurde.
wie würde so was denn aussehen?
Weiß nicht genau wie ich diese Idee (quelltextmäßig) umsetzen kann...
... die Möglichkeit das man die Datenbank einfach durch einen Befehl aktualisieren kann gibt es nicht?
Danke,
mfg -
<?php if(isset($_GET['ready'])) { echo 'wurde aktualisiert'; } ?> <form action="update.php" method="post"> Hier das Forumlar zum updaten rein </form>
update.php
<?php $update = mysql_query("UPDATE TABELLE SET ......") OR die(mysql_error()); header ('Location: forma.php?ready'); ?>
-
Du musst lediglich darauf achten, dass der UPDATE Befehl vor dem SELECT Befehl, also vor dem Auslesen der Daten, an den MySQL Server gesendet wird.
MfG Lucas -
lucas9991 schrieb:
Du musst lediglich darauf achten, dass der UPDATE Befehl vor dem SELECT Befehl, also vor dem Auslesen der Daten, an den MySQL Server gesendet wird.
MfG Lucas
hhmm, wie schreib ich das denn jetzt wenn ich das UPDATE vor das SELECT bringen will, ich kenn nur diese 2 Varianten:
<?php include("dbconnect.php"); $abfrage = "SELECT * FROM links"; //bzw.: $abfrage = ("UPDATE kundendaten SET wert = 'Test' WHERE id = '1'"); $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo $row -> Ueberschrift; } ?>
Wie bring ich nun das UPDATE vor das SELECT?
Kann doch immer nur eins der beiden verwenden, oder?
Gibt es vielleicht eine Möglichkeit wie man mein Beispiel umstellen kann, so dass es nach dem "UPDATE vor SELECT"-Prinzip funktioniert?
Danke,
mfg
Beitrag geaendert: 16.4.2007 14:30:18 von zocca
Beitrag geaendert: 16.4.2007 14:47:40 von zocca -
lucas9991 schrieb:
Du musst lediglich darauf achten, dass der UPDATE Befehl vor dem SELECT Befehl, also vor dem Auslesen der Daten, an den MySQL Server gesendet wird.
MfG Lucas
hhmm, wie schreib ich das denn jetzt wenn ich das UPDATE vor das SELECT bringen will, ich kenn nur diese 2 Varianten:
<?php include("dbconnect.php"); $abfrage = "SELECT * FROM links"; //bzw.: $abfrage = ("UPDATE kundendaten SET wert = 'Test' WHERE id = '1'"); $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo $row -> Ueberschrift; } ?>
Wie bring ich nun das UPDATE vor das SELECT?
Kann doch immer nur eins der beiden verwenden, oder?
Gibt es vielleicht eine Möglichkeit wie man mein Beispiel umstellen kann, so dass es nach dem "UPDATE vor SELECT"-Prinzip funktioniert?
Danke,
mfg
Beitrag geaendert: 16.4.2007 14:30:18 von zocca
Beitrag geaendert: 16.4.2007 14:47:40 von zocca
Für ein Update brauchst du nur das hier :
<?php include("dbconnect.php"); $abfrage = ("UPDATE kundendaten SET wert = 'Test' WHERE id = '1'"); $ergebnis = mysql_query($abfrage); ?>
-
OK, das hab ich auch jetzt so stehen, aber trotzdem wird die Datenbank erst nach wenigen Momenten und nicht direkt aktualisiert...
Das UPDATE führt schon das aus was es soll, jedoch bleibt die Datenbank nach dem Ausführen dieses Befehls noch längere Zeit ungeändert.
Wie kann ich das also nun beheben? -
OK, das hab ich auch jetzt so stehen, aber trotzdem wird die Datenbank erst nach wenigen Momenten und nicht direkt aktualisiert...
Das UPDATE führt schon das aus was es soll, jedoch bleibt die Datenbank nach dem Ausführen dieses Befehls noch längere Zeit ungeändert.
Wie kann ich das also nun beheben?
LOL.
Bist du bei Lima auf der DB oder Locale auf deinem Homerechner? -
mysql_query ('UPDATE `quak`'); // UPDATE wird vor SELECT an den MySQL Server gesendet mysql_query ('SELECT * FROM `quak`');
Weiterhin solltest du mal die Seite mit STRG+F5 laden, bzw. daran denken, dass die lima Seiten gecachet werden! -
Also sorry wenn ich hier mal einhake, aber Datenbanken werden NIEE gecacht.
Falls du trotzdem zu einem falschen Ergebnis auf deiner Seite kommst, liegt das evtl. an von dir selbst gecachten Werten.
Grüßle
Nachtrag: Habe mal kurz ein Script gemacht indem kurz hintereinander SELECT,UPDATE SELECT ausgeführt wird und bei Update die Microsekunden/Sekunden gespeichert werden... das zweite Select hat IMMER ein aktualisierten Wert.
<?php $conn = mysql_connect('localhost','root','') OR DIE ("Keine Verbindung zum DB-Server."); mysql_select_db('test') or die("Auswahl der Datenbank fehlgeschlagen"); $query = "SELECT * from gaga where id=2;"; $res = mysql_query($query) or die("Anfrage fehlgeschlagen: ".mysql_error($conn)); while($row = mysql_fetch_row($res)) { echo "id:".$row[0]." txt:".$row[1]."\n<br>"; } $tt = microtime(); $query = sprintf("UPDATE gaga SET txt='%s' where id=2;", $tt); $res = mysql_query($query) or die("Anfrage fehlgeschlagen: ".mysql_error($conn)); $query = "SELECT * from gaga where id=2;"; $res = mysql_query($query) or die("Anfrage fehlgeschlagen: ".mysql_error($conn)); while($row = mysql_fetch_row($res)) { echo "id:".$row[0]." txt:".$row[1]; } if (is_resource($res)) { mysql_free_result($res); } mysql_close($conn); ?>
Grüßle
Beitrag geaendert: 16.4.2007 17:10:19 von scout -
KLAPPT!!
VIELEN DANK FÜR EUERE HILFE!!!
Hab einfach den Befehl mit dem UPDATE vor dem mit dem SELECT gesetzt und voila: Hat funktioniert.
Schönen Tag noch,
Danke für die Geduld,
mfg
Vielleicht hättest du den ersten Beitrag von Lucas mal lesen sollen.
Dann hättest du es auch früher gewusst. -
Ja, ich weiß, hab dann auch was ausprobiert mit dem tauschen der beiden, ist aber fehlgeschlagen (Hab irgendwas falsch gemacht und gedacht es würde in meinem Fall nicht funktionieren).
Habs eben nochmal versucht auf eine andere Art und Weise und dann hats geklappt.
Sorry, aber nochmals DANKE. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage