Hallo , ich möchte in meine Seite eine Suchmaschine einbauen, dazu hab ich hier ein tutorial befolgt:
Suche durch eine Datenbank von bad taste
http://www.tutorials.de/forum/php-tutorials/9872-php-mysql-suche-durch-eine-datenbank.html
Nun meine Daten:
$hostname_verbindung = "localhost";
$database_verbindung = "phost136983";
$username_verbindung = "phost136983";
$password_verbindung = "*****";
Meine Tabelle: tblspieledatenbank und Spalten: int_spiel_id, str_spiel_name, txt_beschreibung
Ich habe 3 datein erstellt (suche.php, detailtest.php, verbindung.php)
suche.php
verbindung.php
detailtest.php
Das Problem ist egal nach was ich suche er gibt mir kein ergebnis raus, also detailtest bleibt leer aus, fehlermeldung bekomme ich keine.
Für Hilfe bin ich sehr Dankbar
Suche durch eine Datenbank von bad taste
http://www.tutorials.de/forum/php-tutorials/9872-php-mysql-suche-durch-eine-datenbank.html
Nun meine Daten:
$hostname_verbindung = "localhost";
$database_verbindung = "phost136983";
$username_verbindung = "phost136983";
$password_verbindung = "*****";
Meine Tabelle: tblspieledatenbank und Spalten: int_spiel_id, str_spiel_name, txt_beschreibung
Ich habe 3 datein erstellt (suche.php, detailtest.php, verbindung.php)
suche.php
PHP:
<?php require_once('../Connections/verbindung.php'); ?>
<form action='detailtest.php' method=POST>
None of these words: <input type='text' length=40 name='eingabe' value="<? echo $_POST['eingabe']?>"><br>
<input type='submit' value='Search'>
</form>
<?
if($_POST['eingabe']=="")
{
echo "<b>Bitte geben Sie ein Suchwort ein.</b>";
}
else
{
$eingabe_array = explode(' ',$eingabe);
$query = 'select * from tblspieledatenbank where '; //anfang der abfrage
for($i=0; $i<count($eingabe_array); $i++){
$query .= "(txt_beschreibung like '%".$eingabe_array[$i]."%' or str_spiel_name like '%".$eingabe_array[$i]."%' )";
//ob der $i-te begriff in einer der drei spalten enthalten ist (mit oder verknüpft)
if($i<count($eingabe_array)-1){
$query .= ' and ';
}
//verknüpfung der einzelnen worte mit und
}
$result = mysql_db_query($query); //anfrage an die datenbank
if(mysql_num_fields($result) < 1)
{
echo "Leider keine Treffer. Bitte geben Sie einen anderen Suchbegriff ein";
}
else
for($i=0; $i<$num_news; $i++){
$id = mysql_result($result,$i,'int_spiel_id'); //abfrage der news_id von der datenbank
$header = mysql_result($result,$i,'str_spiel_name'); //abfrage der ueberschift
$text = mysql_result($result,$i,'txt_beschreibung'); //abfrage der news
$first = array_slice(explode(' ', $txt_beschreibung), 0, 40); //explode teilt den string wieder an der ' ' und array_slice erstellt einen neuen array mit den ersten 40 elementen = worten der news
$txt_beschreibung = join(' ', $first) . '... '; //join verbindet die elemente des arrays wieder zu einem string. am ende werden noch drei punkte angehängt...
echo '<a href="detailtest.php?id='.$int_spiel_id.'">'.$str_spiel_name.'</a><br>'; //links auf die seite show_news.php
echo $txt_beschreibung_kurz.'<br><br>'; //der 40 worte lange anfang des newstextes
}
}
?>
verbindung.php
PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_verbindung = "localhost";
$database_verbindung = "phost136983";
$username_verbindung = "phost136983";
$password_verbindung = "******";
$verbindung = mysql_pconnect($hostname_verbindung, $username_verbindung, $password_verbindung) or trigger_error(mysql_error(),E_USER_ERROR);
?>
detailtest.php
PHP:
<?php require_once('../Connections/verbindung.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_verbindung, $verbindung);
$query_row = "SELECT * FROM tblspieledatenbank";
$row = mysql_query($query_row, $verbindung) or die(mysql_error());
$row_row = mysql_fetch_assoc($row);
$totalRows_row = mysql_num_rows($row);
?>
<body>
<table border="1" align="center">
<tr>
<td>int_spiel_id</td>
<td><?php echo $row['int_spiel_id']; ?></td>
</tr>
<tr>
<td>str_spiel_name</td>
<td><?php echo $row['str_spiel_name']; ?></td>
</tr>
<tr>
<td>txt_beschreibung</td>
<td><?php echo $row['txt_beschreibung_kurz']; ?></td>
</tr>
</table>
</body>
</html><?php
mysql_free_result($row);
?>
</html>
Das Problem ist egal nach was ich suche er gibt mir kein ergebnis raus, also detailtest bleibt leer aus, fehlermeldung bekomme ich keine.
Für Hilfe bin ich sehr Dankbar
Zuletzt bearbeitet: