PDA

View Full Version : این کوئری کلافم کرده



jamejam123
یک شنبه 10 شهریور 1392, 15:44 عصر
سلام به همه ی اساتید عزیز
چند روزی هستش که این کوئری کلافم کرده
لطفا به این تصویر یه نگا بندازید
110028
من تو نوشتن کوئری برای این جستجو مشکل دارم.
من فایل پروژه رو این جا آپلود می کنم.اساتید یه نگا بکنین (حجم فایل خیلی کمه)
http://s4.picofile.com/file/7918143652/bank.zip.html
باتشکر فراوان

افشین66
یک شنبه 10 شهریور 1392, 15:55 عصر
کجاش ایراد داری ؟؟؟ کل پروز نگذار !!!! ساخت کوئری؟؟؟؟؟ پیغام برام بگذار بیام ببینم مشکلش چیه ؟؟؟؟/

jamejam123
یک شنبه 10 شهریور 1392, 16:22 عصر
تو فایل search.php
نمی تونم کوئری برای جستجو بنویسم.
هرسری جستجو می کنم این پیغامو میده
110032
باتشکر فراوان

افشین66
یک شنبه 10 شهریور 1392, 16:52 عصر
ساختار جدولت که توش داری سرچ می کنی بگذار ببینم مشکل از کجاست :)

jamejam123
یک شنبه 10 شهریور 1392, 16:57 عصر
جدولم تو همون فایلی که ضمیمه کردم هستش
اینم عکس.
110033

افشین66
یک شنبه 10 شهریور 1392, 17:09 عصر
لاین 18 فایل serch.php نگاه کن!!!!!

اصلا فیلد مساحت نداری خوب تو ساختارجدولت !!!!!

افشین66
یک شنبه 10 شهریور 1392, 17:18 عصر
لاین 18 باید بشه



$query.="and metr>'$masahat'";

jamejam123
یک شنبه 10 شهریور 1392, 17:21 عصر
جدول هم پربودنی کار نمی کنه
شما خودتون یه بار با فایل add.php پر کنید.
وهمونی رو که پر کردید جستجو کنید .
میبینید که جستجو کار نمی کنه
باتشکر فراوان

افشین66
یک شنبه 10 شهریور 1392, 17:36 عصر
اولا ذخیره کردنت مشکل داره !!!!!

تو فایل add.php کوئری insert مشکل داره چون id مقدارش auto_increment نیاز به مقدار دهی نداره پس با این حساب باید اینجوری بشه


$query="insert into `melk`(`code`,`garardad`,`melk`,`name`,`adad`,`mah al`,`price`,`emkanat`)values('$gg','$garardad','$m elk','$name','$adad','$mahal','$price','$emkanat')";

ضمنا اگر ساختار جدولت utf8 چرا هیرو گریف ذخیره می کنی گارداش؟؟؟؟؟


کوئریت اینجوری بگذار تا همون utf8 ذخیره بشه


mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'",$connection);
$query="insert into `melk`(`code`,`garardad`,`melk`,`name`,`adad`,`mah al`,`price`,`emkanat`)values('$gg','$garardad','$m elk','$name','$adad','$mahal','$price','$emkanat')";

ببین درست نشد برام pm بگذار

plague
دوشنبه 11 شهریور 1392, 08:53 صبح
شمما کوئریت یه مشکلی داره که باعث میشه اجرا نشه و false برگردونه بعد شما میری این false رو میدی به خورد fetch_array که اونم اررور میده که من انتظار رکورد های دیتبایس رو دارم نه مقدار بولین false

قبل از اینکه به fetch_array بفرستی نتیجه کوئری رو باید چک کنی که کوئری بدون مشکل اجرا شده باشه و در غیر اینصورت اررور بده
یه همچین چیزی باید بزاری تا اررور دیتابیس رو بگیره قبل از fetch_array


if(!$query) {
die(mysql_error());
}


همونجوری هم که این دوستمون گفت بجای ضمیمه کردن کل صفحه تیکه کد مشکل دار رو بزار همیشه

jamejam123
دوشنبه 11 شهریور 1392, 11:03 صبح
سلام
چشم رو چشم حتما
شما به کوئری نگا کردین.
کجای کوئری مشکل داشت؟

jamejam123
دوشنبه 11 شهریور 1392, 19:29 عصر
سلام مشکل من حل نشد!!!
خود کد رو میزارم.
شرط هایی رو که برای کوئری نوشتم کجاش ایراد داره که مقدار خالی به من نشون میده.
باتشکر فراوان


if(isset($_POST['submit'])){

$melk=$_POST['melk'];
$masahat=$_POST['masahat'];
$otag=$_POST['otag'];
$txtrahn=$_POST['txtrahn'];
$txtejare=$_POST['txtejareh'];
$query="select * from `melk` where 1=1 ";
if($melk!="0"){
$query.="and melk='$melk'";
}
if($masahat!=0){
$query.="and masahat>'$masahat'";
}
if($otag!=0){
$query.="and adad > '$otag'";
}
if($txtrahn!=NULL){
$query.="and price<'$txtrahn'";
}
if($txtejare!=NULL){
$query.="and code='$txtejare'";
}
$res=mysql_query($query,$connection);
while($bb=mysql_fetch_array($res)){
echo $bb['id'];
}
}

افشین66
دوشنبه 11 شهریور 1392, 21:09 عصر
جواب دوم به این تاپیک دادم تو فیلد مساحت تو دیتبیس نداری ولی تو لاین 13 دقت کنی استفاده کردی !!!!


if($masahat!=0){$query.="and masahat>'$masahat'"; }


به این تغییر بده !


if($masahat!=0){
$query.="and metr>'$masahat'";
}


مشکل کوئریت همینه

plague
دوشنبه 11 شهریور 1392, 23:24 عصر
آقا دقت نمیکنی دیگه به جوابای تاپیک


$res=mysql_query($query,$connection);
while($bb=mysql_fetch_array($res)){
echo $bb['id'];
}

رو تغییر بده به


$res=mysql_query($query,$connection);

if(!$res) {
die(mysql_error());
}

while($bb=mysql_fetch_array($res)){
echo $bb['id'];
}

بعد اجرا کن کوئریت رو ببین چه مشکلی داره

jamejam123
دوشنبه 11 شهریور 1392, 23:41 عصر
تشکر فراوان از دوستان عزیز مخصوصا افشین66 (http://barnamenevis.org/member.php?302417-%D8%A7%D9%81%D8%B4%DB%8C%D9%8666)
مشکلم حل شد