Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Suche auf der Page + DB Antworten
Suche auf der Page + DB

Darky
Pixelschubser


Beiträge: 2


Hallo alle,

ich hab mal ne frage oder besser gesagt ich häng grad fest. Ich will auf meiner Seite eine Suche machen die etwas in der Datenbank raussuchen soll in diesem beispiel einen Film. So aber entweder er sucht nix oder er findet nichts. Dann hab ich noch ein problem da ja die Datenbank groß und kleinschreibung beachtet aber das ja eine suche sein soll sollte die suche auch was finden wen jemand z.B. Stargate nicht mit großem S schreibt sondern so stargate dann sollte trotzdem diese erscheinen.

Ich würde mich um jede Hilfe freuen.

Hier mal so mein erster versuch
Suche:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48:
<?php
	
	if(isset($_POST['search'])){
		if(empty($_POST['suche'])){
			echo "Bitte etwas eingeben!";
		}
		if(!empty($_POST['suche'])){
			include "../inc/config.inc.php";
			$sql="SELECT
					*
				FROM
					archiv
				WHERE 
					name LIKE %'$_POST[suche]'%";
					
			$result = mysql_query($sql);
			
			if($result == false)
				die("<hr />FEHLER Beim SELECT!<hr />");
				
			if(mysql_num_rows($result)>0){
				echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
				while ($row=mysql_fetch_assoc($result)){
				        ?>
					<tr>
						<td>Bild</td>
						<td><?php echo $row['name']; ?></td>
						<td><?php echo $row['anzahl']; ?></td>
						<td><?php echo $row['ausgeliehen']; ?></td>
						<td><?php echo $row['kategorie']; ?></td>
						<td><?php echo $row['usk']; ?></td>
						<td>more...</td>
					</tr>
					<?php
				}
				echo "</table>";
			} else {
				echo "Ihre Suche war erfolgslos.";
			}
		}
	}
	
?>
<form action="<?php echo $_SERVER[PHP_SELF]. "?section=search"; ?>" method="post">
	<input type="text" name="suche" size="50" maxlength="100" value="Suche eines Films"/>
	<input type="button" name="search" value="Suchen"/>
</form>


MFG Darky

Diese Nachricht wurde geändert von: Darky
  Profil   Editieren   Zitieren

chip
Quasselstrippe


Beiträge: 391


1:
$sql="SELECT * FROM archiv WHERE name LIKE %'$_POST[suche]'%";


ist ein bissel übler Stil. Mach' es lieber so:

1:
$sql="SELECT [felder] FROM archiv WHERE name LIKE '%".strtolower($_POST[suche])."%'";


Damit sollte dann auch dein Problem gelöst sein. Es lag einfach daran, dass du das % und ' vertauscht hast.

---

  Profil   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Oha, Userinput immer mit mysql_real_escape_string() escapen!

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

chip
Quasselstrippe


Beiträge: 391


languitar schrieb am 07.02.2006 16:34
Oha, Userinput immer mit mysql_real_escape_string() escapen!


OK, erwischt. Sicher ist sicher!

---

  Profil   Website   Editieren   Zitieren

Darky
Pixelschubser


Beiträge: 2


ok danke euch werd es nachher testen.

  Profil   Editieren   Zitieren
 

Antworten
Nach oben