آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

دستورات خاص در mysql +توضیح بیشتر

MasterSPYware  9 سال پیش  9 سال پیش
0 0

سلام.
من یک جدول توو دیتابیس دارم.
این شکلی:

همونطور که میبینین در سطر meta_key متغیرهای زیادی داریم.

همونطور هم یک فرم داریم که تعدادی input داره.

یکی مبلغ رو نمایش میده و دیگری هم تعداد.

مشکل من اینه:

میخوام همزمان متغیرایی که مقدار meta_key اونا price هستن رو پیدا کنه و مقدار meta_value همون سطر و اونایی که مقدار meta_key اونا varaible هست رو پیدا کنه و مقدار meta_value همون سطر رو اکو کنه.

اینم دستور select منه:

 
 
    $sql=mysql_query("SELECT * FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID=wp_postmeta.post_id where wp_posts.post_status='publish' and wp_posts.post_type='product' group by wp_posts.ID desc"); 
 
0 0
کمی دقیق تر توضیح میدید؟؟؟ درست متوجه نشدم. و هدفتون از این کار چیه؟ (9 سال پیش)
 برای این سوال 10 پاسخ وجود دارد.
پاسخ به سوال 
MasterSPYware  9 سال پیش
+1 0

اینم جدول php منه:میخوام اینطوری بشه

 

ببینید من یه جدول توو html دارم:

  <?php 
include('database/database.php');
$sql=mysql_query
("SELECT * FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID=wp_postmeta.post_id
where wp_posts.post_status='publish' and wp_posts.post_type='product' group by wp_posts.ID desc");
while($row=mysql_fetch_array($sql)) {
$ID= $row['ID'];
$post_title=$row['post_title'];
$meta=$row['meta_key'];
if($meta='_price'){$price='تومان';}
if($meta='_stock'){$num='تعداد';}

?>
<tr class="" style="direction: rtl;">
<td><?php echo $ID; ?></td>
<td><?php echo $post_title; ?></td>
<td><?php echo $num; ?></td>
<td class="center"><?php echo $price; ?></td>
<td><a class="edit" href="javascript:;">ویرایش</a></td>
<td><a class="delete" href="javascript:;">حذف</a></td>
</tr>
<?php }
?>
 
 
 

مشکل من اینجاست که همونطور که توو عکس میبینین پارامتر های مورد نیاز من داخل یک ستون قرارگرفته و با دستورات if و else اونا رو تفکیک کردم.

اما این کار میشد فقط برای meta_key میشد به کار برد.

اما برای مقدار meta_value مشکل دارم.نمیتونم مقدار عددی اونا رو بدست بیارم

پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

سجاد جان منتظرم

ی لطفی کن جوابشو بده

پاسخ به سوال 
سجاد عباسی  9 سال پیش
0 0

ببخشید یکم سرم شلوغ بود.

ببیین اگه درست منظورتو متوجه شده باشم باید این جواب بده:

<?php 
include('database/database.php');
$sql=mysql_query
("SELECT * FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID=wp_postmeta.post_id
where wp_posts.post_status='publish' and wp_posts.post_type='product' option by wp_posts.ID desc");
$num=null;
while($row=mysql_fetch_array($sql)) {
$ID= $row['ID'];
$post_title=$row['post_title'];
$meta=$row['meta_key'];
$value=$row['meta_value'];
if($meta='_price'){$price=$value . 'تومان';}
if($meta='_stock'){$num= $value . 'تعداد';}
if($num!=null){
?>
<tr class="" style="direction: rtl;">
<td><?php echo $ID; ?></td>
<td><?php echo $post_title; ?></td>
<td><?php echo $num; ?></td>
<td class="center"><?php echo $price; ?></td>
<td><a class="edit" href="javascript:;">ویرایش</a></td>
<td><a class="delete" href="javascript:;">حذف</a></td>
</tr>
<?php $num=null; } }
?>
 
 
پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

نه-نشد-نتیجه این شد

یه کم بیشتر فکر کن:))

پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

ببین من برای دیتابیس دستور group by انتخاب کردم.

 الان نتیجه این شده-سجاد جان ی کمک برسون

0 0
پاسخ ویرایش شد چک کنین ببینید درست هست یا نه. (9 سال پیش)
پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

این که از بیخ غلطه.

من اصلا نال ندارم توو دیتابیس

یعنی نیازی ندارم

میخوام بگم 

نشون بده از یک meta_valueمشترک با post_id یکسان پارامترایی که مقدار meta_key اونا با price_ و stock_ و هرکدوم ازین ها رو با تابعی مجزا تعریف کنه.یا به اصطلاحی foreach کنه

اینی که گفتم نمیخوام توو دستور $sql باشه.میخوام توو دستورات بعد از fetch_array باشه

همین

0 0
شما تست کردید و میگید از بیخ غلطه؟؟؟؟؟ (9 سال پیش)
0 0
تست کردم اما اصلا نتیجه ای دربرنداشت مثل کد قبلی بود (9 سال پیش)
پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

مثال عملی:

ما الان یک post_id داریم به شماره 1800

الان پارامترهایی توو دیتابیس داریم که post_id اونا باهم برابره اما میزان meta_key و meta_value اونا باهم متغیره

من میخوام مقدار meta_value گزینه هایی که meta_key اونا برابر با price_ و stoch_ برام اکو کنه و برای هرکدوم یک متغیر جداگانه تعریف کنه 

مثل:

 $price= $row['meta_value']بشرطی که $row['meta_key']='_price';
 $stoch= $row['meta_value']بشرطی که $row['meta_key']='_stoch';
0 0
منم با اون کد هدفم همین بود که تو همه id های یکسان meta_key رو بگرده تا همه موارد مورد نیاز رو بدس ببیاریم و بعد یه سطر با مقادیر بدست اومده داشته باشیم. (9 سال پیش)
پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

این کدشماست:یه ذره بی معنیه-فارسیشو نوشتم

 
 $sql=mysql_query
("SELECT * FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID=wp_postmeta.post_id
where wp_posts.post_status='publish' and wp_posts.post_type='product' group by wp_posts.ID desc");
$num=null;دالر نام مساوی است با خالی
while($row=mysql_fetch_array($sql)) {
$ID= $row['ID'];
$post_title=$row['post_title'];
$meta=$row['meta_key'];
$value=$row['meta_value'];
if($meta='_price'){$price=$value . 'تومان';}
if($meta='_stock'){$num= $value . 'تعداد';}
if($num!=null){اگر دالرنام خالی نبود
$num=null;دالر نام مساوی است با خالی
0 0
خب باید تو سطر ها بگرده تا تمام اطلاعات یه کالا رو بگیره بعد وقتی اخرین داده مربوط به یکی از داده ها رو گرفت باید بیاد و چاپش کنه کد این معنی رو داره یه بار چک کنین یه تغییر کوچیک دادم. (9 سال پیش)
پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

سجاد جان.این کد منه:

دستور سلکت من هم از نوع group by هستش که فقط میاد و از هر آیدی یک سطر رو برمیداره فقط

  include('database/database.php');
$sql=mysql_query
("SELECT * FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID=wp_postmeta.post_id
where wp_posts.post_status='publish' and wp_posts.post_type='product' group by wp_posts.ID desc");

$num=null;
while($row=mysql_fetch_array($sql)) {
$ID= $row['ID'];
$post_title=$row['post_title'];
$meta=$row['meta_key'];
$value=$row['meta_value'];
if($meta='_price'){$price=$value . 'تومان';}
if($meta='_stock'){$num= $value . 'تعداد';}
if($num!=null){
?>


<tr class="" style="direction: rtl;">
<td><?php echo $ID; ?></td>
<td><?php echo $post_title; ?></td>
<td><?php echo $num; ?></td>
<td class="center"><?php echo $price; ?></td>
<td><a class="edit" href="javascript:;">ویرایش</a></td>
<td><a class="delete" href="javascript:;">حذف</a></td>
</tr>
<?php $num=null; } }
?>

دقیقا همونی که گفتی.

اینم نتیجش:

پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

اساتید گرامی لطفا کمکم کنین.ممنون


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .