PDA

View Full Version : کمک در استفاده از 2 while در دیتابیس در فورم multiple



dotek1
یک شنبه 16 آبان 1395, 21:20 عصر
باسلام
بنده یه یک برنامه ای رو در حال کامل کردن هستم که مدیر مثلا هر تعداد بازی که بخواهد از پنل مدیریت به سایت اضافه میکنه و کاربر باید در پنل کاربریش در بخش ویرایش مشخصاتش مشخص کنه چه بازی های دوست داره انتخاب کنه و وقتی ویرایش کرد نشون بده چه بازی هایی انتخاب کرده برای این کار من از فورم select multiple استفاده کردم.
بنده میخوام وقتی کاربر بازی رو انتخاب کرد سیستم بازی های انتخاب شده رو نشون بده و selected کنه ولی سیستم قاطی میکنه . اگد کد هام نگاه کنین متوجه میشین :
کد های فورم


<select id="tokens" class="selectpicker" name='cmygames[]' multiple data-live-search="true">


کد خواندن بازی های سیستم از دیتابیس که مدیر اضافه کرده:


$result = mysqli_query($db,"SELECT * FROM permgame");
while ($row = mysqli_fetch_assoc($result)) {
echo "<option name='cmygames[]' value='". $row['gamid'].">".$row['name']. '</option>';

}

کد بازی های انتخاب شده کاربر :


$res = mysqli_query($db,"SELECT * FROM usersystem WHERE userid ='$userid' LIMIT 1");
$perm=mysqli_fetch_array($res,MYSQLI_ASSOC);
$perm_arr = explode(',',$perm['mygames']);
$i=0; while($perm_arr[$i]) { if($perm_arr[$i]==1) echo 'selected';$i++; }

مشکل اینجاست بنده میخوام در فورم یعنی در کد اول قسمت <option> تیک بخوره یعنی selected اضافه بشه که کاربر ببینه الان چه بازی هایی انتخاب کرده! برای این کار چگونه باید عمل کنم؟
بنده کد اول رو اینطوری ویرایش کردم ولی قاطی میکنه و فورم کلا به هم میریزه چون دوتا while میشه !به این صورت


$result = mysqli_query($db,"SELECT * FROM permgame");
while ($row = mysqli_fetch_assoc($result)) {
echo "<option name='cmygames[]' value='". $row['gamid']."'".$i=0; while($perm_arr[$i]) { if($perm_arr[$i]==1) echo 'selected';$i++; }">".$row['name']. '</option>';

}

لطفا هر کس فهمید کمکم کنه :ناراحت:

dotek1
دوشنبه 17 آبان 1395, 08:20 صبح
خودم مشکل فهمیدم و حل کردم خیلی ممنو از راهنمایی هاتون :| :بامزه:


<?php
$res = mysqli_query($db,"SELECT * FROM usersystem WHERE userid ='$userid' LIMIT 1");
$perm=mysqli_fetch_array($res,MYSQLI_ASSOC);
$perm_arr = explode(',',$perm['mygames']);

$result = mysqli_query($db,"SELECT * FROM permgame");
while ($row = mysqli_fetch_assoc($result)) {
$i=0;
echo "<option"; while($perm_arr[$i]) { if($perm_arr[$i]==$row['gamid']) echo ' selected ';$i++; } echo" name='cmygames[]' value='". $row['gamid']."'>".$row['name']. '</option>';

}
mysqli_close($db);
?>