PDA

View Full Version : سوال: ساخت کادر جستجو در خود سایت



mamali-mohammad
دوشنبه 15 فروردین 1390, 15:35 عصر
سلام
دوستان من تو فروم جستجو کردم
اما چون پراکنده بود چیزی نفهمیدم
چطوری میتونم یه کادر جستجو درست کنم که در سایت جستجو کنه ؟
مثلا یه کادر در صفحه اصلی هست
توش مینویسه : محمد

زمانی که روی سرچ کلیک کرد ، به صفحه search.php بره و اطلاعات رو نشان بده

ممنون

Mr.Moghadam
دوشنبه 15 فروردین 1390, 18:17 عصر
اول یه فرم بساز با یه تکست باکس و یه سابمیت


<form action="search.php" method="get">
<input name="q" type="text" />
<input name="" type="submit" value="search" />
</form>
که فرم بالا اطلاعات رو به صورت get به صفحه serch.php میفرسته
حالا تو صفحه serach.php مقدار get رو بگیر و از بانک اطلاعات رو استخراج کن


if(isset($_GET['q']))
{
$q = $_GET['q'];
$res = mysql_query("select * from table_name where title like '%$q%'");
}

موفق باشی

sargardoon
دوشنبه 15 فروردین 1390, 19:22 عصر
میتونید با jQuery هم درست کنید بدون اینکه صفحه رفرش بشه، من یه نمونه ساده ساختم نگاه کن شاید به دردتون بخوره

<html>
<head>
<title>Username exists without refresh page</title>
<script type='text/javascript' src='../jquery.min.js'></script>
<script type='text/javascript'>
$(document).ready(function(){
$('#feedback').load('check.php').show();
$('#user').keyup(function() {
$.post('check.php', {username: $('#user').val()},
function(result) {
$('#feedback').html(result).show();
});
});
});
</script>
</head>
<body>
<form name='form'>
username: <input type='text' name='username' id='user' />
</form>
<div id='feedback'></div>
</body>
</html>


<?php
$dbcon = mysql_connect('localhost','root','');
$db = mysql_select_db('phptut', $dbcon);

$username = mysql_real_escape_string($_POST['username']);

if (!empty($username)) {

$sql = ("SELECT username FROM login WHERE username LIKE '%".$username."%'");
$query = mysql_query($sql);
$num_row = mysql_num_rows($query);

if ($num_row > 0) {
while ($row = mysql_fetch_assoc($query)) {
echo $row['username'].'<br />';
}
}
}
?>

این یه نمونه ساده هستش که من برای جستجو نام کاربر استفاده کردم، شما میتوانید با کمی تغییرات از اون استفاده کنی.
موفق باشید.

mamali-mohammad
دوشنبه 15 فروردین 1390, 23:12 عصر
من اینو نوشتم :

if(isset($_GET['q']))
{
$q = $_GET['q'];
$res = mysql_query("select * from products where product_name like '%$q%'");
echo "$res";

}?>

خروجی اینو میده :
Resource id #4

sargardoon
دوشنبه 15 فروردین 1390, 23:28 عصر
من اینو نوشتم :

if(isset($_GET['q']))
{
$q = $_GET['q'];
$res = mysql_query("select * from products where product_name like '%$q%'");
echo "$res";

}?>

خروجی اینو میده :
Resource id #4
دوست عزیز این Query را اجرا میکنه اگر بخواهید تعداد رکوردها را بگیر باید از mysql_num_rows استفاده کنی، اگر بخواهی اطلاعات اجرا شده را نمایش بدی باید از mysql_fetch_assoc استفاده کنی که آنرا به صورت آرایه نشون میده به مثالی که من بالا نوشتم توجه کن
برای چاپ آرایه هم میتوانی از print_r، foreach, for, while, var_dump استفاده کنی

موفق باشید.

mamali-mohammad
دوشنبه 15 فروردین 1390, 23:48 عصر
با while ردیف شد
ممنون داداش

mamali-mohammad
سه شنبه 16 فروردین 1390, 00:01 صبح
داداش یه سوال دیگه
فرض کن در این تیبل 50 تا پست زده شده
حالا میخوام زمانی که در box جستجو حرف a رو که تایپ کردم اون کلمات رو همونجا سریعا ردیف کنه زیرش
مثل گوگل

sargardoon
سه شنبه 16 فروردین 1390, 00:09 صبح
داداش یه سوال دیگه
فرض کن در این تیبل 50 تا پست زده شده
حالا میخوام زمانی که در box جستجو حرف a رو که تایپ کردم اون کلمات رو همونجا سریعا ردیف کنه زیرش
مثل گوگل
در اون مثالی که من بالا نوشتم همین کار روی میکنه ولی در داخل تگ div اجراش کنه متوجه خواهی شد، ولی اینکه مثل گوگل باشه من خودم هم به دنبالش هستم. اینجا (http://barnamenevis.org/showthread.php?281153-%DA%86%D8%B7%D9%88%D8%B1-%D9%81%D8%B1%D9%85%DB%8C-%D9%87%D9%85%D8%A7%D9%86%D9%86%D8%AF-%D9%BE%D8%B1%D9%88%D9%81%D8%A7%DB%8C%D9%84-%D9%81%DB%8C%D8%B3-%D8%A8%D9%88%DA%A9-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85%D8%9F%D8%9F) نوشتم
موفق باشید.

mamali-mohammad
سه شنبه 23 فروردین 1390, 23:53 عصر
سلام
یه سوال
فرض کنید از یه جدول میخوایم دوتا ستون بخونیم
باید چیکار کنیم ؟
مثلا از جدول Product دو ستون Tag و title رو بخونه

sargardoon
چهارشنبه 24 فروردین 1390, 00:47 صبح
سلام
یه سوال
فرض کنید از یه جدول میخوایم دوتا ستون بخونیم
باید چیکار کنیم ؟
مثلا از جدول Product دو ستون Tag و title رو بخونه

SELECT * FROM `product` WHERE `tag` LIKE '%ABC%' OR `title` LIKE '%ABC%';
به جای ABC کلماتی که دوست دارید جستجو کنید قرار بدید.

uosefuosef
سه شنبه 02 تیر 1394, 02:35 صبح
در اون مثالی که من بالا نوشتم همین کار روی میکنه ولی در داخل تگ div اجراش کنه متوجه خواهی شد، ولی اینکه مثل گوگل باشه من خودم هم به دنبالش هستم. اینجا (http://barnamenevis.org/showthread.php?281153-%DA%86%D8%B7%D9%88%D8%B1-%D9%81%D8%B1%D9%85%DB%8C-%D9%87%D9%85%D8%A7%D9%86%D9%86%D8%AF-%D9%BE%D8%B1%D9%88%D9%81%D8%A7%DB%8C%D9%84-%D9%81%DB%8C%D8%B3-%D8%A8%D9%88%DA%A9-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85%D8%9F%D8%9F) نوشتم
موفق باشید.

جستجو رو با Ajax انجام بده و از دیتا لیست استفاده کن مث گوگل خروجی رو برات لیست میکنه.