PDA

View Full Version : مشکل در ساخت فرم جستجو



kareez
پنج شنبه 25 آبان 1391, 08:51 صبح
سلام عزیزان
من یه سایت جوملایی دارم . یه دیتابیس به نام movedb ساختم که داخلش یه جدول هست که اونم نامش 0477هست . داخل این جدول هم 7 ستون نام و نام خانوادگی و سال تولد و کد ملی و ... وجود داره . می خوام فرم جستجویی بسازم که کاربر با وارد کردن کد ملیش بتونه نام و نام خانوادگی و بقیه ی اطلاعتش رو ببینه . اینم سورس دو صفحه ی ایجاد شده . یکی html اون یکی هم php .
این کد صفحه ی html :
کد:

<html>
<head>
<title>فرم دریافت کد</title>
</head>
<body>
<div style="width:400px; border:1px solid #000; text-align:right; direction:rtl; font-family:Tahoma; font-size:11px; padding:10px;"
<h1>فرم دریافت کد</h1>
<form action="search.php" method="post">
جستجو : <input type="text" name="search" /><br/><br/>
<input type="submit" name="submit" value="search" />
</form>
</div>
</body>
</html>

اینم کد php :
کد:

<body>
<?php
$search= $_POST['search'];

$host = "localhost";
$user = "root";
$pass = "";
$database = "cms";
$connect = @mysql_connect($host,$user,$pass) or die('اتصال بر قرار نشد . .');
$select_db = mysql_select_db("movedb") or die ('بانک اطلاعاتی یافت نشد .');

$query = " select * from 0477 where Melcode like '%$search%' ";
$result = mysql_query($query);

if($result)
{
while($line=mysql_fetch_array($result))
echo "نام : $line[Name] ";
echo "<br/> نام خانوادگی : $line[Family] ";
echo "<br/> نام پدر : $line[Father] ";
echo "<br/> سال تولد : $line[Birthday] ";
echo "<br/> شماره شناسنامه : $line[Shnum] ";
echo "<br/> کد ملی : $line[Melcode] ";
echo "<br/> تلفن همراه : $line[Mobile] ";
}
else
{
echo "موردی یافت نشد .";
}

?>
</body>


من از php چیزی نمی دونم . لطفا اگه کسی می تونه توی این مورد بهم کمکی کنه زحمت بکشه و این کد های منو بررسی کنه و بگه مشکل چیه که نتیجه ای نمایش داده نمی شه . در ضمن اگه فرمم دارای دو تا فیلد جستجو یعنی کد ملی و سال تولد باشه که دیگه محشره . چون اگه کاربر یکیش رو اشتباه وارد کنه نتیجه ای نمی بینه و کسی نمی تونه مرتکب تقلب بشه. با تشکر

numberone1
پنج شنبه 25 آبان 1391, 10:58 صبح
دوست عزیز سرچ در دیتابیس به این شکل که شما نوشتی یعنی اینکه هر چیزی شبیه اینها پیدا کردی بیار
like %%
کد ملی یک سری عددخ دیگه مثلا 098 75288422 وقتی اینجوری سرچ میکنی یعنی هرچی کد ملی که توش مثلا 0 داشت و بیار 9 داشت و بیار. اینجوری همه کد های ملی لیست میشن
باید مساوی قرار بدی
where `mellicode` = '$search'
اینجوری به نتیجه میرسی . تاریخ تولد قضیش یکم فرق میکنه باید فرمتی که اطلاعات توی دیتابیس ذخیره میشه رو بدونی بعد تاریخ ورودی رو به اون تبدیل کنی بعد مساوی قرار بدی.

mohsen6500
پنج شنبه 25 آبان 1391, 11:11 صبح
برای مثال :

<i><html>
<head>
<title>فرم دریافت کد</title>
</head>
<body>
<div style="width:400px; border:1px solid #000; text-align:right; direction:rtl; font-family:Tahoma; font-size:11px; padding:10px;"
<h1>فرم دریافت کد</h1>
<form action="search.php" method="post">
کد ملی : <input type="text" name="search" /><br />
سال تولد : <input type="text" name="Birthday" />
<input type="submit" name="submit" value="search" />
</form>
</div>
</body>
</html></i>

و قسمت PHP :

<?php
$search= $_POST['search'];
$burth = $_POST['Birthday'];

$host = "localhost";
$user = "root";
$pass = "";
$database = "movedb";
mysql_connect($host,$user,$pass) or die('اتصال بر قرار نشد . .');
mysql_select_db("movedb") or die ('بانک اطلاعاتی یافت نشد .');

$query = " SELECT * FROM `0477` WHERE `Melcode` = '$search' AND `Birthday` = '$burth'";
$result = mysql_query($query);
$Nums = mysql_num_rows($result);

if($Nums > 0)//یعنی سطری پیدا شد
{
$line = mysql_fetch_assoc($result);
echo "نام : ".$line['Name']."<br />";
echo " نام خانوادگی : ".$line['Family']."<br />";
echo " نام پدر : ".$line['Father']."<br />";
echo " سال تولد : ".$line['Birthday']."<br />";
echo " شماره شناسنامه : ".$line['Shnum']."<br />";
echo " کد ملی : ".$line['Melcode']."<br />";
echo " تلفن همراه : ".$line['Mobile']."<br />";
}
else
{
echo "موردی یافت نشد .";
}

?>
موفق باشید

kareez
پنج شنبه 25 آبان 1391, 12:30 عصر
زنده باشی برادر . از اینکه پاسخ دادید ممنونم . هر چقدر بررسی کردم دکمه ی تشکر رو ندیدم . کدها رو تست می کنم و نتیجه رو به همراه توضیحات تکمیلی جهت استفاده ی دوستان قرار می دم . برای جبران این لطفتون هر زمان اگه کار گرافیکی داشتید در خدمتم . بفرمایید تا جبران کنم .