چرا این کد جستجو درست کار نمیکنه ؟

sharktech

کاربر فعال
من یه کدی برای جستجو نوشتم اما درست کار نمیکنه.

ممنون میشم کمکم کنید.

PHP:
<?php

$searchterm = $_POST['search'];
trim ($searchterm);
/*check if search term was entered*/
if (!$searchterm){
    echo 'Please enter a search term.';
}
/*add slashes to search term*/
if (!get_magic_quotes_gpc())
{
$searchterm = addslashes($searchterm);
}

/* connects to database */
@ $dbconn = new mysqli('localhost', 'root', '', 'test');
if (mysqli_connect_errno())
{
echo 'Error: Could not connect to database.  Please try again later.';
exit;
}
/*query the database*/
$query = "select * from item where data like '%".$searchterm."%'";
$result = $dbconn->query($query);
/*number of rows found*/
$num_results = $result->num_rows;

echo '<p>نتایج پیدا شده : '.$num_results.'</p>';
/*loops through results*/
for ($i=0; $i <$num_results; $i++)
{
$num_found = $i + 1;
$row = $result->fetch_assoc();
echo "$num_found - ".substr($row['data'], 0, 200).' ....'." <br/>";
echo '<a href="search.php?found='.$row['id'].'">ادامه ...</a> <br/>';
}
/*free database*/
$result->free();
$dbconn->close();
?>
 

sharktech

کاربر فعال
میتونه کلمه مورد نظر رو در دیتابیس پیدا کنه اما توی لیست کردن و نشون دادن مشکل داره, منم هر چی گشتم نتونستم مشکلشو پیدا کنم.
 

pasargad-ir

Active Member
PHP:
<?php
$searchterm = $_POST['search'];
trim ($searchterm);
/*check if search term was entered*/
if (!$searchterm){
    echo 'Please enter a search term.';
}
/*add slashes to search term*/
if (!get_magic_quotes_gpc())
{
$searchterm = addslashes($searchterm);
}
/* connects to database */
@ $dbconn = new mysqli('localhost', 'root', '', 'test');
if (mysqli_connect_errno())
{
echo 'Error: Could not connect to database.  Please try again later.';
exit;
}
/*query the database*/
$query = "select * from item where data like '%".$searchterm."%'";
$result = $dbconn->query($query);
/*number of rows found*/
$num_results = $result->num_rows;
echo '<p>نتایج پیدا شده : '.$num_results.'</p>';
/*loops through results*/
$num_found=0;
if(mysql_num_rows($result) > 0)
{
 while($row = mysql_fetch_array($result))
 {
  $num_found++;
  echo "$num_found - ".substr($row['data'], 0, 200).' ....'." <br/>";
  echo '<a href="search.php?found='.$row['id'].'">ادامه ...</a> <br/>';
 }
/*free database*/
$result->free();
$dbconn->close();
?>
 

sharktech

کاربر فعال
ممنون ولی بازم نشد, شایدم من نتونستم.

شما خودتون نتیجه گرفتین ؟

اون کد من درسته اما وقتی که نتایج پیدا شده بیشتر از یدونه میشه, اولا لینک ادامه رو نشون نمیده و دوما هم نوشتش از لحاظ سایز بزرگ میشه.
 

pasargad-ir

Active Member
مقادیر رو تک تک چاپ کن.

یعنی اول خلاصه نکن

خود row خاص رو چاپ کن ببین جواب می ده.

بعد ...
 

sharktech

کاربر فعال
از اساتید کمک کنن, چند روزه نتونستم یه جستجو رو درست کنم.

مرسی
 

Masoud1365

مدیر انجمن
برو تو سایت phpclasses.org انواع و اقسام کلاس های سرچ هست . از اونا کمک بگیر

موفق باشید :wink:
 

جدیدترین ارسال ها

بالا