affe2009 Geschrieben 20. Juli 2011 Teilen Geschrieben 20. Juli 2011 Hallo, ich möchte gerne ein Suchfeld erstellen, welches Datenbankbenutzer auslist. So wie bei Facebook. Wie funktioneirt so etwas? gibt es eventuell eine gute Seite dafür? danke an alle Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Thelvan Geschrieben 20. Juli 2011 Teilen Geschrieben 20. Juli 2011 Quakenet/#php Tutorial - de - Einleitung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 20. Juli 2011 Autor Teilen Geschrieben 20. Juli 2011 ich bin schon ein bisschen weiter gekommen, aber leider funktionert es nicht. woran liegt der fehler. ich will, dass alle namen der tabelle mitglieder gesucht werden können. <html> <head> <title>Ajax Suche</title> <script type="text/javascript"> function searchFor(suchbegriff){ var xmlHttp = null; // Mozilla, Opera, Safari sowie Internet Explorer 7 if (typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } if (!xmlHttp) { // Internet Explorer 6 und älter try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xmlHttp = null; } } } // Wenn das Objekt erfolgreich erzeugt wurde if (xmlHttp) { var url = "suche.php"; var params = "suchbegriff="+suchbegriff; xmlHttp.open("POST", url, true); //Headerinformationen für den POST Request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", params.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { // Zurückgeliefertes Ergebnis wird in den DIV "ergebnis" geschrieben document.getElementById("ergebnis").innerHTML = xmlHttp.responseText; } }; xmlHttp.send(params); } } </script> </head> <body> <input type="text" onkeyup="searchFor(this.value);"/> <div id="ergebnis"></div> </body> </html> [PHP] [PHP] <?php // Verbindung $server = "localhost"; $benutzername = "xxxxxx"; $passwort = "xxxxxx"; $datenbank = "xxxxxx"; // Server Verbindung herstellen mysql_connect($server,$benutzername,$passwort) or die ("Keine Verbindung moeglich"); // Datenbank Verbidung mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht"); $tabelle = "mitglieder"; if ($_POST["suchbegriff"]){ // Mysql Abfrage wird gespeichert mit den Notwendigen Parameter $sql = "SELECT * FROM ".$tabelle." WHERE name LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%')"; // Mysql Abfrage wird durchgeführt $result = mysql_query($sql); // Suchbegriff wird ausgegeben echo "Sie Suchten nach: ".$_POST["suchbegriff"]."<br/><br/>"; // Ergebnis wird ausgegeben mit Zeilenumbruch while($row = mysql_fetch_object($result)){ echo utf8_encode($row->titel); echo "<br/>"; } } ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 20. Juli 2011 Autor Teilen Geschrieben 20. Juli 2011 sorry für die schlechte darstellung, hier nochmal der code <html> <head> <title>Ajax Suche</title> <script type="text/javascript"> function searchFor(suchbegriff){ var xmlHttp = null; // Mozilla, Opera, Safari sowie Internet Explorer 7 if (typeof XMLHttpRequest != 'undefined') { xmlHttp = new XMLHttpRequest(); } if (!xmlHttp) { // Internet Explorer 6 und älter try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xmlHttp = null; } } } // Wenn das Objekt erfolgreich erzeugt wurde if (xmlHttp) { var url = "suche.php"; var params = "suchbegriff="+suchbegriff; xmlHttp.open("POST", url, true); //Headerinformationen für den POST Request xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", params.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { // Zurückgeliefertes Ergebnis wird in den DIV "ergebnis" geschrieben document.getElementById("ergebnis").innerHTML = xmlHttp.responseText; } }; xmlHttp.send(params); } } </script> </head> <body> <input type="text" onkeyup="searchFor(this.value);"/> <div id="ergebnis"></div> </body> </html> [/PHP] [PHP] <?php // Verbindung $server = "localhost"; $benutzername = "xxxxxx"; $passwort = "xxxxxx"; $datenbank = "xxxxxx"; // Server Verbindung herstellen mysql_connect($server,$benutzername,$passwort) or die ("Keine Verbindung moeglich"); // Datenbank Verbidung mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht"); $tabelle = "mitglieder"; if ($_POST["suchbegriff"]){ // Mysql Abfrage wird gespeichert mit den Notwendigen Parameter $sql = "SELECT * FROM ".$tabelle." WHERE name LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%')"; // Mysql Abfrage wird durchgeführt $result = mysql_query($sql); // Suchbegriff wird ausgegeben echo "Sie Suchten nach: ".$_POST["suchbegriff"]."<br/><br/>"; // Ergebnis wird ausgegeben mit Zeilenumbruch while($row = mysql_fetch_object($result)){ echo utf8_encode($row->titel); echo "<br/>"; } } ?> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 21. Juli 2011 Autor Teilen Geschrieben 21. Juli 2011 so, die suche in der datenabnk nach den vorhandenen namen funktoniert einwandfrei. ich will, dass das suchfeld aufklpatt und die namen anzeigt wie bei facebook. ich bekome es einfach nicht hin, hab schon alles ausprobiert. Start.php <table width="100%" border="1"> <tr> <td class="leiste"><img src="images/logo.jpg" class="logo"> <input class="search" type="text" onKeyUp="(this.value.length >= 2) ? searchFor(this.value) : '';"><div id="ergebnis"></div> <a href="logout.php"><img src="images/logout.jpg" class="logout"></a> </td> </tr> </table> [/PHP] Suchen.php [PHP] <?php // Verbindung $server = "xxxxx"; $benutzername = "xxxxx"; $passwort = "xxxxx"; $datenbank = "xxxxx"; // Server Verbindung herstellen mysql_connect($server,$benutzername,$passwort) or die ("Keine Verbindung moeglich"); // Datenbank Verbidung mysql_select_db($datenbank) or die ("Die Datenbank existiert nicht"); $tabelle = "mitglieder"; if ($_POST["suchbegriff"]){ // Mysql Abfrage wird gespeichert mit den Notwendigen Parameter $sql = "SELECT id, name FROM ".$tabelle." WHERE name LIKE ('%".mysql_real_escape_string(utf8_decode($_POST["suchbegriff"]))."%')"; // Mysql Abfrage wird durchgeführt $result = mysql_query($sql); // Suchbegriff wird ausgegeben echo "Sie Suchten nach: ".$_POST["suchbegriff"]."<br/><br/>"; // Ergebnis wird ausgegeben mit Zeilenumbruch //while($row = mysql_fetch_object($result)){ //echo utf8_encode($row->Name); //echo "<br/>"; echo'<?xml version="1.0" encoding="UTF-8"?> <ergebnis>'; while($person = mysql_fetch_object($result)) { echo "<a href=profil.php?user=$person->id>$person->name</a>"; echo "<br>"; } } ?> style.css (class: search) .search { font-weight:bold; position:absolute; margin-top:10px; color:#000; margin-left:250px; } [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schnittcher Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Schau dir das hier mal an PHP Example AJAX Live Search. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 die hatte ich auch schon ausprobiert, aber leider ohne erfolg. ich liegt eigentlich nur am design, nicht am quellcode. ich will nur, dass wenn man etwas sucht, das ergebnis diretk darunter in einem aufklappmenü erscheint und die seite damit so zu sagen abdeckt. wie bei facebook suche. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schnittcher Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Dann musst du die Position von dem DIV in der CSS Datei auf "absolute" stellen. Dann dürfte das darüber gelegt werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 nein, wird es leider nicht. Wie kann ich es so demonstrieren, dass das suchfeld nach dem sucenn ein "aufklappmenü" bekommt mti den suchergebnissen. das "aufklappmenü" soll dann über dem text natürlich im hintergrund sein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 ich habe jezt das input feld search und die ausgabe div in eine form gepackt, funktioneirt auch. nur wenn ich jetzt suche, dann schreibt er mir das ergebnis untereinander wie ich es will, nur hinter den suchergebnissen gefindet sich noch die anderen schriften von der seite, die sollen weg. besser mal selber anschauen www.************.org benutzer: test passwort: test und nach tes suchen danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 ************.org Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 ************ punkt org Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 sorry, hab gerade übesehen, dass man link einfügen kann. hier nochmal der link zu meiner setie http://www.************.org Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 http://************.org Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
affe2009 Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 sascha minus graf punkt org Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schnittcher Geschrieben 25. Juli 2011 Teilen Geschrieben 25. Juli 2011 Forbidden You don't have permission to access / on this server. Geht wohl nicht! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.