PDA

View Full Version : سوال: درخواست کمک در مورد ایجاد تریبون آزاد



soroush.r70
پنج شنبه 29 دی 1390, 17:50 عصر
دوستام من یه صفحه ای دارم به نام tribune.php که داخل این صفحه یه عنوان قرار می گیره که مثلا موضوع بحث امروزه و وقتی روی هر موضوع کلیک بشه می ره به صفحه comment.php که هر نفر می تونه در مورد این موضوع بحث کنه و نظر خودشو ارسال کنه

این صفحه tribune.php هست.

function tribune()
{
$sql="select * from `tbl_tritext` ";
$res=mysql_query($sql);
while($row=mysql_fetch_assoc($res))
{
echo'
<center><a href="comment.php?id='.$row["id"].'">'.$row["title"].'</a></center>
<br>
';
}
}


این عنوان از جدول tbl_tritext فرا خوانی می شه و به صورت لینک می باشد و روش کلیک می شه می ره به صفحه comment.php

خوب در صفحه comment.php من یه فرم دارم که کاربران نظرات خودشونو در مورد اون موضوع قرار می دن
تمامی نظرات داخل جدول tbl_comment ذخیره می شه .

مشکلی که اینجا وجود داره نمی دونم چطوری فقط اون نظراتی رو نشون بده مربوط به اون عنوان باشه

یعنی وقتی روی عنوان "برنامه نویسی" کلیک کرد و رفت به صفحه comment.php?id=1 و کاربر نظر داد فقط نظرات مزبوط به اون موضوع نشون داده بشه.

لطفا اگه کسی می تونه بگه چطوری انجام بدم.

سعی کردم توضیح کامل باشه حالا نمی دونم اگه سوالی هست بگید.

djsaeedkhan
پنج شنبه 29 دی 1390, 18:30 عصر
با سلام
کاری که شما می تونید انجام بدید اینه که یه آیدی منحصر به فرد(auto increment) برای مطلبتون در نظر بگیرید. و در لینکی که به صفحه کامنت ها میره این رو هم اضافه کنید commect.php?topic_id=3 وقتی به صفحه کامنت می روید می تونید از این مقدار استفاده کنید.
وقتی می خواید درج کنید بازهم نیاز به یه آیدی منحصر به فرد برای هر نظر دارید و یه ستون دیگه که نشون میده این نظر مربوط به کدام دسته هست که اینجا 3 هست.
وقتی هم خواستید نمایش بدید نطر ها رو می گید اون هایی رو نمایش بده که ستون (نظر مربوط به فلان تاپیک هست) =3 هست.



<form action="?save_nazar&show=<?php echo $_GET['show'];?>" method=post>
<input type=hidden name=film value=<?php echo $iid;?>>
<font color="#FFFFFF">نام: <input type=text name=nam>
ایمیل: <input type=text name=email>
نظر: <input type=text name=nazar size="48">
<input type=submit value=ثبت>
</font>
</form>
<p align="center">

<font color="#FFFFFF"><span style="background-color: #71A2CB">

<?php
if(isset($_GET["save_nazar"]))
{
$iid=$_POST["film"];
$nam=$_POST["nam"];
$email=$_POST["email"];
$nazar=$_POST["nazar"];
$sql="insert into nazarat(`topic`,`matn`,`sender`,`what_topic`)value s('$nam','$nazar','$email','$iid')";
$result=mysql_query($sql);
if($result) echo "با موفقیت ثبت شد";
else echo "متاسفانه ثبت نشد";
}
?></span></font>

و تمام.

soroush.r70
جمعه 30 دی 1390, 13:12 عصر
دوست من شناسه اصلی من یا همون id من auto increment هستش چیزی که من از گفته شما دستگیرم شد اینه که من یه فیلد دیگه به نام lid یا هرچی به جدولم اضافه کنم که در واقع شناسه ثبت نظر من یاشه و وقتی هر نظر ثبت می شه همراش یه lid هم ثبت بشه در واقع وقتی به صفحه comment.php?id=2 می ره تمامی نظراتی که داخل این صفحه ثبت می شن باید با lid=2 ثبت بشن درسته

نظر شما چیه

djsaeedkhan
جمعه 30 دی 1390, 13:54 عصر
سلام
بله همین که می فرمایید هست.
پس شد
در جدول تاپیک ها یک نام منحصر به فرد برای هر تاپیک
در جدول نظرات یک نام منحصر به فرد برای هر نظر و یک ستون دیگر که مشخص کننده آیدیه تاپیک مورد نظر است.

یعنی

select * from nazar where topic=1
insert into nazar (matn,onvan,topic) values('matn','onvan','1')

soroush.r70
جمعه 30 دی 1390, 14:52 عصر
خوب اینجا یه مشکلی وجود داره شما گفتی where topic=1 درسته ولی وقتی که من می رم به صفحه comment.php?id=3 شماره این id باید برای نظرات اون صفحه باشه یعنی چی .یعنی تمامی نظرات اون صفحه با شماره شناسه 3 یاید ذخیره بشن که این عدد 3 در فیلد lid مربوط به هر نظر ذخیره می شه حالا من وقتی اینو select می کنم دیگه نمی تونم بنویسم where=3 چون من برای تمامی نظراتم در تمامی صفحات فقط از یک دستور select استفاده می کنم اگه بنویسم 3 می شه
من یه چیزی می گم ببین درسته یا نه باید بنویسم where lid=$lid بعد ["ال آی دی "]lid=$row$ کنم اون فارسی نوشتم همون lid هست

فقط نمی دونم وقتی وارد صفحه comment.php?id=3 می شیم چطوری شناسه این id که 3 هست برای تمامی نظرات اون صفحه گرفته بشه یعنی وقتی id=3 بود نظرات موقع ذخیره شدن با lid=3 ذخیره بشن و نشون بدن و موقع فراخوان نظرات این صفحه فقط نظرات مربوط به این صفحه گرفته بشه

djsaeedkhan
جمعه 30 دی 1390, 18:59 عصر
سلام
یه لینک میذاری اینجوری

<a href=show_topic?id=123>سخت افزار</a>

وقتی به صفحه مورد نظر رفتی یه آیدی 123 داری


<form action=save_comment.php method=post>
<input type=hidden name=topic_id value=<?php echo $_GET["id"];?>
<input type=text name=nazar >
</form>

وقتی فرم پر شد و به صفحه ثبت رفتی

$topic_id=$_POST["topic_id"];
$nazar=$_POST["nazar"];


insert into comment(topic_id,nazar) values(topic va nazar);

خوب وقتی در صفحه نمایش سخت افزار هست کوری می نویسی که

select * from comment where topic_id='$_GET["id"]"

تمام