PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

24-09-2003, 12:53
|
römer
Newbie
|
|
Registriert seit: May 2002
Beiträge: 53
|
|
Problem mit Suche und Ergebnisse auf mehreren Seiten
Hi,
habe mir eine simple Suchfunktion (MySql FullText) gebastelt, die mir die Treffer auf mehreren Seiten ausgeben soll. Die Suche funkt wunderbar,auch das aufteilen der einzelnen Seiten. Nur wenn ich auf Seite 2 die weiteren Ergebnisse anschauen möchte, gibt er mir die gesamten datenbankinhalte wieder aus. Irgendwie verliert er das Suchwort auf seiner Reise durch die unendlichkeit...
ich hoffe, ihr könnt mir diesmal wieder helfen.
besten dank im vorraus.
das Formu sieht so aus:
PHP-Code:
<form name="form1" method="post" action="./index.php?links=results_archiv">
<input name="eingabe" type="text" class="dateifeld" id="eingabe">
<input name="Submit" type="submit" class="dateifeld" value="Suchen">
</form>
und die ausgabe so:
PHP-Code:
<?php
$spalte = $_POST['eingabe'];
?>
<br>
<a href="index.php?links=suche" class="link">neue Suche</a>
<link href="../css/style.css" rel="stylesheet" type="text/css">
<?
$limit = 3;
if ($page == 0) $page=1;
$sqlab = "SELECT * FROM $tab_news where subject like '%$spalte%' OR nachricht like '%$spalte%' OR datum like '%$spalte%' ORDER BY subject LIMIT ".($page-1)*$limit.",".$limit;
$result_articles = mysql_query ($sqlab,$link);
list($sql_num,) = split("LIMIT",$sqlab);
$result_num = mysql_query ($sql_num,$link);
$num = mysql_num_rows($result_num);
echo "
<table border=0>
<tr>
<td> </td>
<td><b>Bei der Suche nach <font color=red><b>$spalte</b></font> wurden
<font color=red><b>$num</b></font> Einträge gefunden</b><p></td>
</tr>
</table>
";
if ($num==0) echo "<b>keine passenden Datensätze gefunden</b>";
while ($daten=mysql_fetch_array($result_articles))
{
$nachricht = ($daten['nachricht']);
?>
<table width="85%" height="8" border="0" cellpadding="0" cellspacing="0" >
<tr >
<td width="185" height="8" valign="middle"><strong><img src="./lib/images/news.gif" width="10" height="9"> <? echo $daten[subject]; ?></strong></td>
<td height="8" valign="middle">
<div align="center"></div>
<div align="right" ><strong><a href="#" onMouseOver="this.T_WIDTH=80; return escape('<div align=\center\>erstellt von: <br><? echo $daten[author]; ?><\div>')" style="color : #333333; text-decoration: none; font-size: 10px;"><? echo $daten[datum] ?></a></strong></div></td>
</tr>
</table>
<table width="85%" cellspacing="0">
<tr>
<td align="right">
<?
//Hier wird geprüft ob ein Bild vorhanden ist
if ($daten['type']) { ?>
<a href="javascript:popUp('./lib/include/newspic_f.php<? echo '?id='.$daten[id].'' ?>')" style="text-decoration: none"><img src="./lib/images/newspic.gif" border="0"></a>
<?
} else {
echo "";
}
?>
</td>
</tr>
<tr>
<td valign="top" class="content">
<?
//Hier wird geprüft ob News vorhanden sind
if ($daten['nachricht'])
{
echo " $nachricht";
} else {
echo "Es wurden noch keine News eingetragen. <br> Um News einzutragen,
klicken Sie bitte <a href=admin.php>hier</a>";
}
?>
</td>
</tr>
<tr>
<td>
<tr>
<td height="6" colspan="5" class="lineunder"> </table>
<?
}
?>
<?
if ($num > 0)
{
echo ceil($num/$limit);
if (ceil($num/$limit) == 1) echo " Seite";
else echo " Seiten";
echo "<br><br>";
if ($page > 1)
echo "<a href=\"./index.php?links=results_archiv&page=".($page-1)."&spalte=".rawurlencode($spalte)."\"class=\"link\">vorherige</a> ";
if ($page < $num/$limit && $num > $num/$limit)
echo " <a href=\"./index.php?links=results_archiv&page=".($page+1)."&spalte=".rawurlencode($spalte)."\"class=\"link\">nächste</a> ";
echo "<br>";
for ($i=1;$i<$num/$limit+1 and $num/$limit > 1;++$i)
{
if ($page == $i) echo "<b class=\"link\">[$i]</b> ";
else echo "<a href=\"./index.php?links=results_archiv&spalte=".rawurlencode($spalte)."&page=$i\"class=\"link\">$i</a> ";
}
}
?>
|

24-09-2003, 13:16
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
|
|
übergibst du denn das suchwort + startwert?
|

24-09-2003, 13:54
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
und wo ist da dein suchparameter aufgeführt ....?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

24-09-2003, 13:58
|
römer
Newbie
|
|
Registriert seit: May 2002
Beiträge: 53
|
|
in diesem fall wäre "d" meine suche
wird aber nicht übergeben. warum nur?
|

24-09-2003, 14:52
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von römer
in diesem fall wäre "d" meine suche
wird aber nicht übergeben. warum nur?
|
$spalte wird bei dir im script aus dem $_POST-array geholt.
bei der übergabe als parameter im URL der seite, ist die übergabemethode aber GET, also steht der wert jetzt im array $_GET ...
der wert von d wird also durchaus übergeben - du fragst lediglich etwas ganz anderes ab.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

24-09-2003, 15:18
|
römer
Newbie
|
|
Registriert seit: May 2002
Beiträge: 53
|
|
kannst du mir vielleicht zeigen wo ich das $GET mit einbauen muss?
|

24-09-2003, 15:23
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Original geschrieben von römer
kannst du mir vielleicht zeigen wo ich das $GET mit einbauen muss?
|
is' nich dein ernst, oder ...?
du hast ganz oben
PHP-Code:
$spalte = $_POST['eingabe'];
stehen.
wenn du jetzt den wert dafür aber als variable d per GET übergibst, muss dort stattdessen logischerweise ... = $_GET['d'] stehen.
aber dann funktioniert der erste aufruf wahrscheinlich nicht mehr, wenn du aus einem POST-formular den wert als 'eingabe' übergibst.
deshalb solltest du evtl. auch dafür gleich ein GET-formular verwende ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|