Nach Eingabe in Textfeld Mysql abfrage und ausgabe

BaalOrun

Grünschnabel
Ich habe folgendes Problem..

Zusammenfassung:
Ich habe ein Textfeld in das eine Nummer eingegeben wird dazu soll onBlur der Inhalt in der Datenbank gesucht werden und aus der gleichen Zeile ein anderer Wert in ein weiteres Textfeld eingetragen werden.


Wenn ich z.b. in das Textfeld "363" eingebe soll dieser Wert in der Datenbank in einer bestimmten Spalte gesucht werden da die Spalten wie folgt angelegt sind:

id;ort;nummer;telefon
id;ort;nummer;telefon
id;ort;nummer;telefon

es soll also nach der Zeile gesucht werden wo die nummer entsprechend eingetragen ist und dann der zugehörige wert vom Ort in einem weiteren Textfeld wieder ausgegeben werden.

Ich hoffe ich habe mich verständlich ausgedrückt und Ihr könnt mir helfen.

Mit freundlichen Grüßen Baal Orun
 
es soll im feld "nummer" gesucht werden

und ausgegeben werden soll das feld "ort"
 
Zuletzt bearbeitet:
Jedes Tutorial zu MySQL und PHP beantwortet dir die Frage wie du mit PHP den Wert aus der DB kriegst.
Damit das ganze onBlur geht, musst du mit Ajax arbeiten. Das ist keine eigene Sprache sondern ein Konzept und besteht hier aus der Kombination von Javascript und PHP.
Ein einfaches Ajax-Beispiel

In der Datei 'ajax_f1_server.php' meines oben verlinkten Beispieles muss dan der DB-Zugriff und alles hinein
 
ajax habe ich mir auch schon angeschaut aber ajax überprüft doch nach jedem buchstaben wie eine suche bei google und das soll ja nicht gemacht werden, benötige ich das auch für onblur?

und ich weiß wie ich einen wert aus einer datenbank in ein feld bekomme jedoch nicht wie ich danach suchen kann und es dann in ein anderes feld eintragen lassen kann.
 
Zuletzt bearbeitet:
Ajax überprüft gar nix. Ajax ist ein Konzept. In dienem Fall bei onBlur ein Javascript aufrufen, dass den die Nummer ans PHP schickt, dieses gibt den Ort zurück und das Javascript schreibt den Ort irgendwohin.
 
Ich glaube ich bin zu doof xD

Ich habe jetzt mit Hilfe eines anderen Tutorials ein wenig gebastelt und soweit geht das auch ganz gut, ABER ich bekomme den wert nicht in ein anderes Feld. Momentan wird das ergebnis der query als Liste dargestelllt und on Click in das aktuelle feld übernommen aber ich möchte das er nur das Feld in einem anderen Form Feld ausgibt wie ist das zu bewerkstelligen.

Momentaner stand:

Code:
if(!$db) {
		echo 'ERROR: Could not connect to the database.';
	} else {
		
		if(isset($_POST['queryString'])) {
			$queryString = $db->real_escape_string($_POST['queryString']);
			
			if(strlen($queryString) >0) {
					
			$query = $db->query("SELECT markt FROM auswertung WHERE ort LIKE '$queryString%' LIMIT 1");
				if($query) {
					
					while ($result = $query ->fetch_object()) {
							
	         			echo '<li onClick="fill(\''.$result->markt.'\');">'.$result->markt.'</li>';
	         		}
				} else {
					echo 'ERROR: There was a problem with the query.'; 
	}
			} else {
				// Dont do anything.
			} // There is a queryString.
		} else {
			echo 'There should be no direct access to this script!';
		}
	}

Wie kann ich nun $result in einem anderen Formfeld ausgeben?

Die function "fill" wird noch weiter oben definiert. Wie gesagt momentan sucht er in der datenbank nach dem Ort und spuckt mir zugehörende Nummer als Liste aus.
 
Zuletzt bearbeitet:
Ich verstehe die Abfrage nicht. Es soll doch der Ort gefunden werden bei dem eine bestimte Nummer hinterlegt ist. Du suchst aber nach dem Ort und holst den Inhalt des Feldes "markt" welches es laut obiger Beschreibung gar nicht in der Tabelle gibt!? !? !?

Außerdem dürfte es doch wegen des "LIMIT 1" keine Liste geben da ja nur ein Datensatz zurückgeliefert wird!

Ansonsten wird der Wert so in das Textfeld eingetragen:

PHP:
<input type="text" name="markt" value="<?php echo $result->markt; ?>" size="20"/>
 
Sry in der obigen beschreibung heißt das Feld noch "Nummer" wurde in markt umbenannt, letzen endes liegt jedoch immer noch eine nummer dahinter :D

Und das Limit 1 Habe ich bereits gesetzt so gibt er nur ein Ergebnis aus das ist auch richtig.

Auch mit echo bekomme ich dort keine Ausgabe das hatte ich bereits versucht.

Es kann daran liegen das er den Wert von der Variablen beim Laden der seite bereits liest und der Wert ja erst später bei der eingabe erzeugt wird...

Aber es hat sich bereits erledigt habe eine alternative Lösung gefunden.
 
Zuletzt bearbeitet:
Wird die Abfrage bzw. dieser Code überhaupt ausgeführt?
Entweder so wie Yaslaw geschrieben mit Ajax oder du musst mit Hilfe von onBlur eine JavaScript Funktion aufrufen die das Formular abschickt und den Code damit koppeln.
 
Zurück