• اطلاعیه ها

    • Saeed Fard

      پوشش زنده وردکمپ ۲۰۱۸ اروپا توسط وردپرس پارسی   23/03/97

      اگر کاربر وردپرس هستید حتما تا به حال اسم وردکمپ رو شنیدید، کمپ و دورهمی بزرگ توسعه‌دهنده‌ها و کاربران وردپرس که سالانه در کشورهای مختلف برگزار میشه تحت عنوان وردکمپ هستش که از سمت مراجع اصلی وردپرس حمایت و برگزار می‌شه.   این‌ بار در سال 2018 وردکمپ اروپا در شهر بلگراد کشور صربستان در حال برگزاری هستش، این رویداد طی سه روز 24 تا 26 تیر ماه (June 14-16) برگزار میشه، در این رویداد مصطفی صوفی از وردپرس پارسی و به نمایندگی تمامی کاربران وردپرس فارسی حضور داره. وردپرس پارسی رویداد وردکمپ 2018 اروپا رو به صورت زنده توسط مصطفی پوشش می‌ده و در صورت علاقه‌مندی به این مراسم می‌تونید از طریق وردپرس پارسی دنبالش کنید.در حال حاضر یک روز از این مراسم گذشته که گزارش اون در قسمت پوشش زنده قرار گرفته. برای دنبال کردن مراسم وردکمپ اروپا به صورت لحظه‌ای به صفحه پوشش زنده در قسمت زیر مراجعه کنید. همینطور در آینده منتظر خبر برگزاری اولین وردکمپ در ایران توسط وردپرس‌پارسی باشید. https://wp-parsi.com/wceu-2018

      لینک خبر در وردپرس پارسی : https://wp-parsi.com/wceu-2018-live  
kingblog

مشکل در ویرایش کد php

10 پست در این موضوع قرار دارد

سلام

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

بعنوان مثال کد زیر رو میزارم:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="3">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

حالا ما یک مقدار رو از صفحه اصلی با روش post به صفحه بعدی میفرستیم که قراره کد بالا رو به ما بده.

من میخوام مثلا اگه اون مقدار 1 باشه ، کد زیر رو به ما بده:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

اگه مقدار اون متغیر 2 بوده کد زیر رو به ما بده:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

و همینجوری الی آخر.

من با گذاشتن شرط این کار رو انجام میدم:


<?php if($_POST['nm']=='1') {
echo"11111";
}
?>
<?php if($_POST['nm']=='2') {
echo"11111";
echo"22222";
}
?>
<?php if($_POST['nm']=='3') {
echo"11111";
echo"22222";
echo"33333";
}
?>

ولی مثلا وقتی متغیر 20 باشه باید 20 شرط بنویسم و اینجوری باید کلی کد نویسی کنم.

میخوام کد رو جوری ویرایش کنم که نیازی به اون همه شرط نویسی نباشه و خودش بفهمه با متغیر 1 این کد:



<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

با متغیر 2 این کد:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

با متغیر 3 این کد:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="3">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

و الی آخر رو به ما بده

0

به اشتراک گذاری این پست


لینک به پست

خوب دوست عزیز حلقه ی for واسه همین روز هاس دیگه :))))

مقدار رو میزاری توی یک متغییر و حلقه for رو به اندازه اون تکرار می کنی مثال :


<?php
$adad = 12;
for ($i = 1; $i <= adad; $i++){
echo '<div class="msc mscselect" data-msc="' . $i . '">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>';
}
?>

موفق باشید.

2

به اشتراک گذاری این پست


لینک به پست

ممنون از پاسختون

راستش با پی اچ پی زیاد کار نکردم

من کد شما رو اینجوری تغییر دادم :


<?php if($_POST['nm']!=="") {
$adad = 12;
for ($i = $_POST['nm']; $i <= adad; $i++){
echo '<div class="msc mscselect" data-msc="'.$i.'">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>';
}}
?>

ولی اونجور که میخوام خروجی نمیده.

مثلا وقتی مقدار nm برابر 3 باشه کد زیر رو به ما میده:


<div class="msc mscselect" data-msc="3">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

قسمت data-msc="3" رو عددش رو درست زده اما من میخوام کد زیر رو بده:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="3">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

یا اگه مقدار nm برابر 2 باشه کد زیر رو میده:


<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

در حالی که باید این کد رو بده:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>
<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>

ممنون میشم بیشتر راهنمایی کنید

0

به اشتراک گذاری این پست


لینک به پست

باید حلقه دو تا درست کنید

برای 20 تا


<?php
$x =1;
while($x<=20) {
if($nm == $x) {
for($y=1; $y<=$x ; $y++) {
$output = '<div class="" data-msc="'.$y.'">';
$output .= 'text';
$output .= '</div>';
}
}
$x+= 1;
}

(کد رو تست نکردم ممکنه علامتی چیزی از قلم افتاده باشه ولی اصلوب کار همینه)

که

[/size]
$nm = $_POST['nm'];

است

3

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

باید حلقه دو تا درست کنید

برای 20 تا


<?php
$x =1;
while($x<=20) {
if($nm == $x) {
for($y=1; $y<=$x ; $y++) {
$output = '<div class="" data-msc="'.$y.'">';
$output .= 'text';
$output .= '</div>';
}
}
$x+= 1;
}

(کد رو تست نکردم ممکنه علامتی چیزی از قلم افتاده باشه ولی اصلوب کار همینه)

ممنون آقای فخار بجای $output باید echo می بود که درست شد

واقعا ممنون ازتون

ویرایش شده در توسط kingblog
0

به اشتراک گذاری این پست


لینک به پست

@kingblog

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

<?php if($_POST['nm']!=="") {
for ($i = 1; $i <= $_POST['nm']; $i++){
echo '<div class="msc mscselect" data-msc="'.$i.'">
<div class="Tline Rayka1"><h2> ناز</h2><a href="http://www.kingblog.ir">سایر مطالب امروز</a></div>
</div>';
}}
?>

2

به اشتراک گذاری این پست


لینک به پست

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

اما یه مشکل دیگه دارم

الان توی این کدها، اگر محتوای فیلد nm عدد باشه کار میکنه مثلا اگر 1 باشه یا اگه 2 باشه. و اگه توی فیلد یک متن بنویسیم دیگه کد مورد نظر ما رو نشون نمیده چون توی شرط ما گفتیم اگه مقدار nm کمتر از متغیر i باشه چه اتفاقی بیافته که یعنی مقدارش باید عدد باشه.

من میخوام مثلا اگه یک فیلد داشتیم و توی اون فیلد یک متن نوشتیم ، کد زیر رو نشون بده:


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2>محتوای فیلد اول</h2></div>
</div>

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


<div class="msc mscselect" data-msc="1">
<div class="Tline Rayka1"><h2>محتوای فیلد اول</h2></div>
</div>
<div class="msc mscselect" data-msc="2">
<div class="Tline Rayka1"><h2>محتوای فیلد دوم</h2></div>
</div>
<div class="msc mscselect" data-msc="3">
<div class="Tline Rayka1"><h2>محتوای فیلد سوم</h2></div>
</div>

نام فیلدها مون هم اینجوریه:

nm1,nm2,nm3,nm4,nm5,...

قسمت data-msc="1" رو که با متغیر $i میشه نشون داد ولی نمیدونم چجوری کنم که محتوای فیلد رو هم سر جاش چاپ کنه

(خروجی کد که نشون میده یک تب منو هست که ما با نوشتن عنوان منوها در فیلدها، نتیجه رو در صفحه بعد مشاهده میکنیم.)

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

0

به اشتراک گذاری این پست


لینک به پست

میتونین از تابع is_numeric برای تشخیص عدد بودن مقدار استفاده کنید اگه مقدار متغییر عددی باشه true اگه نه false برمیگردونه

1

به اشتراک گذاری این پست


لینک به پست

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


<?php if(isset($_POST['nm1'])) {
$nm1 = $_POST['nm1'];
}
if(isset($_POST['nm2'])) {
$nm2 = $_POST['nm2'];
}
if(isset($_POST['nm3'])) {
$nm3 = $_POST['nm3'];
}
if(!empty($nm1 )) {
?>
کدهای مربوط به فیلد اول
<?php
}
if(!empty($nm2 )) {
?>
کدهای مربوط به فیلد دوم
<?php
}
if(!empty($nm3 )) {
?>
کدهای مربوط به فیلد سوم
<?php
}
?>

1

به اشتراک گذاری این پست


لینک به پست

ممنون آقای فخار ولی اون کدهایی که دادی خودم می دونستم میشه ولی اینجوری خیلی حجم و خطوط کد بالا میره.

شما فکر کنید برای فیلد اول باید کد زیر رو توی شرط قرار بدم:


<div id="menu">
<div class="menu">
<ul>
<li attr-catid0="1"><a attr-catid11="1" href=""><img src="" />عنوان منوی یک</a>
<ul>
<li attr-catid1="650">
<a href="">زیر شاخه منوی اصلی1</a>
<div class="new_mega_menu">
<div class="new_mega_menu_top"></div>
<div class="new_mega_menu_into">
<div class="new_block">
<h3><a href="">زیرشاخه</a></h3>
<ul>
<li attr-catid2="2072" >
<a href="">زیرشاخه</a></li>
</ul>

</div>

<img class="mega_menu_picture" data-src="" alt="اسباب بازي" title="اسباب بازي" />
</div>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<script>
$(function() {
var timer;
$(".menu > ul > li").hover(function(){
clearTimeout(timer);
$(".menu > ul > li").removeClass("new_menu_active");
$(this).addClass("new_menu_active");
$(".menu > ul > li > ul").hide();
$(this).find('ul').show();
$("#new_sub_menu").addClass("new_sub_menu_show");
});
$(".menu > ul > li").mouseleave(function(){
timer = setTimeout(function(){
$(".menu > ul > li > ul").hide();
$("#new_sub_menu").removeClass("new_sub_menu_show");
},3000);
});
});
</script>

و برای پر بودن دو فیلد کد زیر رو باید توی شرط دوم قرار بدم:


<div id="menu">
<div class="menu">
<ul>
<li attr-catid0="1"><a attr-catid11="1" href=""><img src="" />عنوان منوی یک</a>
<ul>
<li attr-catid1="650">
<a href="">زیر شاخه منوی اصلی1</a>
<div class="new_mega_menu">
<div class="new_mega_menu_top"></div>
<div class="new_mega_menu_into">
<div class="new_block">
<h3><a href="">زیرشاخه</a></h3>
<ul>
<li attr-catid2="2072" >
<a href="">زیرشاخه</a></li>
</ul>

</div>

<img class="mega_menu_picture" data-src="" alt="اسباب بازي" title="اسباب بازي" />
</div>
</div>
</li>
</ul>
</li>
<li attr-catid0="2"><a attr-catid11="2" href=""><img src="" />عنوان منوی دو</a>
<ul>
<li attr-catid1="650">
<a href="">زیر شاخه منوی اصلی 2</a>
<div class="new_mega_menu">
<div class="new_mega_menu_top"></div>
<div class="new_mega_menu_into">
<div class="new_block">
<h3><a href="">زیرشاخه</a></h3>
<ul>
<li attr-catid2="2072" >
<a href="">زیرشاخه</a></li>
</ul>

</div>

<img class="mega_menu_picture" data-src="" alt="اسباب بازي" title="اسباب بازي" />
</div>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<script>
$(function() {
var timer;
$(".menu > ul > li").hover(function(){
clearTimeout(timer);
$(".menu > ul > li").removeClass("new_menu_active");
$(this).addClass("new_menu_active");
$(".menu > ul > li > ul").hide();
$(this).find('ul').show();
$("#new_sub_menu").addClass("new_sub_menu_show");
});
$(".menu > ul > li").mouseleave(function(){
timer = setTimeout(function(){
$(".menu > ul > li > ul").hide();
$("#new_sub_menu").removeClass("new_sub_menu_show");
},3000);
});
});
</script>

حالا فکر کنید مثلا برای 20 تا فیلد یا بیشتر ، تعداد خطوط کدهایی که باید توی شرط قرار بدم چقدر زیاد میشه. ولی اگه یک شرط کلی باشه که خودش با توجه به تعداد فیلدها، تعداد کدها رو نشون بده خیلی راحت تره.

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری