امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
خطای Invalid argument supplied for foreach
نویسنده پیام
web_dev آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 4
تاریخ عضویت: آبان ۱۳۹۷

تشکرها : 9
( 6 تشکر در 4 ارسال )
ارسال: #1
خطای Invalid argument supplied for foreach
باسلام
ممنون میشم دوستان راهنمایی کنید که خطا از کجا میتونه باشه

(آخرین ویرایش در این ارسال: ۱۹-دى-۱۳۹۷, ۲۳:۱۲:۳۸، توسط web_dev.)
۱۹-دى-۱۳۹۷, ۲۲:۴۴:۰۱
ارسال‌ها
پاسخ
nImaarek آفلاین
badtrip
****

ارسال‌ها: 123
موضوع‌ها: 48
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 266
( 243 تشکر در 85 ارسال )
ارسال: #2
RE: خطای Invalid argument supplied for foreach
نوع متغیر row آرایه هست باید اینطوری نوشته بشه :


کد:
https://stackoverflow.com/questions/10258345/php-simple-foreach-loop-with-html


کد php:
   <?php foreach($array as $key=>$value): ?>
    <tr>
        <td><?php echo $key?></td>
    </tr>
    <?php endforeach; ?>

راستی شما از native php یا از framework خاصی استفاده میکنید؟

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
(آخرین ویرایش در این ارسال: ۲۵-دى-۱۳۹۷, ۲۳:۰۷:۱۴، توسط nImaarek.)
۲۵-دى-۱۳۹۷, ۲۲:۵۷:۱۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : 1نفر, babyy, lord_viper, web_dev, hadikh73
web_dev آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 4
تاریخ عضویت: آبان ۱۳۹۷

تشکرها : 9
( 6 تشکر در 4 ارسال )
ارسال: #3
RE: خطای Invalid argument supplied for foreach
سلام 
ممنون از راهنماییتون 
ولی متاسفانه روشی که فرمودید رو من نتونستم مشابه اون رو تو کدهام اجرا کنم و نتیجه بگیرم ممنون میشم کمی بیشتر توضیح دهید یا روشی که راحت تر بتونم موضوع رو حل کنم، اگر لازم باشه کدها رو هم میتونم تو پست بعدی منتشر کنم (نبده مدت کمی هست php رو شروع کردم)

بنده هنوز از فریم ورک خاصی استفاده نمیکنم که اگر موفق بشم تسلطی رو php پیدا کنم پس از اون برم طرف لاراول

(که متاسفانه  غمگین - بهینه شده برای ورژن جدید  بر خلاف میل باطنی ممکنه php رو کنار بزارم و برم سراغ asp.net چون تو محل کار ما شیرپوینت داره راه اندازی میشه و هسته اون دات نتی هست و به هرحال یه جاهایی لازم به برنامه نویسی خواهد شد.)
(آخرین ویرایش در این ارسال: ۲۷-دى-۱۳۹۷, ۱۵:۵۵:۱۴، توسط web_dev.)
۲۷-دى-۱۳۹۷, ۱۵:۵۴:۱۴
ارسال‌ها
پاسخ
nImaarek آفلاین
badtrip
****

ارسال‌ها: 123
موضوع‌ها: 48
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 266
( 243 تشکر در 85 ارسال )
ارسال: #4
RE: خطای Invalid argument supplied for foreach
کد میشه بزاری.
فریم ورک و هم برای این پرسیدم که به نظر خودم یادگرفتن یه فریم ورک مثل لاراول خیلی راحتر و خوش دستر از native هست...

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
۳۰-دى-۱۳۹۷, ۱۹:۰۸:۳۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, 1نفر
web_dev آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 4
تاریخ عضویت: آبان ۱۳۹۷

تشکرها : 9
( 6 تشکر در 4 ارسال )
ارسال: #5
RE: خطای Invalid argument supplied for foreach
باسلام

این لینک فایل بصورت کامل هست
http://s8.picofile.com/file/8349665868/CMS.rar.html

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

کد php:
  <?php
                                
@$row=listmenudefault();
 
                               foreach ($row as $val):
 
                               ?>

                              <div class="dropdown">
                                  <button class="dropbtn">درباره ما</button>
                                  <div class="dropdown-content">
                                      <li><a href="index.php">لینک اول</a></li>
                                      <li><a href="index.php">لینک دوم</a></li>
                                      <li><a href="#">لینک سوم</a></li>
                                  </div>
                              </div>
                              <?php endforeach; ?>

کد php:
function listmenudefault()
{
 
   $connection config();
 
   $sql "SELECT * FROM menu_tbl WHERE  status='1' AND chid='0' ORDER BY sort ASC";
 
   $row mysqli_query($connection$sql);
 
   while ($res mysqli_fetch_assoc($row)) {
 
       $result[]=$res;
 
   }
 
       return $result

این قسمت ها با هم مرتبط هستند نیاز به بررسی دارند

در پاسخ شما دوست عزیز 
بله لاراول خیلی خیلی خوب هست و اگر هر کسی هدفمند بخواد پیگیر باشه در انتها باید بتونه با فریم ورک پروژه هاش رو ببنده ولی روز اول که من میخواستم شروع کنم با مدرس تماس داشتم و توصیه داشتن که اول php رو یاد بگیرم و با مفاهیم و کدنویسی آشنا بشم و بعداز اون برم سراغ لاراول ...
۰۱-بهمن-۱۳۹۷, ۱۸:۵۳:۳۸
ارسال‌ها
پاسخ
nImaarek آفلاین
badtrip
****

ارسال‌ها: 123
موضوع‌ها: 48
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 266
( 243 تشکر در 85 ارسال )
ارسال: #6
RE: خطای Invalid argument supplied for foreach
بالاخره وقت کردم نگاش کنم، ببخشید دیر شد..
مختویات این menu_tbl از دیتابیس بهم نشون میدی؟
کدت مشکلی نداره به نظرم

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
۰۷-بهمن-۱۳۹۷, ۲۰:۴۹:۴۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, 1نفر
web_dev آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 4
تاریخ عضویت: آبان ۱۳۹۷

تشکرها : 9
( 6 تشکر در 4 ارسال )
ارسال: #7
RE: خطای Invalid argument supplied for foreach
(۰۷-بهمن-۱۳۹۷, ۲۰:۴۹:۴۳)nImaarek نوشته است: بالاخره وقت کردم نگاش کنم، ببخشید دیر شد..
مختویات این menu_tbl از دیتابیس بهم نشون میدی؟
کدت مشکلی نداره به نظرم

۰۸-بهمن-۱۳۹۷, ۲۳:۰۱:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : nImaarek
nImaarek آفلاین
badtrip
****

ارسال‌ها: 123
موضوع‌ها: 48
تاریخ عضویت: مهر ۱۳۸۹

تشکرها : 266
( 243 تشکر در 85 ارسال )
ارسال: #8
RE: خطای Invalid argument supplied for foreach
خب اوکی شدش.
مشکل اینجا بود که آرایه result تو فایل functions تابع listmenudefault درست پر نمیکردی. کد شما :

کد php:
function listmenudefault()
{
    $connection config();
    $sql "SELECT * FROM menu_tbl WHERE  status='1' AND chid='0' ORDER BY sort ASC";
    $row mysqli_query($connection$sql);
    while ($res mysqli_fetch_assoc($row)) {
        $result[]=$res;
    }
        return $result;
}
?>

کد درست :
کد php:
function listmenudefault()
{
    $result = [];
    $connection config();
     $sql "SELECT * FROM menu_tbl WHERE  status='1' AND chid='0' ORDER BY sort ASC";
    $row mysqli_query($connection$sql);
    if ($row){
        while ($res mysqli_fetch_assoc($row)) {
            array_push($result$res);
        }
    }
    return $result;
}
?>

راستی یه سوال توی فایل index چرا @ گذاشتی تو خط 80 ؟ اینطوری متوجه مشکل نمیشدی !
بعد هم اینکه یکم بهتر کد بزن وقتی مقداری میریزی تو یه متغیر اطمینان حاصل کن ( شادی − بهینه شده برای ورژن جدید ) که این کار درست انجام شده مثلا با گرفتن طولش یا اصلا چاپ مقادیرش، مثلا تابع config کد شما:
کد php:
function config()
{
 
   $server "localhost";
 
   $username "root";
 
   $password "";
 
   $db "cms";
 
   $connect mysqli_connect($server$username$password$db);
 
   /*"خط اول بهتر عمل میکند"*/
 
   mysqli_set_charset($connect"UTF8");
 
   mysqli_query($connect"SET NAMES 'UFT8'");
 
   return $connect;


کد درستر:

کد php:
function config()
{
 
   $server "localhost";
 
   $username "root";
 
   $password "";
 
   $db "cms";
 
   $connect mysqli_connect($server$username$password$db);
    if (
$connect->connect_error) {
        die(
"Connection failed: " $connect->connect_error);
    }
 
   /*"خط اول بهتر عمل میکند"*/
 
   mysqli_set_charset($connect"UTF8");
 
   mysqli_query($connect"SET NAMES 'UFT8'");
 
   return $connect;


یا مثلا من وقتی داشتم کدت و چک میکردم از فایل index شروع کردم و اول چک کردم خروجی تابع listmenudefault() آرایه هست یا نه!
از تابع php به اسم var_dump استفاده کردم اینطوری :
کد php:
<?php
$row
=listmenudefault();
var_dump($row);
foreach (
$row as $key):
    echo $key;
?>

البته من query رو هم عوض کرده بودم به این صورت:


کد:
$sql = "SELECT * FROM menu_tbl";

خروجیش شد:

   
من php خیلی بلد نیستم در حد دو ماه اینا کار کردم باز عذر میخوام اگه منظورم و نرسوندم یا... دست زدن - بهینه شده برای ورژن جدید 028

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them

Tell me, what you think about me
Give anonymous feedback
(آخرین ویرایش در این ارسال: ۰۹-بهمن-۱۳۹۷, ۰۰:۲۵:۴۲، توسط nImaarek.)
۰۹-بهمن-۱۳۹۷, ۰۰:۲۰:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : 1نفر, hadikh73, web_dev


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question [سوال] curl - خطای 504 Gateway Timeout crafcrab 8 2,812 ۱۹-آبان-۱۳۹۶, ۱۲:۵۱:۱۲
آخرین ارسال: crafcrab

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS