• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ذخیره کردن مقدار <select> در دیتابیس و نمایش مقدار ذخیره شده
#1
درود

دوستان من تازه واردم، چند سوال داشتم

1 - من یک فرم طراحی کردم که کاربر باید از بین چند آیتم یکی رو انتخاب کنه و پس از ارسال فرم آیتمی که انتخاب شده مقدارش در دیتابیس ذخیره بشه، در کل سوالم اینه که مقدار Select باکس ها به چه صورت در دیتابیس ذخیره میشه

2 - چطور مقدار ذخیره شده مربوط به Select باکس رو نمایش بدم ؟
  پاسخ
تشکر شده توسط :
#2
1. برای اینکار چند روش وجود داره:
اول: ساخت یک جدول برای ذخیره مقادیر، استفاده از id در جدول اصلی به عنوان کلید خارجی. این روش معمولا زمانی استفاده میشه که مقادیر لیست شما ممکنه در آینده تغییر کنه یا تعداد مقادیر لیست زیاد هست.
دوم: ذخیره مقدار در جدول اصلی. که نوع فیلدش معمولا boolean، ENUM و integer هست و برای زمانی که تعداد مقادیر لیست زیاد نیست استفاده میشه.

در هر دو روش شما value عنصری که انتخاب شده رو در فیلد ذخیره میکنید و منتها اولی چون بصورت کلید خارجی هست اگر مقدارش در جدول نباشه، کوئری خطا میده. و در روش دوم خودتون باید این بررسی رو انجام بدین.

2. نمونه کد:
دقت کنید این یک کد نمونه هست و توصیه میشه از توابع mysql استفاده نکنید.
کد پی‌اچ‌پی:
<?php
$con 
mysql_connect("localhost","root","root");
$db mysql_select_db("test",$con);
get mysql_query("SELECT id,username,city_id FROM user WHERE id='1' ");
$row1 mysql_fetch_assoc($get);
$username $row1['username'];
get mysql_query("SELECT id,title FROM city");
$option '';
while(
$row2 mysql_fetch_assoc($get)){
    
$option .= '<option value = "'.$row2['id'].'" ';
    if( 
$row2['id']==$row1['city_id'] ) $option .=' selected="selected" ';
    
$option .= '>'.$row2['name'].'</option>';
}
?>
<html>
<body>
<form>
    <input name="username" value="<?php echo $username?>" type="text"/>
    <select> 
    <?php echo $option?>
    </select>
    <input type="submit" name="submit" value="edit"/>
</form>
</body>
</html> 
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : edward71
#3
درود

دوست عزیز ممنونم از پاسخ شما، اما من متوجه نشدم، ببینید من نهایت آیتم های لیست باکسم 5 تاست، برای ذخیره این 5 تا چیکار کنم، کدم رو بفرستم براتون ؟
  پاسخ
تشکر شده توسط :
#4
سلام.
خواهش.
یکبار دیگه کد رو با دقت بخونید، ابهامی توی کد وجود نداره.
دقیقا کجاش رو متوجه نشدین؟
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط :
#5
دوست عزیز کدی که دادید برای نمایش مقادیر هست ، من درج مقدار SelectBox در دیتابیس و بعد نمایش در یک صفحه دیگه رو می خوام
  پاسخ
تشکر شده توسط :
#6
سلام،
این لینک رو ببین.
غایب
  پاسخ
تشکر شده توسط : sara147 edward71
#7
(۱۳۹۳ اسفند ۱۶, ۰۳:۲۲ ب.ظ)edward71 نوشته: دوست عزیز کدی که دادید برای نمایش مقادیر هست ، من درج مقدار SelectBox در دیتابیس و بعد نمایش در یک صفحه دیگه رو می خوام

ببخشید، در بخش اول سوالتون گفتین که "کلا به چه صورت" ، برای همین برای قسمت اول، کدی قرار ندادم.
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط :
#8
(۱۳۹۳ اسفند ۱۶, ۰۴:۱۸ ب.ظ)Alaa نوشته: سلام،
این لینک رو ببین.

دوست عزیز خیلی ممنونم از شما، فهمیدم که ذخیره کردن مقادیر مثل ورودی های متنی هست و فرقی نداره، اما برای نمایشش چیکار کنم ؟ میشه از روی همون سایتی که لینک دادید و مثال خودش برای Select box توضیح بدید؟

(۱۳۹۳ اسفند ۱۶, ۰۴:۴۵ ب.ظ)sara147 نوشته:
(۱۳۹۳ اسفند ۱۶, ۰۳:۲۲ ب.ظ)edward71 نوشته: دوست عزیز کدی که دادید برای نمایش مقادیر هست ، من درج مقدار SelectBox در دیتابیس و بعد نمایش در یک صفحه دیگه رو می خوام

ببخشید، در بخش اول سوالتون گفتین که "کلا به چه صورت" ، برای همین برای قسمت اول، کدی قرار ندادم.

خواهش می کنم ، شما ببخشید که من منظورم رو خوب نرسوندم
  پاسخ
تشکر شده توسط :
#9
سلام مجدد،
برای نمایش که کدش رو دوستمون گذاشتن، حالا تو مثالی که گذاشتن مقادیر توی یک selectbox نمایش داده میشه، ولی شما می‌خوای خالی نمایش بدی.
یه همچین چیزی باید بنویسی.
کد پی‌اچ‌پی:
<?php
$get 
mysql_query("SELECT * FROM [table] WHERE ID = '?' ");
$row mysql_fetch_assoc($get);
echo 
"مقدار انتخاب شده : " $row['selectedItem'];
}
?>

اگه توی بازیابی اطلاعات از دیتابیس مشکل داری این لینک رو ببین.
و اینکه از توابع mysql هم استفاده نکن. ( جایگزینش می‌تونه mysqli یا pdo باشه. )
غایب
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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