رفتن به مطلب

راهنمایی درباره نوشتن یک حلقه while


پست های پیشنهاد شده

با سلام

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

من میخوام در حلقه یک هر بار که حلقه اجرا میشه به مقدار متغیر یک واحد اضافه بشه مثلا یک همچین چیزی:


$s2_hafiz_2_back = get_post_meta($post->ID, 's2_hafiz_2_back', true);
$s2_lon_2_back = get_post_meta($post->ID, 's2_lon_2_back', true);
////////////////////
$s3_hafiz_3_back = get_post_meta($post->ID, 's3_hafiz_3_back', true);
$s3_lon_3_back = get_post_meta($post->ID, 's3_lon_3_back', true);
////////////////////
$s4_hafiz_4_back = get_post_meta($post->ID, 's4_hafiz_4_back', true);
$s4_hafiz_4_back = get_post_meta($post->ID, 's4_lon_4_back', true);

if(!empty($s2_hafiz_2_back) && !empty($s2_lon_2_back))
{
echo 'meghadr 2 vared shode ast';
}
if(!empty($s3_hafiz_3_back) && !empty($s1_lon_3_back))
{
echo 'meghadr 3 vared shode ast';
}
if(!empty($s4_hafiz_4_back) && !empty($s4_lon_4_back))
{
echo 'meghadr 4 vared shode ast';
}

همین طور که می بینید متغیرهای s2_hafiz_2_back و s2_lon_2_back هر بار یک شماره اضافه میشن و این کار تا مرحله 100 انجام میشه یعنی تا زمانی که متغیر های s100_hafiz_100_back و s100_lon_100_back چک بشن

چطوری میشه با یک حلقه این موارد رو بررسی کرد تا کدها کوتاه تر بشن

لینک به ارسال


$x=0;
while($x<100) {
$x +=1;
$s_lon_back = 's'.$x.'_lon_'.$x.'_back';
$lon_back = get_post_meta($post->ID, $s_lon_back, true);
if(!empty($lon_back )) {
echo 'Meghdar e '.$x.' vared shod';
}
}

البته اصول کارتون اشتباه و بجای صد تا پست متا می تونید یک زمینه بسازید و به صورت آرایه ازش خروجی بگیرید

ویرایش شده توسط imanfakhar
  • امتیاز 1
لینک به ارسال

با تشکر از شما ممنون میشم این جمله

یک زمینه بسازید و به صورت آرایه ازش خروجی بگیرید

رو بیشتر توضیح بدید استاد عزیز

لینک به ارسال

من نمی دونم زمینه ها رو چجوری می سازید اما اگر با اکشن معمول ایجاد می کنید می تونه فرمتون شبیه


<form action="" method="post">
<?php
$x=0;
while($x<100) {
$x +=1;
echo '<input name="s_lon_back['.$x.']">';
}
?>
<button>Submit</button>
</form>

با شه و اکشنتون


<?php
if(isset($_POST['s_lon_back'])) {
update_post_meta($post->ID, 's_lon_back', $_POST['s_lon_back']);
}
?>

و کد فراخوانیتون هم


<?php
$s_lon_back = get_post_meta($post->ID, 's_lon_back', false);
$s_lon_back = $s_lon_back[0];
/// برای مشاهده مقدار فیلد دهم:
if(!empty($s_lon_back[10])) {
echo $s_lon_back[10];
}
?>

  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...