RightClick

امروز 19 شهريور 1389 11:37

همه زمانها UTC + 3:30 ساعت هستند




ارسال مبحث جديد پاسخ به مبحث [ 4 پست ] 
نويسندهپيغام
 موضوع پست: مشکل در جسستجو
پستارسال شده در: 3 شهريور 1388 18:02 
آفلاين
تازه وارد
تازه وارد

تاريخ عضويت: 28 مرداد 1388 20:09
پست ها : 9
دريافتي: 5 تشكر
رسيده: 0 تشكر
سلام
عباداتتون قبول
من یک فرم جستجو دارم با این فیلدها:نام و نام خانوادگی و رشته و گرایش و مدرک و استان و شهر
میخوام طوری جستجو رو بنویسم که جستجو رو براساس فیلدهای پر بنویسه
مثلا ممکنه یک بار براساس نام و نام خانوادگی جستجو کنم یک بار دیگه براساس رشته وگرایش ومدرک و یک بار دیگه براساس نام و نام خانوادگی و رشته و گرایش و مدرک.میشه راهنمایی کنید.
در ضمن میشه این کد رو نگاه کنید
کد:
$s= "select userid,proof,rank,name,family from ups where name=trim('$name') and family=trim('$family') and birth=trim('$tavalod') and bank=trim('$bank')  ";
//echo $s;
$q=mysql_query($s) or die("Sql is error");
$result=mysql_fetch_row($q);
$num=mysql_num_rows($q);
//echo "$num";
if($num)
  {
   echo "<table  width=650  >";
echo "<tr>";
while($row=mysql_fetch_array($q))
      {
echo"<td   width=200>";
       echo"<table height=229  width=172  cellpadding=0   align=left  cellspacing=0 border=0>";
        echo"<tr>";
     echo"<td  height=180   width=7  background=SrchBoxLeft.jpg>";
    echo"<td  height=180  align=center  background=SrchBoxMid.jpg>";
   echo"<table  width=150  cellpadding=1 cellspacing=1  border=0  >";
   echo"<tr>";
   echo"<td height=150  valign=middle align=center>";
    echo"</td>";
echo"</tr>";

مشکل از حلقه while .مشکل اینجاست که هر تعداد رکورد که پیدا میکنه یکی کمترش رو نشان میده.مثلا اگه 3 نا پیدا کنه 2 تا رو نشون میده.
ممنون

_________________
زندگی گرمی دلهای به هم پیوسته است تا در آن دوست نباشد همه درها بسته است


بالا
 مشخصات  
 
 موضوع پست: Re: مشکل در جسستجو
پستارسال شده در: 3 شهريور 1388 22:13 
آفلاين
کاربر فعال انجمن
کاربر فعال انجمن
نماد کاربر

تاريخ عضويت: 8 تير 1387 16:57
پست ها : 511
محل سکونت: مشهد مقدس
دريافتي: 128 تشكر
رسيده: 62 تشكر
سلام
همچنین،
شما برای اینکار باید از تعدادی متغیر استفاده کنید
اولا این کوئری که شما نوشتید این معنی رو داره که کاربر باید تمامی فیلد ها رو پر کنه و تمامی فیلدها هم دقیقا مطابق به اطلاعات موجود به دیتا بیس باشند
برای اینکه جستجو با کلمات مشابه باشند از like استفاده کنید(اگه تو انجمن php بگردید در موردش زیاد بحث شده علاوه براین خودم هم تو یکی از بخش های آموزش ساخت سی ام اس خبری توضیح دادم)
بذار یکم عملی تر صحبت کنم....
فرض 3 تا فیلد داریم
نام،نام خانوادگی,ایمیل
حالا شکل query کلی like اینجوری هستک
کد:
$sql = "SELECT * FROM `table` WHERE `name` LIKE '%".$name ."%' ";

حالا باید چک کنی ببینی کاربر چه مقادیری رو پر کرده و چه مقادیری رو نه
مثلا اگه در فرم ایمیل رو هم پر کرده بود باید با AND , کوئری رو تکمیک کنی
کد:
if(!empty(!$_POST['email'])){
$test = "AND `email` LIKE '%".$email ."%' ";
}
else{$test='';}

و همینکارو برای نام خانوادگی و ... می کنی....
بعد query هایی رو اینجوری می نویسی
کد:
$sql = "SELECT * FROM `table` WHERE `name` LIKE '%".$name ."%'  ".$test." ".$test2." ";


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

_________________
خود پسندی مانع آموختن است.:: امام علی (ع) ::.
سیستم جامع و هوشمند افزایش آمار مجیک -
شبكه آموزش پارسيان - سیستم مدیریت محتوای ایرانی راش
عشق من = rightclick


بالا
 مشخصات  
 
 موضوع پست: Re: مشکل در جسستجو
پستارسال شده در: 4 شهريور 1388 16:44 
آفلاين
تازه وارد
تازه وارد

تاريخ عضويت: 28 مرداد 1388 20:09
پست ها : 9
دريافتي: 5 تشكر
رسيده: 0 تشكر
بابت توضیحات کاملتون ممنون
اگه می شه به سوال آخرم توی پست قبلی جواب بدید.مشکلم توی حلقه while(البته اگه اشتباه نکنم).اگه نتیجه جستجو مثلا 4 تا رکورد باشه .3تاش رو نشون می ده یعنی همیشه یکی کمتر رو نشون می ده.حلقه رو چندین بار چک کردم ولی متوجه نشدم. لطفا راهنمایی کنید

_________________
زندگی گرمی دلهای به هم پیوسته است تا در آن دوست نباشد همه درها بسته است


بالا
 مشخصات  
 
 موضوع پست: Re: مشکل در جسستجو
پستارسال شده در: 4 شهريور 1388 19:23 
آفلاين
کاربر فعال انجمن
کاربر فعال انجمن
نماد کاربر

تاريخ عضويت: 8 تير 1387 16:57
پست ها : 511
محل سکونت: مشهد مقدس
دريافتي: 128 تشكر
رسيده: 62 تشكر
سلام
بعید می دونم مشکل از php باشه :shock:
اینقدر کدهای html حلقتون فرو قاطی بود که سر دریانوردم چی به چی هست :D ولی فکر کنم مشکل از همون html باشه! شما بعد از حلقه یک echo از یک رشته رو بزنید می بینید که تعداد تکرار درست!سورس خروجی رو بررسی کنید هم تعداد تکرار درسته!پس مشکل از html کدتون هست که چند table رو درهم نوشتید.
موفق باشید ;wink:

_________________
خود پسندی مانع آموختن است.:: امام علی (ع) ::.
سیستم جامع و هوشمند افزایش آمار مجیک -
شبكه آموزش پارسيان - سیستم مدیریت محتوای ایرانی راش
عشق من = rightclick


بالا
 مشخصات  
 
اين كاربر تشكر كرده rsh_eboyبراي پست:
shafagh

نمايش پست ها از پيشين:  مرتب سازي بر اساس  
ارسال مبحث جديد پاسخ به مبحث [ 4 پست ] 

همه زمانها UTC + 3:30 ساعت هستند


چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون کاربران عضو شده و 1 مهمان


شما نمي توانيد مبحث جديدي در اين انجمن ايجاد کنيد
شما نمي توانيد به مباحث در اين انجمن پاسخ دهيد
شما نمي توانيد پست هاي خود را در اين انجمن ويرايش کنيد
شما نمي توانيد پست هاي خود را در اين انجمن حذف کنيد
شما نمي توانيد فايل هاي پيوست در اين انجمن ارسال کنيد

جستجو براي:
پرش به:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Persian Translation By : www.Maghsad.com