PDA

View Full Version : من یه تازه کارم، ارتباط ساده با PHP/MySQL



jafar_tavakolian
دوشنبه 11 شهریور 1387, 06:46 صبح
فرض کنید قسمتی از طراحی یک فروشگاه آنلاین
یک جدول Product که برای محصولات است
و یک جدول Category که فهرست و شاخه های محصولات است. برای مثال سی دی، دی وی دی و ...
در جدول Category شامل ستون های CatID, CatName می شود
جدول Product شامل ستون های ProID, CatID, ProNAME, ProText, ProPrice می باشد
که CatID که در جدول Product تعریف کرده لینک داده می شود که CatID جدول Category

در درس شیرین پایگاه داده ، استادمان بر روی SQL Server و Access نشان داد که به راحتی می توان لینک را برقرار کرد و ارتباط را درست کرد تا دیگر اطلاعات را تنها در یک جا ذخیره کنیم . مثلا مثال بالا دیگه تو جدول Product ما CatID رو دوباره ننویسیم بلکه آدرس اون رو بذاریم که بره به جدول Category و Cat ID رو از اونجا بخونه
و در جای دیگه مثال ویندوزیش shortcut اش رو گذاشت تا بره از فلان آدرس اطلاعات رو بخونه

حالا من می خوام بدونم این کار رو در mysql و PHP چه طوری باید انجام بدم؟

Lagon666
دوشنبه 11 شهریور 1387, 07:33 صبح
دوست عزیز
این پست شما خیلی کلیه. من به شما پیشنهاد می کنم که قبل از کار با PHP (یا همزمان کار با PHP) یک کتاب در زمینه MySQL و دستورات اون مطالعه بفرمایید.

بهترین نقطه ی آغاز:
آموزش PHP پایه (http://www.w3schools.com/PHP/default.asp)
آموزش PHP حرفه ای (http://www.w3schools.com/PHP/php_date.asp)
آموزش PHP و MySQL (http://www.w3schools.com/PHP/php_mysql_intro.asp)
آموزش PHP و XML (http://www.w3schools.com/PHP/php_xml_parser_expat.asp)
آموزش PHP و AJAX (http://www.w3schools.com/PHP/php_ajax_intro.asp)
و... (در w3schools.com (http://www.w3schools.com/PHP))

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

jafar_tavakolian
دوشنبه 11 شهریور 1387, 08:03 صبح
من با مفاهیم Query نوشتن، وصل شدن به دیتا بیس و اینها آشنام تو پی اچ پی
مشکل من یه چیز دیگه است
یک جدول دارید به نام Category که 2 تا فیلد داره
CatID, CatName
یک جدول دیگه دارید به نام Product که 5 تا فیلد داره
ProID, CatID, ProNAME, ProText, ProPrice

حالا CatID در جدول Product چیزی ما نباید بهش اضافه کنیم، بلکه باید بره به CatID جدول اولی وصل بشه
حالا متوجه منظورم شدید؟

Lagon666
دوشنبه 11 شهریور 1387, 09:02 صبح
برداشت من: شما می خواهی CatName محصول در کنار نام محصول چاپ بشه. یعنی با کمک CatID که در جدول Product هست بره به جدول Category و نام گروه یا همون CatName رو به شما بده.



$cat_id=شماره ی گروه محصول;
// خوانده میشه Products ای که از جدول CatID

$result=mysql_query("SELECT CatName FROM Category WHERE CatID='$cat_id'");

if($row=mysql_fetch_array($result)){
$cat_name=$row['CatName'];
}

sama01
دوشنبه 11 شهریور 1387, 09:50 صبح
منظور دوستمون ایجاد relation بین جداول هست.

sama01
دوشنبه 11 شهریور 1387, 10:00 صبح
این رو ببین:


CREATE TABLE child_table(
foo INT,
bar INT,
FOREIGN KEY (bar) REFERENCES parent_table(parent_key)
ON UPDATE CASCADE ON DELETE SET NULL


اگر نیاز به اطلاعات بیش‌تر داشتی یه جستجو برای این عبارت بکن. لینک‌های خوبی به دست می‌آری.
create relation in mysql

مثلا این: Creating MySQL Relationships (http://www.ozzu.com/programming-forum/question-creating-mysql-relationships-t29250.html)