راکت
حل شده

کار نکردن while بعد از while

12 پاسخ

سلام
وقتی از یک while استفاده میکنم و میخوام یک while دیگه قرار بدم فقط while اولی کار میکنه مشکل از کجاست؟ 🤔

<?php 
    $link = mysqli_connect('127.0.0.1:4306', 'root', '', 'blog');
    $SQL = "SELECT DISTINCT category from post";
    $result = mysqli_query($link, $SQL);    
?>

<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <?php while($category = mysqli_fetch_assoc($result)){ ?>
        <?= $category['category'] ?>
    <?php } ?>
    <?php while($category= mysqli_fetch_assoc($result)){ ?>
        <?= $category['category'] ?>
    <?php } ?>
</body>
</html>

@websaz

ثبت پرسش جدید

پاسخ‌ها

12
سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

بهترین پاسخ

سلام باید فقط یکبار fetch کنید. می تونی بالا یک متغیر با نام $categories تعریف کنی بعد با foreach استفاده کنی. مثلا:

$categories = mysqli_fetch_all($result, MYSQLI_ASSOC);

<?php foreach($categories as $category){ ?>
    <?= $category['category'] ?>
<?php } ?> 
محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

باید وایل اولی تموم بشه تا بقیه کدا اجرا بشه

سجاد مولایی
سجاد مولایی
@mosajad987

تخصص: برنامه نویس وب::python::Django::php::asp

خب چطوری؟

شاید پاسخ شما همین‌جا باشد

محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

و همچنین در خط 15 یک فاصله بین $category و == باید قرار بدید

سجاد مولایی
سجاد مولایی
@mosajad987

تخصص: برنامه نویس وب::python::Django::php::asp

قرار دادم ولی خطای Undefined variable $category میده

محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

متغیر $category رو اصلا تایین نکردید

سجاد مولایی
سجاد مولایی
@mosajad987

تخصص: برنامه نویس وب::python::Django::php::asp

مگه نگفتین تو خط 15 برای category بجای = از == این استفاده کنم خب == برای وقتی هست که میخوایم متغیر چک بشه ولی من از = استفاده کردم که mysqli_fetch_assoc($result) ریخته بشه تو category

محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

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

سجاد مولایی
سجاد مولایی
@mosajad987

تخصص: برنامه نویس وب::python::Django::php::asp

while اولی کار میکنه ولی while دوم نه
@mimsadAlef

سجاد مولایی
سجاد مولایی
@mosajad987

تخصص: برنامه نویس وب::python::Django::php::asp

توضیح تصویر رو وارد کنید

باید دوبار این رو بنویسه

سجاد مولایی
سجاد مولایی
@mosajad987

تخصص: برنامه نویس وب::python::Django::php::asp

پارامتر دوم mysqli_fetch_all چی میگیره؟
@websaz

سبحان مولایی
سبحان مولایی
@websaz

تخصص: برنامه‌نویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native

همون MYSQLI_ASSOC رو می گیره این متغیر به صورت پیش فرض در php وجود داره

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام