PDA

View Full Version : سوال: درخواست راهنمایی برای نوشتن کوئری سلکت



mokhtasatxyz
شنبه 02 مرداد 1395, 19:01 عصر
سلام دوستان


فرض کنید دو جدول در دیتابیس داریم به نام های shops و products :




141624


که جدول products فرزند جدول shops است


در صفحه ای نیاز است که جستجویی صورت گیرد به این صورت که رشته ای از کاربر دریافت شده و در فیلد sub و details از جدول products با دستور like به دنبال عبارت دریافتی بگردد. در صورت یافتن در یک و یا چند رکورد، رکورد های جدول shops که فیلد id ان با id_parent از جدول products برابر است را انتخاب نماید . در واقع من تمامی اطلاعات جدول shops را که رکورد های id با id_parent رکورد های انتخابی سلکت اولیه برابر بوده باشد را خروجی دهد

توجه: سلکت اولیه و ثانویه میتوانند بیش از یک رکورد باز گردانند.یعنی عبارت دریافتی می توانند در چندین محصول یافت شده و هر محصول انتخابی در هر فروشگاهی باشد.

امید وارم سوالم را فهمیده باشید

رضا قربانی
یک شنبه 03 مرداد 1395, 12:17 عصر
اینجا باید با کد صحبت کنی .
کدهاتو بذار تا راحت تر بهت کمک شه .

mokhtasatxyz
سه شنبه 05 مرداد 1395, 10:15 صبح
سلام
توجه کنید
در صفحه ای که قبلا ساخته ام تمامی اطلاعات جدول shops را فرا می خونیم و در یک حلقه تو در تو و با توجه به id رکورد های جدول shops که برابر با id_parent از جدول products باشه رکورد های جدول products فراخوانده می شود و در یک تگ جدول نشان داده می شوند
چیزی مفهومی شبیه به این:









;Sql_result1=Select * from shop
(While(Sql_result1
}
Sql_result1نمایش تصویر موجود در رکورد ;
;Sql_result2=select * from product wher id_parent=shop.id
(While(Sql_result2
}
< table>
<tr>
<td>
;Sql_result2نمایش اطلاعات رکورد
</td>
</tr>
</ table
{
{





حالا من نیاز دارم که سلکتی بنویسم تا فقط فروشگاه(از جدول shops )هایی رو که در داخل عنوان (product.sub) یا و توضیحات (product. details) محصولاتشان (جدول products) حداقل یک بار کلمه دریافتی وجود داشته باشد را انتخاب کند تا سپس بتوانم از ان برای سلکت اولیه Sql_result1 استفاده کنم.

مثلا بگوییم "فروشگاه هایی را انتخاب کن که در عنوان یا توضیحات کالاهایشان کلمه ماکارونی وجود دارد".

mokhtasatxyz
سه شنبه 05 مرداد 1395, 10:28 صبح
این هم کد نوشته شده تا الان:
من به اول این کد باید یک سلکت اضافه کنم برای نوشتن آن به کمک شما دوستان نیاز دارم.





<?php

$query_all_shop_recset = "SELECT * FROM shops";
mysql_select_db($database_connection, $connection);mysql_query("SET NAMES \'utf8\'");
mysql_set_charset('utf8');
$all_shop_recset = mysql_query($query_all_shop_recset, $connection) or die(mysql_error());
$row_all_shop_recset = mysql_fetch_assoc($all_shop_recset);
$totalRows_all_shop_recset = mysql_num_rows($all_shop_recset);
?>
<?php if($totalRows_all_shop_recset>0) {
do { $id_shop=$row_all_shop_recset["id"];
$img_shop=$row_all_shop_recset["pic_logo"];
mysql_select_db($database_connection, $connection); $query_all_product_a_shop_recset = "SELECT * FROM products WHERE id_parent = $id_shop LIMIT 10"; mysql_query("SET NAMES \'utf8\'");
mysql_set_charset('utf8');
$all_product_a_shop_recset = mysql_query($query_all_product_a_shop_recset, $connection) or die(mysql_error());
$row_all_product_a_shop_recset = mysql_fetch_assoc($all_product_a_shop_recset);
$totalRows_all_product_a_shop_recset = mysql_num_rows($all_product_a_shop_recset);
?> <a data-remodal-target="<?php echo $id_shop;?>" > <img src="<?php echo $img_shop?>"> </a> <div class="remodal" data-remodal-id="<?php echo $id_shop;?>" > <?php if($totalRows_all_product_a_shop_recset>0) {?> <p> <?php echo $row_all_shop_recset["business_sub"]; ?> </p> <form action="details.php" name="details_form" dir="rtl" method="post"> <table border="1"> <tr> <th>ردیف</th> <th>عنوان کالا</th> </tr> <?php $a=1;
do{?> <tr> <td><?php echo $a;?></td> <td><?php echo $row_all_product_a_shop_recset["sub"];?></td> </tr> <?php $a++; }while($row_all_product_a_shop_recset = mysql_fetch_assoc($all_product_a_shop_recset)); ?> </table> <h3> آدرس: <font> <?php echo $row_all_shop_recset["address"];
?> </font> <div></div> تلفن تماس: <font> <?php echo $row_all_shop_recset["tell"];?> </font> </h3> <div></div> <input type="hidden" name="shop_sel" value="<?php echo $row_all_shop_recset["id"];?>" /> <input type="hidden" name="shop_sub" value="<?php echo $row_all_shop_recset["business_sub"];?>" /> <input type="submit" value="بیشتر ..." class="remodal-confirm" /> </form> <?php } else echo "فروشگاه انتخابی شما در حال حاضر کالایی ندارد"; ?> </div> <?php }while($row_all_shop_recset = mysql_fetch_assoc($all_shop_recset)); } else { if(isset($_GET["topic_sel"])) { echo "در حال حاضر در گروه انتخابی شما فروشگاهی ثبت نگردیده است"; } else { echo "در حال حاضر فروشگاهی ثبت نگردیده است"; } } ?><?phpmysql_free_result($all_shop_recset);
mysql_free_result($all_product_a_shop_recset);?>