[php][mysql] Problem z wyszukiwarką
: sob lip 16, 2005 1:51 pm
Witam, mam problem z wyszukiwarką zrobioną w PHP, opartą o bazę mysql. Otóż gdy napisałem jej kod, sprawdzałem ją to było wszystko dobrze oprócz tego, że nie wyświetlała wyników wyszukiwania
Gdy w pole z szukanym słowem wpisywałem słowo, które nie znajduje się w bazie, to wyszukiwarka wyświetlała, że nie ma wyników do wyświetlenia, a gdy wpisałem słowo, które jest w bazie, to skrypt wyświetlił tabelę, ale bez wyników.
Oto cały kod mojej wyszukiwarki:
[php]<?php
require "config.php";
require "includes/connect.php";
require "includes/function-select.php";
include "includes/function.php";
session_start();
include "includes/page_header.php";
IF ($_GET[ok]==1) {
$query = htmlspecialchars($_POST[query]);
$result = @mysql_query("SELECT * FROM " .$prefix. "posts WHERE contents LIKE '%$query%'");
?>
<TABLE border=0 cellspacing=0 width=100%><TR><TD>
<TABLE border=0 cellspacing=1 width=100%><TR><TD style="BORDER-LEFT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;" bgcolor=#00BBCA><CENTER>Wyniki wyszukiwania:</CENTER></TD></TR>
<TR><TD><TABLE border=0 cellspacing=0 width=100%>
<?
IF ($result && @mysql_num_rows($result) != 0) {
?>
<TR>
<TD align="center" width=25%>Forum:</TD>
<TD align="center" width=30%>Nazwa tematu:</TD>
<TD align="center" width=20%>Autor:</TD>
<TD align="center" width=10%>Odpowiedzi:</TD>
<TD align="center" width=15%>Data utworzenia:</TD></TR>
</TR>
<?
$rekord = mysql_fetch_array($result);
$rekord_topic = @mysql_query("SELECT * FROM " .$prefix. "topics WHERE id='$rekord[topic]' ORDER BY createdate DESC");
$rekords = mysql_fetch_array($rekord_topic);
$autor = @mysql_fetch_array(@mysql_query("SELECT * FROM " .$prefix. "users WHERE id='$rekords[autor]'") );
$forums = @mysql_fetch_array(@mysql_query("SELECT * FROM " .$prefix. "forums WHERE id='$rekords[forum]'") );
while ($a = mysql_fetch_array($result) ) {
?>
<TR>
<td width=25% height="25"><a href="forums.php?id=<? echo $forums[id] ?>"><FONT SIZE="3" COLOR="000000"> <? echo $forums[name] ?></FONT></TD>
<td width=30% height="25"><a href="topics.php?t=<? echo $rekords[id] ?>"><FONT SIZE="3" COLOR="000000"> <? echo $rekords[name] ?></FONT></TD>
<td width=20% height="25" nowrap align="center"><a href="profile.php?mode=viewprofile&id=<? echo $autor[id] ?>"><FONT SIZE="2" COLOR="000000"><? echo $autor[username] ?></FONT></a></TD>
<td width=10% height="25" nowrap align="center"><FONT SIZE="2" COLOR="000000"><? echo $rekords[reply] ?></TD>
<td width=15% height="25" nowrap align="center"><FONT SIZE="2" COLOR="000000"><? echo $rekords[createdate] ?></TD>
</TR>
<?
}
echo "</TABLE></TD></TR></TABLE></TD></TR></TABLE>";
} else {
echo "Nie ma wyników do wyświetlenia!";
}
} else {
?>
<TABLE border=0 cellspacing=0 width=100%><TR><TD>
<TABLE border=0 cellspacing=1 width=100%><TR><TD style="BORDER-LEFT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;" bgcolor=#00BBCA><CENTER>Wyszukiwarka:</CENTER></TD></TR>
<TR><TD><TABLE border=0 cellspacing=0 width=100%><TD><TR>
<FORM action="search.php?ok=1" method="POST">
<TABLE width=100% border=0>
<TR>
<TD>Szukane słowo:</TD>
<TD><INPUT TYPE="POST" NAME="query"></TD>
</TR>
<TR>
<TD><CENTER><INPUT TYPE="SUBMIT" VALUE="Szukaj" NAME="SUBMIT"></CENTER></TD>
</TR></TABLE>
</FORM></TD></TR></TABLE></TD></TR></TABLE></TD></TR></TABLE>
<?
}
require "includes/page_footer.php";
?>[/php]
Możecie mi powiedzieć co w Tym kodzie jest źle i jak to naprawic?
Z góry dziękuję za pomoc.
Gdy w pole z szukanym słowem wpisywałem słowo, które nie znajduje się w bazie, to wyszukiwarka wyświetlała, że nie ma wyników do wyświetlenia, a gdy wpisałem słowo, które jest w bazie, to skrypt wyświetlił tabelę, ale bez wyników.
Oto cały kod mojej wyszukiwarki:
[php]<?php
require "config.php";
require "includes/connect.php";
require "includes/function-select.php";
include "includes/function.php";
session_start();
include "includes/page_header.php";
IF ($_GET[ok]==1) {
$query = htmlspecialchars($_POST[query]);
$result = @mysql_query("SELECT * FROM " .$prefix. "posts WHERE contents LIKE '%$query%'");
?>
<TABLE border=0 cellspacing=0 width=100%><TR><TD>
<TABLE border=0 cellspacing=1 width=100%><TR><TD style="BORDER-LEFT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;" bgcolor=#00BBCA><CENTER>Wyniki wyszukiwania:</CENTER></TD></TR>
<TR><TD><TABLE border=0 cellspacing=0 width=100%>
<?
IF ($result && @mysql_num_rows($result) != 0) {
?>
<TR>
<TD align="center" width=25%>Forum:</TD>
<TD align="center" width=30%>Nazwa tematu:</TD>
<TD align="center" width=20%>Autor:</TD>
<TD align="center" width=10%>Odpowiedzi:</TD>
<TD align="center" width=15%>Data utworzenia:</TD></TR>
</TR>
<?
$rekord = mysql_fetch_array($result);
$rekord_topic = @mysql_query("SELECT * FROM " .$prefix. "topics WHERE id='$rekord[topic]' ORDER BY createdate DESC");
$rekords = mysql_fetch_array($rekord_topic);
$autor = @mysql_fetch_array(@mysql_query("SELECT * FROM " .$prefix. "users WHERE id='$rekords[autor]'") );
$forums = @mysql_fetch_array(@mysql_query("SELECT * FROM " .$prefix. "forums WHERE id='$rekords[forum]'") );
while ($a = mysql_fetch_array($result) ) {
?>
<TR>
<td width=25% height="25"><a href="forums.php?id=<? echo $forums[id] ?>"><FONT SIZE="3" COLOR="000000"> <? echo $forums[name] ?></FONT></TD>
<td width=30% height="25"><a href="topics.php?t=<? echo $rekords[id] ?>"><FONT SIZE="3" COLOR="000000"> <? echo $rekords[name] ?></FONT></TD>
<td width=20% height="25" nowrap align="center"><a href="profile.php?mode=viewprofile&id=<? echo $autor[id] ?>"><FONT SIZE="2" COLOR="000000"><? echo $autor[username] ?></FONT></a></TD>
<td width=10% height="25" nowrap align="center"><FONT SIZE="2" COLOR="000000"><? echo $rekords[reply] ?></TD>
<td width=15% height="25" nowrap align="center"><FONT SIZE="2" COLOR="000000"><? echo $rekords[createdate] ?></TD>
</TR>
<?
}
echo "</TABLE></TD></TR></TABLE></TD></TR></TABLE>";
} else {
echo "Nie ma wyników do wyświetlenia!";
}
} else {
?>
<TABLE border=0 cellspacing=0 width=100%><TR><TD>
<TABLE border=0 cellspacing=1 width=100%><TR><TD style="BORDER-LEFT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;" bgcolor=#00BBCA><CENTER>Wyszukiwarka:</CENTER></TD></TR>
<TR><TD><TABLE border=0 cellspacing=0 width=100%><TD><TR>
<FORM action="search.php?ok=1" method="POST">
<TABLE width=100% border=0>
<TR>
<TD>Szukane słowo:</TD>
<TD><INPUT TYPE="POST" NAME="query"></TD>
</TR>
<TR>
<TD><CENTER><INPUT TYPE="SUBMIT" VALUE="Szukaj" NAME="SUBMIT"></CENTER></TD>
</TR></TABLE>
</FORM></TD></TR></TABLE></TD></TR></TABLE></TD></TR></TABLE>
<?
}
require "includes/page_footer.php";
?>[/php]
Możecie mi powiedzieć co w Tym kodzie jest źle i jak to naprawic?
Z góry dziękuję za pomoc.