Suchformular

qplay

Mitglied
Hallo ich habe mir ein sucformular erstellt aber wenn ich im suchformular z.b. test schreibe bekomme ich solchen suchergebnis <p>1,2,3 test</p> was muss ich machen damit es nur 1,2,3 test zeigt
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<title>Untitled Document</title>
</head>
<body>
<div align="center"><h4>Suchmask</h4></div>
<br>
<div align="center">
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="Text" name="such" value="">
<input type="Submit" name="sent" value="Suchen">
</form>
<?php
$host = "localhost";
$nutz = "qplay";
$pass = "****";
$link = mysql_connect($host,$nutz,$pass);
mysql_select_db('tube', $link);

// EigtlSuch query
$sql_query = "SELECT * FROM `news30_story` WHERE `story` LIKE '%".$_POST['such']."%'";
$sql_result = mysql_query($sql_query,$link) or die(mysql_error());

echo '<table>';

if(mysql_num_rows($sql_result) > 0){
   while($row = mysql_fetch_assoc($sql_result)){
         echo '<tr>';
         echo '<td>'.htmlentities($row['news30_story']).'</td><td>'.htmlentities($row['story']).'</td>';
         echo '</tr>';
   }
}else{
  echo '<tr><td>Keine Daten</td></tr>';
}

echo '</table>';

?> 
</div>
</body>
</html>
 
Hallo,

last mal das htmlentities() weg.

PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<title>Untitled Document</title>
</head>
<body>
<div align="center"><h4>Suchmask</h4></div>
<br>
<div align="center">
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="Text" name="such" value="">
<input type="Submit" name="sent" value="Suchen">
</form>
<?php
$host = "localhost";
$nutz = "qplay";
$pass = "****";
$link = mysql_connect($host,$nutz,$pass);
mysql_select_db('tube', $link);

// EigtlSuch query
$sql_query = "SELECT * FROM `news30_story` WHERE `story` LIKE '%".$_POST['such']."%'";
$sql_result = mysql_query($sql_query,$link) or die(mysql_error());

echo '<table>';

if(mysql_num_rows($sql_result) > 0){
   while($row = mysql_fetch_assoc($sql_result)){
         echo '<tr>';
         echo '<td>'.$row['news30_story'].'</td><td>'.$row['story'].'</td>';
         echo '</tr>';
   }
}else{
  echo '<tr><td>Keine Daten</td></tr>';
}

echo '</table>';

?> 
</div>
</body>
</html>
 
Hey danke hat geklappt aber eigentlich will ich wenn ich z.B im suchformular test schreibe dass meine suchergebnisse meine ganzen artikel zeigt
3ql67eaf.jpg
weist du vielleicht wie ich dass machen kan?
 
Kein Problem,
um auf deine Frage eingehen zu können, müsstest du zumindest mal die Tabellenstruktur (DB) und ggf. ein Beispiel Datensatz posten.
 
SELECT `title` , `story` , `shortstory` , `author` , `origauthor` , `ip` , `timestamp` , `allowcomments` , `short` , `approved` , `viewcount` , `rating` , `archivedate` , `neverarchive` , `archived` , `commentcount` , `old` , `id`
FROM `tube`.`news30_story`
LIMIT 0 , 30
 
Ok,

jetzt kenn ich zwar grob die Struktur, kann dir aber leider nicht sagen, welche Felder zu genau brauchst.

Um es mal grob zu umreißen, musst du in deinem Select Statement oben die entsprechenden Felder auswählen, die du anzeigen willst und diese auch ausgeben.

Wenn du mit SELECT * arbeitest, dann musst du lediglich bei deinen echos die entsprechenden Spalten ausgeben z.B. für die Bewertung $row['rating']. Wenn in story der Text steht dann $row['story'].

Hoffe das hilft dir, wenn nicht, einfach nochmal etwas präziser nachfragen ;)
 
ich kann das nicht :(
p9acqt2w.jpg


PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<title>Untitled Document</title>
</head>
<body>
<div align="center"><h4>Suchmask</h4></div>
<br>
<div align="center">
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="Text" name="such" value="">
<input type="Submit" name="sent" value="Suchen">
</form>
<?php
$host = "localhost";
$nutz = "qplay";
$pass = "****";
$link = mysql_connect($host,$nutz,$pass);
mysql_select_db('tube', $link);

// EigtlSuch query
$sql_query = "SELECT * FROM `news30_story` WHERE `story` LIKE '%".$_POST['such']."%'";
$sql_result = mysql_query($sql_query,$link) or die(mysql_error());

echo '<table>';

if(mysql_num_rows($sql_result) > 0){
   while($row = mysql_fetch_assoc($sql_result)){
         echo '<tr>';
                 echo '<td>'.$row['news30_story'].'</td><td>'.$row['story'].'</td><td>'.$row['rating'].'</td><td>'.$row['author'].'</td><td>'.$row['title'].'</td><td>'.$row['timestamp'].'</td>';
         echo '</tr>';
   }
}else{
  echo '<tr><td>Keine Daten</td></tr>';
}

echo '</table>';

?> 
</div>
</body>
</html>
 
Es geht ja schonmal in die richtige Richtung, nur dass die "Formatierung" nicht stimmt, probier mal folgendes aus:

PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<title>Untitled Document</title>
</head>
<body>
<div align="center"><h4>Suchmask</h4></div>
<br>
<div align="center">
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<input type="Text" name="such" value="">
<input type="Submit" name="sent" value="Suchen">
</form>
<?php
$host = "localhost";
$nutz = "qplay";
$pass = "****";
$link = mysql_connect($host,$nutz,$pass);
mysql_select_db('tube', $link);

// EigtlSuch query
$sql_query = "SELECT * FROM `news30_story` WHERE `story` LIKE '%".$_POST['such']."%'";
$sql_result = mysql_query($sql_query,$link) or die(mysql_error());

echo '<table>';

if(mysql_num_rows($sql_result) > 0){
   while($row = mysql_fetch_assoc($sql_result)){

		echo '<tr><td>'.$row['title'].'</td></tr>';
		echo '<tr><td>Posted by '.$row['author'].' - '.date('d/m/y', $row['timestamp']).' - '.$row['commentcount'].' Comments - - '.$row['rating'].'</td></tr>';
		echo '<tr><td>'.$row['story'].'</td></tr>';
   }
}else{
  echo '<tr><td>Keine Daten</td></tr>';
}

echo '</table>';

?> 
</div>
</body>
</html>

Du solltest aber vor einem Produktiveinsatz dein SELECT Statement anpassen, da es so wie es da steht sehr anfällig für SQL Injection ist.
 
Zuletzt bearbeitet:
Dann ist in der Tabelle nur die ID vo Benutzer.
Mach noch eine Abfrage aus der Benutzertabelle für die ID.

Gruß

PS: Bilder kannst du übrigens auch hier im Forum hochladen, direkt beim Beitrag-schreiben.
Bei Fremdhostern werden sie irgendwann gelöscht, hier bleiben sie.
 
Zurück