ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
4842
4842
EMPFEHLEN
-
Ich habe folgendes Problem, ich würde gern meine News Datenbank durchsuchen, ich habe eine Tabelle "news" und dort die Spalten "ID", "text" und "header". Die $eingabe wird von einem Formular übergeben. Leider scheint irgendetwas nicht zu funktionieren, denn obwoh ich einen Suchbegriff eingegeben habe, erscheint immer die Fehlermeldung "Bitte geben Sie ein Suchwort ein"?

Kann mir jemand vielleicht helfen? Hier der Code:
PHP-Code:<?
if($eingabe=="")
{
echo "<b>Bitte geben Sie ein Suchwort ein.</b>";
}
else
{
$eingabe_array = explode(' ',$eingabe);
$query = 'select * from news where '; //anfang der abfrage
for($i=0; $i<count($eingabe_array); $i++){
$query .= "(text like '%".$eingabe_array[$i]."%' or header 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,'id'); //abfrage der news_id von der datenbank
$header = mysql_result($result,$i,'header'); //abfrage der ueberschift
$text = mysql_result($result,$i,'text'); //abfrage der news
$first = array_slice(explode(' ', $text), 0, 40); //explode teilt den string wieder an der ' ' und array_slice erstellt einen neuen array mit den ersten 40 elementen = worten der news
$kurze_news = join(' ', $first) . '... '; //join verbindet die elemente des arrays wieder zu einem string. am ende werden noch drei punkte angehängt...
echo '<a href="news_show.php?id='.$id.'">'.$header.'</a><br>'; //links auf die seite show_news.php
echo $kurze_news.'<br><br>'; //der 40 worte lange anfang des newstextes
}
}
?>
-
Vielleicht liegt es daran, dass bei Dir register_globals deaktiviert sind. Versuchs deswegen mal mit:Original geschrieben von sugar
Die $eingabe wird von einem Formular übergeben. Leider scheint irgendetwas nicht zu funktionieren, denn obwoh ich einen Suchbegriff eingegeben habe, erscheint immer die Fehlermeldung "Bitte geben Sie ein Suchwort ein"?
PHP-Code:$_POST['eingabe']
You want me to be, something I can never ever be!
-
Ich habe ein Formular das also folgendermaßen aussieht:
<form action='news_suche3.php' method=POST>
None of these words: <input type='text' length=40 name='none' value="<? echo $_POST['eingabe']?>"><br>
<input type='submit' value='Search'>
</form>
geht aber trotzdem nicht.
-
08.07.04 16:59 #4
Chino meinte eigentlich das du in dne PHP Zeilen den $_POST['eingabe'] nehmen sollst.
Also
anstatt
soPHP-Code:
if($eingabe=="")
Gruß MirkoPHP-Code:
if($_POST['eingabe']=="")
-
Oh na klar bin ich doof! Bin eben ein Anfänger tut mir leid! Geht aber trotzdem nicht!
-
08.07.04 17:05 #6Dein Eingabefeld heisst ja auch "none" und nicht "eingabe".<input type='text' length=40 name='none' ...
snuuDas Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
www.sven-petruschke.de
-
Oh ja du hast Recht! Jetzt kommt immerhin die zweite Fehlermeldung: Leider keine Treffer. Bitte geben Sie einen anderen Suchbegriff ein!
-
Lass die mal $query ausgeben und schau, ob da das drinsteht, was du willst...
Ähnliche Themen
-
MYSQL - Volltextsuche und UNION
Von Kendoo im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 17.03.09, 19:29 -
MySQL Volltextsuche
Von mkoeni1 im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 22.08.08, 10:07 -
[MySQL] Volltextsuche - Merkwürdigkeit
Von DJLopez im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 11.09.07, 09:50 -
MySQL] Volltextsuche mit Bedingung
Von Moritz123 im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 12.07.05, 20:08 -
Volltextsuche in MySQL-DB
Von Ruediger im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 09.05.03, 16:21





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren