SQL-Abfrage /jQuery -> Autocomplete
am 13.09.2010 - 17:01 Uhr in
Hallo Freunde,
ich stochere mal wieder im Nebel herum weil ich nicht weiß wie man die SQL-Abfragen richtig aufführt.
Ich binde jQuery-Autocomplete für ein bestimmtes Feld ein. Nun möchte ich erreichen, dass die Begriff-Vorschläge aus einer bestimmten Spalte einer Tabelle aus der SQL-Datenbank verwendet werden.
Mit diesem JS rufe ich die Datei 1.php auf
<script>
$(document).ready(function(){
$("#edit-locations-0-city").autocomplete("1.php");
});
</script>
In 1.php muss jetzt die Datenbankabfrage durchgeführt werden. Die Tabelle in der Datenbank nennt sich "zipcodes" - die Spalte "city"!
In einem Tutorial fand ich diesen Code für 1.php
// PHP5 Implementation – uses MySQLi.
$db = new mysqli(‘localhost’, ‘root’, ’passwort’, ’datenbankname’);
if(!$db) {
// Show error if we cannot connect.
echo ‘ERROR: Could not connect to the database.’;
} else {
// Is there a posted query string?
if(isset($_POST[‘queryString’])) {
$queryString = $_POST[‘queryString’];
if(strlen($queryString) >0) {
$query = $db->query("SELECT city FROM zipcodes ‘$queryString%’ LIMIT 10");
if($query) {
while ($result = $query ->fetch_object()) {
echo ‘<li onclick="fill(‘‘.$result->value.’‘);">’.$result->value.‘</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!’;
}
}
Das funktioniert aber leider nicht - es gibt keine Fehlermeldung - es passiert überhaupt nichts und ich habe keinen Plan wie man das richtig schreiben muss.
Könnte mir von Euch bitte jemand helfen?
Danke und Gruß
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
Bitte benutze die Form-Api.
am 13.09.2010 - 17:50 Uhr
Bitte benutze die Form-Api. http://api.drupal.org/api/drupal/developer--topics--forms_api_reference....
Der Pfad
'#autocomplete_path' => 'user/autocomplete',
ist ein Menüpunkt von http://api.drupal.org/api/function/user_menu/6 beim Tippen wird der Pfad aufgerufen, das getippte dem page callback http://api.drupal.org/api/function/user_autocomplete/6 übergeben, die dann das ergebnis zurückgibt und drupal den rest macht.Hallo Tobias, danke für die
am 13.09.2010 - 18:04 Uhr
Hallo Tobias,
danke für die Hinweis aber ich komme mit der Drupal-API nicht klar. Da reiht sich ein Fragezeichen ans Nächste. Deswegen wollte ich ja das jQuery-Plugin verwenden da das praktisch schon "fertig" ist und ich es nur noch einbinden muss.
Jetzt hapert es aber an der SQL-Abfrage weil ich da auch nicht recht weiß wie ich die Daten aus der Tabelle übergeben muss.
Ich bin jetzt wieder bei Trial & Error angelangt - anders gehts momentan nicht.
Diesen Code habe ich von
am 13.09.2010 - 18:15 Uhr
Diesen Code habe ich von php-einfach übernommen
<?php
....
....
....
$abfrage = "SELECT city FROM zipcodes";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
echo "$row->city";
}
?>
Was passiert?
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource line 17
Line 17 ist
while($row = mysql_fetch_object($ergebnis))
Warum, weshalb, wieso ..... Ich habe absolut keinen Plan.
Vielleicht solltest Du die
am 13.09.2010 - 18:45 Uhr
Vielleicht solltest Du die Drupalfunktionen nehmen db_query und db_fetch_object :-)
Beste Grüße
Werner