PDA

View Full Version : مبتدی: مشکل در حذف رکوردهای دیتابیس با دکمه ویرایش و حذف



نیلوفر66
چهارشنبه 14 اسفند 1392, 10:47 صبح
اشکال این کد کجاست؟ دکمه دیلیت کار نمیکنه!!!!!!!!!!!!
http://www.uplooder.net/cgi-bin/dl.cgi?key=47af9511219247f9474a480150164cbd

navid3d_69
چهارشنبه 14 اسفند 1392, 13:43 عصر
کد رو اینجا بزارین تا همه ببینند

نیلوفر66
چهارشنبه 14 اسفند 1392, 13:45 عصر
تاپیک های تکراری و آسون رو جواب میدید حتی کسایی که ازتون کد کامل میخوان...اما رفع اشکال رو جواب نمیدید!!!اونوقت میگید سایت شده سایت :
برنامه نویس یا برنامه دانلود (http://barnamenevis.org/showthread.php?438557-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3-%DB%8C%D8%A7-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%85%D8%B4%DB%8C-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%B3%D8%A7%DB%8C%D8%AA)

نیلوفر66
چهارشنبه 14 اسفند 1392, 13:46 عصر
صفحه ها و دیتابیس رو آپلود کردم....اگه میخواستم کد رو کامل بدارم شلوغ میشد

نیلوفر66
چهارشنبه 14 اسفند 1392, 13:56 عصر
این کد صفحه ای هست که اطلاعات از دیتابیس خوانده میشه در صفحه اجرای دستور دیلیت با کد


$f_id=$_POST['$rq1[qu_id]'];
آی دی دریافت میشه ولی خطای عدم شناخت qu_id میدهد




<?php

include('db.php');
if(isset($_GET['ques'])){
$base=$_GET['ques'];
echo "<form method='post' action='question-delete-data.php'>
<table align='center' cellpadding='5' cellspacing='1'>";
$q1=mysql_query("SELECT * from question where base='$base' ")or die(mysql_error());
$cq1=mysql_num_rows($q1);
if ($cq1==0)
echo"<font color='#FF0000'>فایلی یافت نشد.</font>";
else{
echo "<tr align='center' height='30' bgcolor='#D4BFFF' style='font-weight:bold'>
<div style='font-size:10px; font-weight:bold'><td>کد سوال</td><td>مباحث سوالات</td><td>نام فایل سوال</td></div></tr>";
$ip=0;

while($rq1=mysql_fetch_assoc($q1))
{
$ip++;
echo "<tr align='center' height='30' bgcolor=".(($ip%2)?"#E1E1E1":"#B3B3FF")." style='font-size:14px;'>";
echo "<td>$rq1[qu_id]</td>
<td>$rq1[qu_text]</td>
<td>$rq1[qu_file]</td>
<td><a href='question-delete-data.php?id=$rq1[qu_id]'><img src='img/edit.png'/></a></td>
<td><input type='submit' value='delete'/></td></tr>
<input type='hidden' name='$rq1[qu_id]' value='$rq1[qu_id]' id='$rq1[qu_id]'/>";
}}
echo "</table></form>";}
?>

***BiDaK***
چهارشنبه 14 اسفند 1392, 16:58 عصر
شما این فایلی که آپلود کردی چه ربطی به سوال داشت؟داخل بانک جدول فایل هاتون که نبود صفحه ی delete هم که نبود و فقط نمایش بود.
اگه مشکلی داره کد کامل بذارین.
چرا انقدر سلکت انجام دادین.با یک سلکت به جدول مثلا q1 وصل شدین دیگه نیاز نیست دوباره برای نمایش وصل شید از همون متغیر قبلی میتونستید استفاده کنید.
بجای 6 تا جدول جدا درست کردن برای سوالات هر پایه میتونستید کلا دو تا جدول درست کنید و یک جدول دسته هاتون باشه که پایه ها رو مینوشتید و یک جدول سوالات که هر سوال با فیلدی مثل cat_id که آیدی دسته بندیشو می گرفت مشخص میشد که مال کدوم پایه است.
در آخر چون دستورات تکراری هست میتونستید کلا یک سلکت بنویسید بعد از switch :


$query = "select * from question $where";

و در switch و در case ها تنها where رو مشخص میکردی.مثلا برای سوالات پایه 1:


case "1": $where = "WHERE cat_id = 1";
break;
یا اصلا switch هم نمیخواست.چون آیدی رو میفرستی:


$where = "where cat_id = {$_GET['ques']}";
اینجوری کد خیلی خلاصه تر میشد.و برای نمایش هم کافیه بعد از سلکت و چک کردن فقط یک حلقه while می نویسی و assoc میکنی.نیاز به 6 حلقه هم دیگه نیست.

نیلوفر66
چهارشنبه 14 اسفند 1392, 18:20 عصر
ببخشید فایل اشتباه آپلود شده بود
http://www.uplooder.net/cgi-bin/dl.cgi?key=c319db7a5ad34f3ad40a2f88abb8f8b9

کد در صفحه
(http://www.uplooder.net/cgi-bin/dl.cgi?key=c319db7a5ad34f3ad40a2f88abb8f8b9)questi on-delete-data.php




<?php

include('db.php');
$f_id=$_POST['$rq1[qu_id]'];
echo $f_id;
mysql_query("delete from question where qu_id='$f_id' ");
?>

***BiDaK***
چهارشنبه 14 اسفند 1392, 19:01 عصر
البته من الان کدهایی که در تاپیک گذاشتیدو دوباره دیدم.این کد به صفحه ی دیگه ریدایرکت میشه که qu_id در اون صفحه وجود نداره.یعنی مقدار جایگزین شده در تگ hidden پس شما باید یک name خودتون بذارید واسه این تگ.مثلا:

<input type="hidden" name="example" value="$rq1[qu_id]">
که مقادیر جایگزین میشن و کافیه در صفحه ی دیگه:


$f_id=$_POST['example'];
استفاده کنید.
فایلی که آپلود کردید رو هم نگاه میکنم.

نیلوفر66
چهارشنبه 14 اسفند 1392, 20:25 عصر
سپاس از پاسخ.مشکل از name که فرمودید بود.