رفتن به مطلب

راهنمایی درباره نوشتن یک حلقه 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
لینک به ارسال

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

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

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

لینک به ارسال

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


<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];
}
?>

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...