PDA

View Full Version : سوال: راهنمایی در مورد نظر خواهی



soroush.r70
پنج شنبه 06 بهمن 1390, 11:49 صبح
دوستان من دارم یه سیستم ثبت نظر درست می کنم که دو تا صفحه داره و دوتا جدول

صفحه اول مربوط به موضوعات می شه که موضوع از داخل جدول اولی فراخوانی می شه و به صورت لینک می باشد که می ره به صفحه ثبت نظرات

صفحه دوم که یه فرم داره و نمایش نظرات و یک جدول که همه نظرات داخل اون جدول ذخیره می شن


حالا من می خوام روی صفحه اول وقتی روی موضوع کلیک کردم بره به صفحه دوم و بشه نظر ثبت کرد و فقط نظرات مربوط به اون موضوع که روش تو صفحه اول کلیک شده رو نشون بده

صفحه اول مثلا کلیک روی موضوع "جوانان" رفتن به صفحه دوم و ثبت نظرات و نشان دادن نظرات با موضوع "جوانان"


برای این کار باید چی کار کنم.

ravand
پنج شنبه 06 بهمن 1390, 16:25 عصر
اين تاپيك رو بخون: http://barnamenevis.org/showthread.php?317272-%D8%A7%D9%8A%D8%AC%D8%A7%D8%AF-%D9%82%D8%B3%D9%85%D8%AA-%D9%86%D8%B8%D8%B1-%D8%AF%D9%87%D9%8A%D8%AF-%D8%A8%D8%B1%D8%A7%D9%8A-%D8%B3%D8%A7%D9%8A%D8%AA&p=1392045#post1392045

soroush.r70
جمعه 07 بهمن 1390, 10:04 صبح
جناب ravand من اسکریپت نظرخواهیم به صورت ایجکس هست . فایلشو می ذارم ببینین به چه صورته ممنون

ravand
جمعه 07 بهمن 1390, 10:08 صبح
اگه بخوايم براي هر پست يك قسمت نظر دهيد اختصاص بديم بايد چيكار كنيم؟

soroush.r70
جمعه 07 بهمن 1390, 10:13 صبح
خوب دیگه منم همین کارو دارم می کنم شما اولین پست رو بخون من همین کارو دارم می کنم یه صفحه دارم موضوع دارم روی موضوع زدم می ره به صفحه نظرخواهی فقط مشکلی که وجود داره می خوام نظرات مربوط به همون موضوع نشون داده بشه

soroush.r70
جمعه 07 بهمن 1390, 12:30 عصر
منتظر جوابم

colors
جمعه 07 بهمن 1390, 13:46 عصر
دوستان من دارم یه سیستم ثبت نظر درست می کنم که دو تا صفحه داره و دوتا جدول

صفحه اول مربوط به موضوعات می شه که موضوع از داخل جدول اولی فراخوانی می شه و به صورت لینک می باشد که می ره به صفحه ثبت نظرات

صفحه دوم که یه فرم داره و نمایش نظرات و یک جدول که همه نظرات داخل اون جدول ذخیره می شن


حالا من می خوام روی صفحه اول وقتی روی موضوع کلیک کردم بره به صفحه دوم و بشه نظر ثبت کرد و فقط نظرات مربوط به اون موضوع که روش تو صفحه اول کلیک شده رو نشون بده

صفحه اول مثلا کلیک روی موضوع "جوانان" رفتن به صفحه دوم و ثبت نظرات و نشان دادن نظرات با موضوع "جوانان"


برای این کار باید چی کار کنم.

درود

دوست عزیز میتونی برای هر موضوعی که تو صفحه اولت داری یه ID تو بانک داشته باشی که وقتی این موضوع رو انتخاب کردن با استفاده از GET اونو به صفحه دوم بفرست ( ID رو میگم ) بعد تو جدول دومت یه فیلد رو اختصاص بده به ID موضوعات و هر نظری که مقدار این فیلدش برابر با ID موضوع بود رو نمایش بده و هر نظری هم که ثبت میشه رو اون مقدار فیلدش رو برابر با ID موضوع قرار بده. مثلا



<?php
$id = $_GET['id'];

$sql = "SELECT * FROM `comments` WHERE `CatId`='$id';";
$query = mysql_query($sql);
?>



مثلا من اینجا CatId رو به عنوان فیلد مشخص کننده موضوع انتخاب کردم که باید هر نظری که برای هر موضوعی ثبت میشه، مقدارش CatId اون برابر با ID موضوع باشه

ravand
جمعه 07 بهمن 1390, 14:30 عصر
ميشه يه كم بيشتر توضيح بديد؟

Reza1607
جمعه 07 بهمن 1390, 14:39 عصر
كدوم قسمت صحبت هاي دوستمون رو متوجه نشدين ايشون كه خيلي خوب توضيح دادن

colors
جمعه 07 بهمن 1390, 15:00 عصر
ببین هر موضوعی رو که ایجاد میکنی یه ID بهش بده که میتونی تو بانک MySql میتونی AUTO_INCREMENT و Index = PRIMARY قرار بده بعدش وقتی که یه موضوعی رو اضافه میکنی خودکار یه ID میگیره
مثلا موضوع : آموزش برنامه نویسی با آی دی : 1

خوب تو صفحه اول باید اینجوری لینکتو تعریف کنی
<a href="page2.php?id=1">آموزش برنامه نویسی</a>
خوب وقتی رو این لینک کلیک بشه ID این موضوع رو به صفحه page2 میفرسته که اونجا باید اینطوری رفتار کنی

اول ID که از طریف متد GET ارسال شده رو میگیریم
$id = $_GET['id'];

بعد یه فرم واسه ثبت نظرات میزاریم که یه INPUT مخفی واسش میسازی که این ID رو واست بتونه ذخیره و ارسال کنه
<input type="hidden" name="id" value="<?php echo $id; ?>" />

بعد باید جدول دوم تو بانک اطلاعاتیت رو یه جوری بسازی که قادر به ذخیره مثلا 3 فیلد باشه ( ID - TEXT - CatID ) بعد ID که کلید اصلی میشه و مقدار text با متن کاربر پر میشه و مقدار CatID هم با مقداری که از INPUT مخفی میگیری پر میکنی که همون ID موضوع هستش

برای نمایش نظرات هم باید بگی رکوردهای که مقدار CatID اونها برابر با ID موضوع باشه رو نشون بده و اگه هیچ نظری با این خصوصیت نباشه هیچی نمایش نمیده و وقتی که نظر جدیدی ثبت بشه مقدار CatID اون با مقدار ID موضوع یکی میشه و در این صورت تنها این نظر نمایش داده میشه


<?php$id = $_GET['id']; $sql = "SELECT * FROM `comments` WHERE `CatId`='$id';";$query = mysql_query($sql);?>

نمیدونم گرفتی؟‍‍!

soroush.r70
جمعه 07 بهمن 1390, 15:03 عصر
دوستان من به این صورت انجام دادم لطفا راهنمایی کنین که خیلی واجبه ممنون

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

<?php
if(empty($_GET["id"]))
{
tribune();
}
else
{
showtribune($_GET["id"]);
}
?>


صفحه مربوط به func.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>
';
}
}
/////////////////////////////////////////////////////////////////////////////////
function showtribune()
{
$resultSet = mysql_query("select * from comment WHERE `CatId`='$id'");
if(mysql_num_rows($resultSet))
{
while($resultRow = mysql_fetch_array($resultSet))
{
$name = stripslashes($resultRow['name']);
$comment = stripslashes($resultRow['comment']);
$date = $date_added = date($resultRow['date_added']);

echo'<div class="comment_holder">
<div id="comment_text"><div id="date_posted"><b style="color:#FF0;">='.$name.'&nbsp;&nbsp;گفته است:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;='.$dat e.'</div>='.$comment.'</div></div>';
}
}
else
{
echo '<span class="no_comments" dir="rtl" style="text-align:center; padding-left:150px;">هنوز هیچ نظری ثبت نشده است.</span>

</div>
<table border="0" cellpadding="4" cellspacing="0" class="comment_table">
<tr>
<td>نام و نام خانوادگی:</td>
<td><input type="text" name="name" id="name" size="30" style="color:#333;"></td>
</tr>
<tr>
<td>پست الکترونیک:</td>
<td><input type="text" name="email" id="email" dir="ltr" size="30" style="color:#333;"></td>
</tr>
<tr>
<td valign="top">نظر شما :</td>
<td><textarea name="comment" id="comment" rows="5" cols="30" style="color:#333;"></textarea></td>
</tr>
<tr>
<td></td>
<td align="center"><input type="button" value="ثبت بحث" id="submit" style="color:#000; cursor:pointer;">&nbsp;<img src="images/loading.gif" id="loading"></td>
</tr>
</table>';
}
}




دوباره می گم من دوتا جدول دارم یکی برای موضوعاته که روش کلیک بشه می ره به صفحه ثبت نظرات مربوط به اون موضوع که تمامی نظرات داخل جدول دیگه ای ثبت می شن

مشکل اینجاست نظرات ثبت می شن ولی همه نظرات داخل همه موضوعات نشون می دن که باید نظرات مربوط به هر موضوع نشون داده بشن


خواهشا خواهشا یکی این مشکلو حل کنه که گرفتار شدم تا یه جاهایی خودم پیش رفتم ولی گیج شدم

soroush.r70
شنبه 08 بهمن 1390, 12:59 عصر
ما که هنوز جوابمون رو نگرفتیم

soroush.r70
یک شنبه 09 بهمن 1390, 10:24 صبح
ببین هر موضوعی رو که ایجاد میکنی یه ID بهش بده که میتونی تو بانک MySql میتونی AUTO_INCREMENT و Index = PRIMARY قرار بده بعدش وقتی که یه موضوعی رو اضافه میکنی خودکار یه ID میگیره
مثلا موضوع : آموزش برنامه نویسی با آی دی : 1

خوب تو صفحه اول باید اینجوری لینکتو تعریف کنی
<a href="page2.php?id=1">آموزش برنامه نویسی</a>
خوب وقتی رو این لینک کلیک بشه ID این موضوع رو به صفحه page2 میفرسته که اونجا باید اینطوری رفتار کنی

اول ID که از طریف متد GET ارسال شده رو میگیریم
$id = $_GET['id'];

بعد یه فرم واسه ثبت نظرات میزاریم که یه INPUT مخفی واسش میسازی که این ID رو واست بتونه ذخیره و ارسال کنه
<input type="hidden" name="id" value="<?php echo $id; ?>" />

بعد باید جدول دوم تو بانک اطلاعاتیت رو یه جوری بسازی که قادر به ذخیره مثلا 3 فیلد باشه ( ID - TEXT - CatID ) بعد ID که کلید اصلی میشه و مقدار text با متن کاربر پر میشه و مقدار CatID هم با مقداری که از INPUT مخفی میگیری پر میکنی که همون ID موضوع هستش

برای نمایش نظرات هم باید بگی رکوردهای که مقدار CatID اونها برابر با ID موضوع باشه رو نشون بده و اگه هیچ نظری با این خصوصیت نباشه هیچی نمایش نمیده و وقتی که نظر جدیدی ثبت بشه مقدار CatID اون با مقدار ID موضوع یکی میشه و در این صورت تنها این نظر نمایش داده میشه


<?php$id = $_GET['id']; $sql = "SELECT * FROM `comments` WHERE `CatId`='$id';";$query = mysql_query($sql);?>

نمیدونم گرفتی؟‍‍!



من وقتی این دستور عمل رو انجام می دم خطای زیر رو می ده چرا...؟

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in H:\xampp\htdocs\26\comment.php on line 58

soroush.r70
یک شنبه 09 بهمن 1390, 11:10 صبح
این مشکل بالایی حل شد و یه مشکل دیگه به وجود اومد مشکل اینه که تمام catid رو برابر با صفر قرار می ده و وقتی نظر ثبت می کنم نظر ثبت می شه و وقتی صفحه رو refresh کنم تمامی نظرات از داخل صفحه پاک می شه ولی داخل بانک وجود داره


لطفا منو راهنمایی کنین فعلا که خودم سوال می کنم و جواب می دم

soroush.r70
دوشنبه 10 بهمن 1390, 10:28 صبح
راهنمایی دوستان

ravand
شنبه 27 خرداد 1391, 11:52 صبح
من قسمت ثبت نظر رو ساختم ولی نتونستم پاسخ به نظر رو که در قسمت مدیریت انجام میشه و مدیر به نظر پاسخ میده رو بسازم.
لطفا راهنمایی کنید.
متشکرم.

ravand
شنبه 27 خرداد 1391, 19:09 عصر
چیزی که ازش برای تایید نظر استفاده کردم این خط هست:

$query = "update nazar set showpost='1' where id='$id'";
اومدم برای قسمت پاسخ به نظر هم یه فیلد text توی همین جدول nazar ساختم. ولی نمیدونم چیکار کنم که وقتی مدیر به نظر پاسخ میده مقدار وارد شده توسط مدیر به همراه دستور بالا یعنی update به جدول وارد بشه؟
این روش رو استفاده کردم کار نمیکنه:

$query = "update nazar set showpost='1' where id='$id' AND pasokh='$pasokh'";
متشکرم.

ravand
شنبه 27 خرداد 1391, 19:33 عصر
از همه متشکرم . مشکلم حل شد:

$query = "update nazar set showpost='1', pasokh='$pasokh' WHERE id='$id'";