PDA

View Full Version : مشکل در ایجاد فیلد دیتابیس



zatron
پنج شنبه 20 مهر 1391, 16:13 عصر
سلام خدمت اساتید سایت اقا من اول پروژم به مشکل خوردم کمک کنید
پروژه من در مورد ساخت سایت فروش قطعات کامپیوتر مثل Motherboard,Ram,Hard Disk,Vga و ...
میباشد همون جور که میدونید مثلا Mainboard هزارتا مدل با ویژگی های خواص داره هر مدل کلی توضیحات داره
که با مین برد بقیه فرق داره همین مشکل برای Ram,Hard Disk,Vga و ... صدق میکنه
حالا من میخوام بدونم چجوری فیلدهای دیتا بیسم رو درست کنم ؟
مثلا

اینجا رو ببینید خواهشا ببینید کارم گیره (http://bazarreza.ir/irannovin/products/36880-Gigabyte-GA-P61-DS3-B3)

حالا با اینجا مقایسه کنید (http://bazarreza.ir/ghaem/products/36384-ASRock-H61M-U3S3)

zatron
پنج شنبه 20 مهر 1391, 17:01 عصر
اقا راهنمایی کنید

plague
پنج شنبه 20 مهر 1391, 20:54 عصر
دوتا تیبل بساز
یکی فقط مدل ها رو نگه میداره
اسمشون و یه شناسه یا همون آیدی

تو تیبل دوم که مین برد ها ثبت میشن یه فیلد بزار به اسم
model_id
که از تیبل اول آیدی مدل خاص رو میگیره میزاره تو تیبل دوم

zatron
پنج شنبه 20 مهر 1391, 21:07 عصر
خدا خیرت بده
اما مشکل من این نیست مشکل من تعداد فیلدهایی که با ید باشه مثلا فیلدهای مین برد چه چیزایی یعنی چه چیزایی رو با هم مشترک دارن

zatron
پنج شنبه 20 مهر 1391, 21:09 عصر
داداش این دوتا سایت بالا رو دیدید باید به اضای تمام اون اطلاعات فیلد بسازم

کامروا
جمعه 21 مهر 1391, 00:18 صبح
شما باید تمام فیلدها رو در جدول بسازین و اونهایی که پر هست رو نشون بدید.

plague
جمعه 21 مهر 1391, 11:46 صبح
همونطور که دوستمون گفت شما همشون رو بزار برای هرکدوم اونی که لازمه رو پر کن لازم نیست همشون برای تک تک مادربرد ها پربشن

zatron
جمعه 21 مهر 1391, 12:25 عصر
شما باید تمام فیلدها رو در جدول بسازین و اونهایی که پر هست رو نشون بدید.
چه جوری فقط فیلدهایی رو که پر ستند رو نشون بدم مثلا


<?PHP
$server=mysql_connect("localhost","root","");
mysql_select_db("Sample",$server);
$table=mysql_query("Select * from Motherboard",$server);
while($record=mysql_fetch_assoc($table))
{
echo $record["model"].'<br>'.$record["company"].'<br>';
}
?>

اینجوری اگه فیلد company خالی باشه یه فاصله میندازه سایت زشت میشه
خواهش میکنم کمک کنید

mamali-mohammad
جمعه 21 مهر 1391, 12:34 عصر
if(!empty($record["model"]) {
echo $record["model"];
} else {
echo "";
}

zatron
جمعه 21 مهر 1391, 13:08 عصر
if(!empty($record["model"]) {
echo $record["model"];
} else {
echo "";
}

پس اگه صدتا فیلد دارم باید صدتا If بنویسم :متعجب:

mamali-mohammad
جمعه 21 مهر 1391, 13:41 عصر
از switch استفاده کنید
یا یه کار دیگه کنید
در دیتابیس از یه قانون خاص برای نام گذاری استفاده کنید : f1,f2,f3 و ...
حالا اطلاعات رو بیارید در حلقه و از f1 تا اخر حلقه خودش اتوماتیک چک میکنه
در ضمن دوست عزیز ، سایت های بزرگ و استاندارد رو باید وقت خوبی بزارید براش