PDA

View Full Version : سوال: درست كردن لينك راهنماي صفحات



numberone1
دوشنبه 02 اسفند 1389, 21:35 عصر
سلام
ميخوام براي سايتم لينك راهنماي صفحات بزارم دقيقا همين شكلي كه الان توي همين سايت برنامه نويس(بالاي صفحه) هست
درست نميدونم كه جدول ها رو به چه شكلي تعريف كنم چه فيلد هائي بايد توش داشته باشه
يه مشكل ديگه هم هست اينكه كاربر موقع ثبت پست ميتونه براي پست خودش مسير مشخص كنه مثلا
كامپيوتر > اينترنت > طراحي سايت
حالا اول ميخوام اين مسير درست توي ديتابيس ثبت بشه بعد بشه موقع نمايش پست همين مسير به همين شكل نمايش داده بشه و در آخر هم اگر كاربر روي مثلا كلمه اينترنت كليك كرد تمام پست هاي كه براي موضوع اينترنت ثبت شده نمايش داده بشه.
لطفا راهنمائي بفرمائيد

sattaryekta
سه شنبه 03 اسفند 1389, 12:32 عصر
1. برای قرار دادن Navigator بالای صفحات برای هر رکورد یک فیلد Category و SubCategory ایجاد کن.
مثلا Category یک صفحه برابر با کامپیوتر و SubCategory همان صفحه اینترنت باشد.

راه دیگر هم این است که یک فیلد به نام Parent در جدول اضافه کنی. صفحاتی که Parent آنها صفر باشد جزء صفحات اصلی سایت هستند و والدی ندارند و صفحاتی که مقدار Parent آنها بزرگتر از صفر است Child و یا زیر گروه هستند!

numberone1
سه شنبه 03 اسفند 1389, 14:49 عصر
مرسي از راهنمائيت ولي اينجوري كه شما توضيح دادين من درست متوجه نشدم بايد چيكار كنم
ميشه يه اسكريپت ساده معرفي كنيد حداقل من از روي اون نگاه كنم يا يكمي با حوصله تر توضيح بدين؟

sattaryekta
سه شنبه 03 اسفند 1389, 21:35 عصر
ابتدا این جدول را ایجاد کنید:

CREATE TABLE `test`.`pages` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`parent` INT UNSIGNED NOT NULL ,
`title` TINYTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`contents` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
) ENGINE = InnoDB;

به این جدول میتونی چندتا فیلد دیگه مثل keywords, clicks و... اضافه کنی.
آدرس صفحات شما به این صورت خواهد بود:


index.php?id=1
index.php?id=2
index.php?id=3
...

id کد صفحه را نشان می دهد.
آدرس صفحات شما به این صورت نیز میتواند باشد:


1.html
2.html
3.html
...
به شرط آنکه در فایل htaccess قطعه کد زیر را قرار دهی:


RewriteEngine on
RewriteRule ^([0-9]+).html index.php?id=$1



فایلی به نام index.php ایجاد کن و کد زیر را در آن قرار بده:


ob_start();
$id = isset($_GET["id"]) && is_numeric($_GET["id"]) ? $_GET["id"] : "1";
if($PageData = mysql_fetch_assoc(mysql_query("select * from pages where id=$id"))){
//Estefadeh az PageData Title, Keywords, Description ....
}else{
header("HTTP/1.0 404 Not Found");
die();
}


به کد زیر دقت کن:


INSERT INTO `test`.`pages` ( `id` ,
`parent` ,
`title` ,
`contents`
)
VALUES ( '1', '0', 'Home', 'Hello!'
);


این کد یک صفحه ایجاد کرد بدون والد. (با کد 1)
و به کد زیر دقت کنید:


INSERT INTO `test`.`pages` (`id`, `parent`, `title`, `contents`) VALUES ('2', '1', 'Article1', 'Hello');

کد بالا یک صفحه جدید ایجاد کرد که زیر صفحه، صفحه ای با کد 1 است.
تمام!

numberone1
شنبه 27 فروردین 1390, 02:04 صبح
حالا اگر دسته بندي ها از قبل وجود داشت مثلا شاخه كامپيوتر بود حالا ميخواهيم محصولات جديدي كه ثبت ميشه رو توي اون كتگوري ثبت كنيم + sub category ها چطور بايد اين كار و انجام بديم؟
مثلا فرض كنيد يك آگهي جديد ميخوايم در سايت ايجاد كنيم . از ليست شاخه ها شاخه آموزش رو انتخاب ميكنيم و بعد از ليست زير گروه هم زبان . فرم يك value با مقدار عددي به من بر ميگردونه
حالا لطفا از اينجا به بعد مراحل ثبت در ديتابيس و خوندنش و توضيح بدين
مرسي