Mehrfache Abfrage

doctoredj

Grünschnabel
Hallo aus Hamburg!

Ich bin dabei, für meine Firma ein Lieferantenverzeichnis zu erstellen. Dabei soll es zwei Eingabemöglichkeiten geben:

als erstes soll entweder der Lieferant (soweit bekannt) oder die Branche gesucht werden, als zweites soll die Suche auf einen bestimmten Ort begrenzbar sein.

Ich habe also zwei Eingabefelder kreiert, um die Daten aufzunehmen, das klappt auch. Die Datenbank soll dann wie folgt durchsucht werden:

Suche nach Lieferantenname oder Branche und nach dem Ort. Dazu habe ich folgendes programmiert, was mir leider nicht das gewünschte Ergebnis liefert und bitte daher um Hilfe:

$_POST["inhalt"];
$_POST["orthwi"];

$abfrage = "SELECT * FROM Branche1 WHERE branche LIKE '%$inhalt%' or name LIKE '%$inhalt%'";
$ergebnis = mysql_query($abfrage) OR die(mysql_error());
$abfrage2 = "SELECT * FROM Branche1 WHERE ort LIKE '%$orthwi'%";
$ergebnis = mysql_query($abfrage2) OR die(mysql_error());

Branche1 ist dabei der Name meiner Datenbank.
 
Original geschrieben von doctoredj
$abfrage = "SELECT * FROM Branche1 WHERE branche LIKE '%$inhalt%' or name LIKE '%$inhalt%'";
$ergebnis = mysql_query($abfrage) OR die(mysql_error());
$abfrage2 = "SELECT * FROM Branche1 WHERE ort LIKE '%$orthwi'%";
$ergebnis = mysql_query($abfrage2) OR die(mysql_error());

Branche1 ist dabei der Name meiner Datenbank.

Ich weiß zwar nicht, ob du dich jetzt mit dem Wort vertan hast, aber das was nach SELECT FROM kommt, bezeichnet die Tabelle aus der Werte ausgelesen werden.

Die Datenbank wählst du vorher mit mysql_select_db() aus.
 
Hallo,
kann es sein das der Fehler gar nicht in der Datenbankabfrage sondern im Eingebafeld liegt? Ich schreibe hier nochmal beide Codes rein:

1) Eingabe

<form method="post" action="abfrage1.php">
<table border="0" align="center">
<tr>
<td width="123">Name oder Branche</td>
<td><input type="text" name="inhalt"> </td>
</tr><tr>
<td width="123">Ort oder Stadtteil</td>
<td><input type="text" name="orthwi"></td>
</tr><tr>
<td width="123"><input type="submit" value="Abschicken"></td>
</tr>
</table>
</form>

2) Abfrage

$connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!");
$selectDB = @mysql_select_db($dbName, $connect) or die("Konnte die Datenbank $dbName nicht auswählen!");

$_POST["orthwi"];
$_POST["inhalt"];

$abfrage = "SELECT * FROM Branche1 WHERE ort LIKE '%$orthwi%' and branche LIKE '%$inhalt%' or name LIKE '%$inhalt%'";
$ergebnis = mysql_query($abfrage) OR die(mysql_error());


?>
<div style="position: absolute; top: 147; left: 10; width: 100%; height: 55">
<table border="1" cellspacing="0" cellpadding="3" align="left" height="70" width="100%" style="border-collapse: collapse" bordercolor="#000099">
<tr>
<td bgcolor="#C0C0C0" height="36" align="center" width="100"><b>Branche</b></td>
<td bgcolor="#C0C0C0" height="36" align="center" width="130"><b>Name</b></td>
<td bgcolor="#C0C0C0" height="36" align="center" width="160"><b>Strasse</b></td>
<td bgcolor="#C0C0C0" height="36" align="center" width="100"><b>Ort</b></td>
<td bgcolor="#C0C0C0" height="36" align="center" width="100"><b>Telefon</b></td>
<td bgcolor="#C0C0C0" height="36" align="center" width="100"><b>Telefax</b></td>
<td bgcolor="#C0C0C0" height="36" align="center" width="150"><b>E-Mail</b></td>
<td bgcolor="#C0C0C0" height="36" align="center" width="150"><b>Internet</b></td>
</tr>
<?while ($daten = mysql_fetch_assoc($ergebnis)) { ?>
<tr>
<td bgcolor="#FF9900" height="18" width="100"><font size="2"><?php print $daten[branche]; ?>&nbsp;</font></td>
<td bgcolor="#FF9900" height="18" width="130"><font size="2"><?php print $daten[name]; ?>&nbsp;</font></td>
<td bgcolor="#FF9900" height="18" width="160"><font size="2"><?php print $daten[adresse]; ?>&nbsp;</font></td>
<td bgcolor="#FF9900" height="18" width="100"><font size="2"><?php print $daten[ort]; ?>&nbsp;</font></td>
<td bgcolor="#FF9900" height="18" width="100"><font size="2"><?php print $daten[telefon]; ?>&nbsp;</font></td>
<td bgcolor="#FF9900" height="18" width="100"><font size="2"><?php print $daten[telefax]; ?>&nbsp;</font></td>
<td bgcolor="#FF9900" height="18" width="150"><?php print '<a href="mailto:'.$daten[mail].'">
<font size="2">'.$daten[mail].'</a>'; ?>&nbsp;</font></td>
<td bgcolor="#FF9900" height="18" width="150"><?php print '<a href="http://'.$daten[web].'">
<font size="2">'.$daten[web].'</a>'; ?>&nbsp;</font></td>
</tr>
<?php }
mysql_free_result($ergebnis);
?>


Es wird nur die Branche bzw. der Name berücksichtig, jedoch werden alle Orte und nicht nur der gesuchte Ort ausgegeben.

Danke schon mal für die Mühe!
 
Zurück