Zum Inhalt springen

PHP Suchfeld --> Datenbankbenutzer


affe2009

Empfohlene Beiträge

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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/>";
}
}
?>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...