Hi Rena,
Ich gehe dein Script mal kurz durch, ein paar Fehler kommentierend...
<html>
Hier fehlt der Doctype!
trim($searchterm);
1. Woher kommt $searchterm? Ich vermute, du willst $_GET['searchterm'] bzw. $_POST['searchterm'] verwenden
2. trim() gibt einen String zurück - du solltest diesen auch festhalten, sonst bringt der ganze Funktionsaufruf nichts.
if (!$searchtype || !$searchterm)
{
echo "You have not entered search details. Please go back and try again.";
exit;
}
Bei der Bedingung in der If-Abfrage könnte es ein Problem geben, wenn ich z.B. nach 0 suche will!
Weiterhin kannst du das Script doch nicht einfach abbrechen - da fehlen doch </body>, </html> und das ganze Zeug vom HTML Dokument!
$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);
Auch hier willst du vermutlich wieder $_GET bzw. $_POST verwenden. Außerdem solltest du nicht addslashes, sondern mysql_real_escape_string() verwenden, Gründe findest du im Archiv.
$db_link = mysql_connect(localhost, root, "");
Sicher, dass du hier auf die Konstanten localhost und root zugreifen willst? Wenn ja, dann hast du die Konstanten nicht sinnvoll benannt, wenn nein, dann solltest du "localhost" und "root" verwenden.
if (!$db_link)
{
echo "Error: Could not connect to database. Please try again later.";
exit;
}
Dies und die vorherige Zeile lassen sich kürzer zusammenfassen:
mysql_connect("localhost", "root", "") OR die("Error: Could not connect to database. Mysql: ".mysql_error());
Außerdem würde ich diese Zeile ganz an den Anfang des Scriptes packen (das include übrigens ebenso, vermutlich enthält die Datei ja nur Programmcode).
mysql_select_db("product_sc");
Hier wäre auch besser:
mysql_select_db("product_sc") OR die(mysql_error());
Dann bekommst du eine Fehlermeldung, wenn das nicht so klappt, wie es soll. Auch diese Zeile würde ich nach oben ins Script packen.
$query = "select * from products where ".$searchtype." like '%".$searchterm."%'";
Warum soll ich nicht SELECT * schreiben?
Du siehst, an deinem Script gibt es sicherlich noch was zu machen...
Ich will den Link hier haben:
echo "<p><strong>".($i+1).". Name: ";
echo stripslashes($row["prname"]);
Also du willst einen Link ausgeben, auf eine Seite, auf der die gefundenen Inhalte vorliegen?
Wie geht das? Ich habe schon einiges versucht, aber nichts hat geklappt :-(
Was hast du denn bis jetzt alles versucht? Und wo sind Probleme aufgetreten, wo haben dir PHP bzw. MySQL Manual nicht weiterhelfen können?
In welcher Spalte deiner Tabelle hast du denn den Link zur Ziel Seite drin stehen?
Im Prinzip ist das doch nicht so schwer:
echo '<a href="';
echo $row['deineSpalteMitDemLink'];
echo '">Seite aufrufen</a>';
MfG, Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Wer die FAQ gelesen hat, ist klüger! ... und weiß wie man Links macht ;-)