سجاد مولایی
3 سال پیش توسط سجاد مولایی مطرح شد
12 پاسخ

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

سلام
وقتی از یک 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


ثبت پرسش جدید
سبحان مولایی
تخصص : برنامه‌نویس وب: Python ::...
@websaz 3 سال پیش آپدیت شد
1

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

$categories = mysqli_fetch_all($result, MYSQLI_ASSOC);

<?php foreach($categories as $category){ ?>
    <?= $category['category'] ?>
<?php } ?> 

محمدصادق عبداللهی
تخصص : junior full stack developer
@mimsadAlef 3 سال پیش مطرح شد
0

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


سجاد مولایی
تخصص : برنامه نویس وب::python::Django...
@mosajad987 3 سال پیش مطرح شد
0

خب چطوری؟


محمدصادق عبداللهی
تخصص : junior full stack developer
@mimsadAlef 3 سال پیش مطرح شد
0

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


سجاد مولایی
تخصص : برنامه نویس وب::python::Django...
@mosajad987 3 سال پیش مطرح شد
0

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


محمدصادق عبداللهی
تخصص : junior full stack developer
@mimsadAlef 3 سال پیش مطرح شد
0

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


سجاد مولایی
تخصص : برنامه نویس وب::python::Django...
@mosajad987 3 سال پیش مطرح شد
0

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


محمدصادق عبداللهی
تخصص : junior full stack developer
@mimsadAlef 3 سال پیش مطرح شد
0

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


سجاد مولایی
تخصص : برنامه نویس وب::python::Django...
@mosajad987 3 سال پیش آپدیت شد
0

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


سجاد مولایی
تخصص : برنامه نویس وب::python::Django...
@mosajad987 3 سال پیش مطرح شد
0

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

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


سبحان مولایی
تخصص : برنامه‌نویس وب: Python ::...
@websaz 3 سال پیش آپدیت شد
1

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

$categories = mysqli_fetch_all($result, MYSQLI_ASSOC);

<?php foreach($categories as $category){ ?>
    <?= $category['category'] ?>
<?php } ?> 

سجاد مولایی
تخصص : برنامه نویس وب::python::Django...
@mosajad987 3 سال پیش آپدیت شد
0

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


سبحان مولایی
تخصص : برنامه‌نویس وب: Python ::...
@websaz 3 سال پیش مطرح شد
1

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


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

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