Zu Deiner Schlussfrage:
- feldinhalt = Inhalt im Feld, also Buchtitel
- query = "SELECT * FROM buecher...."
Du vergleichst den STRING "SELECT..." mit dem Buchtitel - und Du hast sicher kein Buch namens "SELECT... " in Deiner DB
Zu Deinem Code. Den If-Vergleich kannst Du knicken - das machst Du mit SELECT.
Der Grund? Ganz einfach. Wenn Du nur die benötigten Selektierst, schonst Du Speicher und Usernerven und bekommst dafür Zeit und Performance
Probiers mal so
Code:
$anfrage="SELECT * FROM buecher WHERE Titel LIKE ('%a%') ORDER BY Titel ASC ";
// Wähle aus Tabelle bücher alle Titel, die ein a irgendwo im Namen haben.
// Und zwar egal ob am Anfang, in der Mitte oder am Ende und sortiere sie
// nach Titel aufsteigend.
// (a% - die mit a beginnen und nur die)<- andere Möglichkeit
// (%a - die mit a aufhören und nur die)<- noch ne andere Möglichkeit
$ergebnis=mysql_query($anfrage) or die("Fehler bei der DB Anfrage".mysql_error());
// Beachte den Zusatz mysql_error() - es ist immer gut, wenn man nicht nur
// einen Fehler angesagt bekommt, sondern auch noch, was für einer es ist ;)
$anz=mysql_num_rows($ergebnis);
echo "Gefundene Buchtitel:<table>\n";
// Beispieltitel und Tabelle beginnen
while($zeile=mysql_fetch_row($ergebnis))
{
echo "<tr><td>";
echo "<a href=\"read.php?buch_id=".$zeile[0].
"\"><font face=\"Verdana\" size=\"2\">".$zeile[5]."</font>";
echo "</td></tr>";
}
echo "</table>"; // Tabelle auch wieder beenden