• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Mit PHP Suchfunktion DB-Abfrage ändern

Kamikatze

New member
Hallo Leute,

ich lese aus einer DB Daten in eine Tabelle, das sieht dann wie folgt aus:

PHP:
$sql ="SELECT * FROM liste WHERE Freigabe_erteilt = 'true'";
					$result = mysql_query($sql);
  					while ($row = mysql_fetch_object($result))
					{?>

<tr id="<?= $row->ID ?>">
<td width="50px" class="center"><?=$row->FreigabeID?></td>
<td width="100px"><?= $row->Marke_Firma ?></td>
<td width="200px"><?= $row->Sujet ?></td>
<td><?= $row->Zeitraum_von ?></td>
<td><?= $row->Zeitraum_bis ?></td>
</tr>
</tbody>
<? }			 					  
?>
</table>

Soweit sogut.
Ich möcht nun eine Suchfunktion einbauen die mir nach Sujets sucht.
ZB: in der DB sind: Schoko_Kekse_1, Schokolade_1, Kirschen_rot etc. gespeichert.
Wenn ich nun in das Suchfeld Kirschen eingebe dann soll er mir nur den (oder die) Datensätze mit den Sujets anzeigen in denen das Wort Kirschen vorkommt.
Es soll immer die gesamte DB angezeigt werden erst durch die Suche wird die Ausgabe verändert.

Hier mal mein Suchfeld:
PHP:
Suche: <form action="admin_approved.php" method="post" style="display:inline;"><input type="text" name="suchtext"/><input type="submit" name="suche" value="Suchen"></form>

Wie kann ich das am besten anstellen?
 
NB: Du weißt schon, dass eine ID nicht mit einer Zahl beginnen darf, also auch nicht komplett nur aus einer Zahl bestehen darf.?
 
Hallo Leute danke für eure Tipps, hab da mal probiert, die ganze Tabelle wird am anfang angezeigt aber sobald ich auf suchen klicke bekomme ich:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\Flashads\admin_approved.php on line 91
das is die Zeile wo while ($row = mysql_fetch_object($result)) steht.

Hier nochmals der Code:

PHP:
 if (isset($_POST["Suche"])) {
			$Suche= $_POST["Suchtext"];
 			$sql = "SELECT * FROM liste WHERE Freigabe_erteilt = 'true' && Sujet LIKE %".$Suche."%";
			$result = mysql_query($sql);

			} else {
  			$sql ="SELECT * FROM liste WHERE Freigabe_erteilt = 'true'";
			$result = mysql_query($sql);

			}  

  					while ($row = mysql_fetch_object($result))
					{?>

<tr id="<?= $row->ID ?>">
<td class="center"><input type="checkbox" name="Checkbox[<?= $row->ID ?>]" value="false"/></td>
<td width="50px" class="center"><?=$row->FreigabeID?></td>
<td width="100px"><?= $row->Marke_Firma ?></td>
<td width="200px"><?= $row->Sujet ?></td>
<td><?= $row->Zeitraum_von ?></td>
<td><?= $row->Zeitraum_bis ?></td>
<td><a href="standort.php" target="_blank" onclick="popup(); return false;"><img src="http://forum.jswelt.de/images/mini.png" style="margin-left:12px;"/></a></td>
</tbody>
<? }			 					  
?>

PHP:
<form action="admin_approved.php" method="post" style="display:inline;"><input type="text" name="Suchtext"/><input type="submit" name="Suche" value="Suchen"></form>
 
Die Prozentzeichen gehören in die Zeichenkette. Falls das was öffentlich zugängliches wird, solltest du dich auch mal mit SQL injections und deren Verhinderung beschäftigen.
 
Zuletzt bearbeitet:
Zurück
Oben