Seite 1 von 1

SQL Problem

Verfasst: 03.01.2006, 13:44
von Pretender
Moin Moin,

ich habe eine Suchabfrage gebastelt die aus einer SQL Datenbank die Treffer auf einer Seite ausgeben soll.

Da es ab und an vorkommt, daß sie Suche mehrere 100 Trefer ausgibt, wird die Seite recht lang und ich dachte mir: wäre nicht schlecht wenn man die Treffer auf mehrere Seiten ausgeben könnte und von der 1. Trefferliste mit einem <<next>> button auf die 2. Trefferseite linken.


So sieht bisher mein Code aus:

Code: Alles auswählen

<? include pass etc...?>
<form method="post" action="suche.php">
Suche Name<input type="text" input name="sname">
<input type="submit">
</form>

<?php
$fehler = "";
$sname = $_POST &#91;'sname'&#93;;
if &#40;empty&#40;$sname&#41;&#41; $fehler .="<br><br><br>Bitte geben Sie einen Suchbegriff ein";
if &#40;empty&#40;$fehler&#41;&#41; 
&#123;
$abfrage = mysql_query&#40;"SELECT * FROM tabelle1 WHERE title LIKE '%$sname%'"&#41;;
$num = mysql_num_rows&#40;$abfrage&#41;;
echo "Es wurden $num Datensätze gefunden!
<br><br>";
while&#40;$row = mysql_fetch_object&#40;$abfrage&#41;&#41;
&#123;
$name= $row -> name;
echo "
",$name,"";
&#125;

if&#40;$num == 0&#41;
&#123;
echo "nichts gefunden";
&#125;
&#125;
else echo "$fehler";
?>
Wie müsste der Code geändert werden um pro Seite z.B. 20 Namen auszugeben und mit einem Link (Next) auf die nächsten 20 Treffer zu linken?

mfg
Ralf

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


SQL Problem

Verfasst: 03.01.2006, 13:56
von Southmedia
... LIKE '%$sname%' LIMIT $num, 20");

wobei $num die Startzahl ist, für die erste Seite also 0 wäre.

SQL Problem

Verfasst: 03.01.2006, 14:10
von Pretender
THX für die schnelle Antwort!

Da ich nicht so fit bin was SQL angeht, kann ich damit jeze nicht allzuviel anfangen.

Code: Alles auswählen

<? include pass etc...?> 
<form method="post" action="suche.php"> 
Suche Name<input type="text" input name="sname"> 
<input type="submit"> 
</form> 

<?php 
$fehler = ""; 
$sname = $_POST &#91;'sname'&#93;; 
if &#40;empty&#40;$sname&#41;&#41; $fehler .="<br><br><br>Bitte geben Sie einen Suchbegriff ein"; 
if &#40;empty&#40;$fehler&#41;&#41; 
&#123; 
$abfrage = mysql_query&#40;"SELECT * FROM tabelle1 WHERE title LIKE '%$sname%' LIMIT $num, 20"&#41;; 
$num = mysql_num_rows&#40;$abfrage&#41;; 
echo "Es wurden $num Datensätze gefunden! 
<br><br>"; 
while&#40;$row = mysql_fetch_object&#40;$abfrage&#41;&#41; 
&#123; 
$name= $row -> name; 
echo " 
",$name,""; 
&#125; 

if&#40;$num == 0&#41; 
&#123; 
echo "nichts gefunden"; 
&#125; 
&#125; 
else echo "$fehler"; 
?> 
Irgendwie geht des net :oops: ich nehme an, das da noch was an anderer stelle eingebaut werden muss, nur leider weiss ich nicht was.

Könntest Du das eventuell, in das Script einbauen... wenn es nicht zu viel arbeit macht?

wäre supi fein

SQL Problem

Verfasst: 03.01.2006, 14:46
von HW
..du musst der Variablen $num vorher einen Wert zuweisen.
Du benutzt die Variable in dem SQL-Statement und weißt erst nachher einen Wert zu.