PDA

View Full Version : سوال: جستجو در php



yasin5
دوشنبه 28 مرداد 1392, 14:16 عصر
با سلام من یک سایتی طراحی کردم این کد جستجو


<?php
require('config/config.php');
mysql_query("set names 'UTF8'");


@$r= mysql_query("select * from ketab where name LIKE '%".$_POST['name']."%'");

if ($rows = mysql_fetch_assoc($r))
{

echo "<tr>";



echo "<td>".$rows["name"]."</td>";

echo "<td>".$rows["subject"]."</td>";

echo "<td>".$rows["author"]."</td>";


echo "<td>".$rows["publisher"]."</td>";


echo "<td> <a href='' >جزئیات </a></td>";
}




else {

echo '<font color="#FF0000">'."موردی یافت نشد".'</font>';





}



?>


می خوام کاربر روی جزئیات کلیک کرد بره روی همون کتابی که سرچ کرده حالا این کدش به چه صورت میشه که با سرچ های متفاوت ادرس لینک جزئیات تغییر کند به طور مثال اگر کتاب دینی جستجو کرد بره به صفحه کتاب دینی

Tarragon
دوشنبه 28 مرداد 1392, 16:16 عصر
سلام
کد زیر رو استفاده کنید:

<?php
require('config/config.php');
mysql_query("set names 'UTF8'");
$r=mysql_query("select * from ketab where name LIKE '%".mysql_real_escape_string($_POST['name'])."%'");
if(mysql_num_rows($r)){
echo "<table><th>";
echo " <td>نام</td>";
echo " <td>موضوع</td>";
echo " <td>نویسنده</td>";
echo " <td>ناشر</td>";
echo " <td>توضیحات</td>";
echo "</th>";
while($rows = mysql_fetch_assoc($r)){
echo "<tr>";
echo "<td>{$rows['name']}</td>";
echo "<td>{$rows['subject']}</td>";
echo "<td>{$rows['author']}</td>";
echo "<td>{$rows['publisher']}</td>";
echo "<td><a href='bookinfo.php?id={$rows['id']}'>جزئیات</a></td>";
echo "</tr>";
}
echo "</table>";
}
else
echo '<font color="#FF0000">'."موردی یافت نشد".'</font>';

بعد یه فایل بنویسید به نام bookinfo.php تو اون ایدی کتاب رو با $_GET['id'] دریافت کنید و مشخصات کامل رو نمایش بدید.
در ضمن یه خورده منظم تر کد بنویسید باعث می شه خودتون راحت تر بخونید الان کد بالا رو مقایسه کنید می فهمید.

yasin5
سه شنبه 29 مرداد 1392, 14:10 عصر
من صفحه bookinfo.phpایجاد کردم این کد


<?php
session_start();
include("../config/config.php");
mysql_query("set names 'utf8'");
$p="select * from ketab where id=".$_GET['id'];
mysql_query($p);
header ("location:");

?>



حالا نمیدونم درست یا نه مشکل اینجاست که در قسمت لو کیشن ادرس کدام صفحه را بدم اخه 8 تا صفحه مربوط به کتابها است چطور کاربر هر کتابی را سرچ کرد و روی جزئیات کلیک بره روی همون صفحه مرتبط با موضوع

Tarragon
سه شنبه 29 مرداد 1392, 15:18 عصر
سلام
باید از دیتابیس بگیرید بعدش echo کنید:

<?php
include("../config/config.php");
$r = mysql_query("select * from ketab where id=".$_GET['id']);
print_r(mysql_fetch_assoc($r));
موفق باشید.