Hallo erstmal :-)
ich möchte für meine Website eine Suchfunktion einbauen, das ganze soll ein eingabe
feld haben und einen suchbutton,
dann soll sich das ganze auf einer neuen Site aufbauen um dann die ergebnisse
sortiert auspucken.
Ich habe zunächst im Internet etwas reserchiert und habe folgendes Scrypt
gefunden:
Den Scrypt bin ich dann schritt für schritt durchgegangen nur leider klappt es nicht.
Meine Daten:
$hostname_verbindung = "localhost";
$database_verbindung = "phost136983";
$username_verbindung = "phost136983";
$password_verbindung = "******";
Meine Tabelle heißt: tblspieledatenbank und meine Spalte str_spiel_name
Es soll mit hilfe von Stichwörten nach Spielen gesucht werden.
Ich habe dann 2 Datein erstellt, erstmal das Eingabe Formular:
und connect.php :
Ich bekomme folgenden Fehler:
Parse error: parse error in C:\xampp\htdocs\gameboxx\test\formular.php on line 24
Und ich verstehe auch nicht, was $sqldatabase zu bedeuten hat, ich bin jetzt mal davon
ausgegangen, dass es meine Taballe tblspieledatenbank ist O.o, glaube aber das es falsch ist.
für Hilfe bin ich sehr dankbar :-)
ich möchte für meine Website eine Suchfunktion einbauen, das ganze soll ein eingabe
feld haben und einen suchbutton,
dann soll sich das ganze auf einer neuen Site aufbauen um dann die ergebnisse
sortiert auspucken.
Ich habe zunächst im Internet etwas reserchiert und habe folgendes Scrypt
gefunden:
PHP-Code:
Hallo,
das Ziel dieses Tutorial ist, dass es jedem möglich sein sollte eine Suchfunktion
für seine Datenbank zu programmieren.
Wichtig: Dieses Skript für die Suchfunktion beinhaltet nur das aller nötigste!
Sprich es soll nur zeigen wie eine Suchfunkion aufgebaut sein kann. Natürlich
kann man soclhe "Extras" noch ergänzen.
Zum Skript: Ich poste einfach mal das ganze Skript. Folgend werden dann die
verschiedenen Punkte genauer erklärt.
php:
<?
//Formularfeld
echo " <form name=form1 method=post action='" .$_SERVER['PHP_SELF'] ."'>\n";
echo "<input class= formular name=suche type=text maxlenght=255 size=20 value='".$_POST['suche']."'>\n";
echo "<input class= formular type=submit name=Submit value='Senden'>\n";
echo "<input class= formular type=reset name=Submit value=Reset>\n</form>";
//Verbindung herstellen
include 'db_connect.inc';
$sqldatabase = mysql_pconnect("$host","$user","$pwd") or die('<b>#'.mysql_errno().':</b> '.mysql_error());
mysql_select_db($dbname, $sqldatabase) or die('<b>#'.mysql_errno().':</b> '.mysql_error());
//Suche starten, Ergebnise ausgeben
$daten = mysql_query('SELECT * FROM `'.$tblname.'` WHERE `Artist`=\''.$_POST['suche'].'\'', $sqldatabase);
while($row=mysql_fetch_array($daten)){
echo $row['Artist'];
}
?>
Gut, also zur genaueren Erklärung des Skripts:
1.Eingaben per Formularfeld
php:
<?php //Formularfeld
echo " <form name=form1 method=post action='" .$_SERVER['PHP_SELF'] ."'>\n";
echo "<input class= formular name=suche type=text maxlenght=255 size=20 value='".$_POST['suche']."'>\n";
echo "<input class= formular type=submit name=Submit value='Senden'>\n";
echo "<input class= formular type=reset name=Submit value=Reset>\n</form>"; ?>
Dieser Code beinhaltet das Formularfeld. Die Angaben aus dem Formular wird
danach an sich selber geschickt. (action='" .$_SERVER['PHP_SELF'] ."') Das
Textfeld bekommt den Wert: $_POST (value='".$_POST['suche']."')
2. Verbindung herstellen
php:
<?php include 'db_connect.inc';
$sqldatabase = mysql_pconnect("$host","$user","$pwd") or die('<b>#'.mysql_errno().':</b> '.mysql_error());
mysql_select_db($dbname, $sqldatabase) or die('<b>#'.mysql_errno().':</b> '.mysql_error()); ?>
In diesem Abschnitt wird Verbindung mit der Datenbank aufgenommen.
Ich benütze dafür eine externe Datei! Man muss einfach $host, $user, $pwd, $tblname, $dbname
durch seine Daten ersetzen.
3. Suche starten und Ergebnisse anzeigen:
php:
<?php $daten = mysql_query('SELECT * FROM `'.$tblname.'` WHERE `Artist`=\''.$_POST['suche'].'\'', $sqldatabase);
while($row=mysql_fetch_array($daten)){
echo $row['Artist'];
} ?>
so nun zum wichtigsten Punkt. Hier wird wie es der Titel schon sagt, die Eingaben verwertet.
Er checkt ab, ob der Suchbegriff mit einem Wert der Spalte identisch ist. (WHERE `Artist`=\''.$_POST['suche'].) Also muss man
"Artist" durch einen vorhandenen Spaltennamen ersetzen. Danach wird mit der while schleife der Suchbegriff weiterverarbeitet
bis zum echo $row['Artist'];!
Hier werden die Ergebniss per echo ausgegen!
Meine Daten:
$hostname_verbindung = "localhost";
$database_verbindung = "phost136983";
$username_verbindung = "phost136983";
$password_verbindung = "******";
Meine Tabelle heißt: tblspieledatenbank und meine Spalte str_spiel_name
Es soll mit hilfe von Stichwörten nach Spielen gesucht werden.
Ich habe dann 2 Datein erstellt, erstmal das Eingabe Formular:
PHP-Code:
<?php //Formularfeld
echo " <form name=form1 method=post action='" .$_SERVER['PHP_SELF'] ."'>\n";
echo "<input class= formular name=suche type=text maxlenght=255 size=20 value='".$_POST['suche']."'>\n";
echo "<input class= formular type=submit name=Submit value='Senden'>\n";
echo "<input class= formular type=reset name=Submit value=Reset>\n</form>"; ?>
<?php require_once('../test/connect.html'); ?>
<?php
<?php $daten = mysql_query('SELECT * FROM `'.$tblspieledatenbank.'` WHERE `str_spiel_name`=\''.$_POST['suche'].'\'', $sqldatabase);
while($row=mysql_fetch_array($daten)){
echo $row['Artist'];
} ?>
PHP-Code:
<?php include 'db_connect.inc';
$sqldatabase = mysql_pconnect("localhost","phost136983","*****") or die('<b>#'.mysql_errno().':</b> '.mysql_error());
mysql_select_db(phost136983, tblspieledatenbank) or die('<b>#'.mysql_errno().':</b> '.mysql_error()); ?>
Parse error: parse error in C:\xampp\htdocs\gameboxx\test\formular.php on line 24
Und ich verstehe auch nicht, was $sqldatabase zu bedeuten hat, ich bin jetzt mal davon
ausgegangen, dass es meine Taballe tblspieledatenbank ist O.o, glaube aber das es falsch ist.
für Hilfe bin ich sehr dankbar :-)
Kommentar