PDA

View Full Version : سوال: دریافت مقدار اولیه combo Box از دیتا بیس



soheilsaghian
یک شنبه 13 بهمن 1392, 14:42 عصر
روز بخیر
در پنل مدیریتی، قسمت ویرایش کاربر ها زمانی که میخواهم ویرایش کنم تمام مقادیر را با دستور Select از جداول فراخوانی میکنم و در Text box میریزم تا مدیر بتواند ویرایش را انجام بدهد و در نهایت ذخیره کند. تا اینجای کار هیچ مشکلی نیست.

اما در قسمت تعیین نوع کاربر که یک combo box دارم که عناوین " کاربر معمولی، کارشناس، مدیر " و مقادیر "1 و 2 و 3" را دارد.
در هنگام ویرایش مقدار به نمایش در آمده این Combo Box همیشه کاربر معمولی هست. چون اولین گزینه ای می باشد که در هنگام ساخت آن وارد شده است.

حال چگونه میتوانم مقدار به نمایش در آمده داخل این Combo Box را از دیتا بیس کنترل کنم ؟
برای واضح تر شدن پرسش چند عکس قرار میدهم:

MMSHFE
یک شنبه 13 بهمن 1392, 14:49 عصر
موقعی که عناصر رو دارین درج میکنید، value رو با value موجود در دیتابیس چک کنید و اگه برابر بود، خاصیت selected رو بهش اضافه کنید. مثال:


foreach($levels as $id => $level) {
echo '<option' . ($id == $user['level'] ? ' selected="selected"' : '') . ' value="' . $id . '">' . $level . '</option>';
}

soheilsaghian
یک شنبه 13 بهمن 1392, 20:55 عصر
سلام
از اینکه به سوال من جواب داده اید بسیار ممنون هستم.
اما من خیلی آسنایی ندارم با php و با حقه foreach کار نکردم.
من همیشه اطلاعات را به کمک mysql_fetch_assoc از پایگاه داده واکشی می کنم و هر خانه که بخواهم با دستور زیر از پایگاه در می آورم:



$userDetail = selectusers();
$detail = mysql_fetch_assoc($userDetail);


selectuser() یک تابع هست که آی دی یوزر میگیرد و تمام فیلد ها را بر می گرداند.
با mysql_fetch_assoc هم مقادیر در متغیر ریخته می شود و با حلقه while واکشی میکنم.

ممنون میشوم کمی در مورد استفاده از foreach توضیح دهید چگونه combo box را مقدار بدهم.
ممنون از توجه شما