PDA

View Full Version : حذف و ويرايش ركورد در php



iliamatin
سه شنبه 14 مهر 1388, 08:25 صبح
با سلام
صفحه اي طراحي كرده ايم كه ديتاي موجود در بانك را به ما نشان مي دهد.
حال ميخاهيم در اين صفحه براي هر ركورد امكان ويرايش و حذف را اضافه كنيم.(جلوي هر ركورد،كلمات حذف و ويرايش باشد كه با كليك بر آن اين كارها انجام شود)
چكار بايد بكنيم؟؟؟

hueman
سه شنبه 14 مهر 1388, 10:16 صبح
ساده ترین روشش اینه که یه صفحه برا حذف و یکی برا ویرایش بنویسی (مثلا به اسم delete.php و edit.php) و توی صفحه اصلی که رکوردها رو لیست می کنی برای هر رکورد دو تا لینک به صفحات مذکور درست کنی که از طریق کوئری استرینگ id رکورد ها رو به اون صفحات پاس بده



echo '<a href="edit.php?id='.$ID.'">Edit</a>';


و



echo '<a href="delete.php?id='.$ID.'">Delete</a>';



حالا فقط کافیه توی صفحه حذف id رو بخونی و اون رکورد رو حذف کنی و توی صفحه ویرایش id رو بخونی و رکورد متناظرش رو از بانک بخونی و توی یه فرم برای ویرایش نشون بدی
موفق باشی

iliamatin
سه شنبه 14 مهر 1388, 10:58 صبح
با تشكر فراوان
اين دستوراتي كه گفتين را ميدونم و بايد توي ليست اضافه كنم
اما اينكه دستورات حذف و ويرايش چجوري بايد باشه و آيا حتما بايد تو يه صفحه مجزا تعريف بشه؟؟

hueman
سه شنبه 14 مهر 1388, 11:37 صبح
لزومی نداره که تو یه صفحه دیگه باشه، میتونین تو همون صفحه این کار رو بکنین
برای این کار یه متغیر توی کوئری استرینگ در نظر بگیرین (مثلا به اسم action) برای اینکه تو هر قسمتی برنامه بدونه چیکار باید بکنه، مثلا برای نمایش لیست مقدار action رو برابر showlist و برای حذف برابر delete و برای ویرایش برابر edit در نظر بگیرین و توی صفحه قبل از هر چیزی مقدار action رو خونده و توسط دستورات شرطی (switch یا if) کارهای متناظر با action رو انجام بدین

$Action = $_GET['action'];
switch ($Action)
{
case "showlist": ShowList();break;
case "edit": EditRecord();break;
case "delet": DeleteRecord();break;
}

function ShowList()
{
$Sql = "select * from table";
.....
$Result = mysql_query($Sql);
$n = mysql_num_rows($Result);
for($i==0;$i<$n;$i++)
{
$Record = mysql_fetch_array($Result);
....
echo '<a href="index.php?action=edit&id='.$Record['id'].'">Edit</a>';
echo '<a href="index.php?action=delete&id='.$Record['id'].'">Delete</a>';
.....
}
.....
.....
}
function EditRecord()
{
$ID = $_GET['id'];
$Sql = "select * from table where id = '$ID'";
$Record = mysql_query($Sql);
....
فيلدهاي رکورد را در يک فرم براي ويرايش نشان بده
....
}
function DeleteRecord()
{
$ID = $_GET['id'];
$Sql = "delete from table where id = '$ID'";
....
}


اگر هم ترجیح میدین حذف کردن و ویرایش کردن رو تو صفحات دیگه ای انجام بدین نیازی به در نظر گرفتن متغیری مثل action نیست، توی صفحات حذف و ویرایش هم مثل توابع DeleteRedord و ٍEditRecord عمل کنین
پیروز باشی

iliamatin
سه شنبه 14 مهر 1388, 12:05 عصر
hueman عزيز
واقعا ممنونم
فكر ميكنم درسته و دستورات همينه اما بايد چك كنم ببينم رو سيستم من كار ميكنه يا مشكل داره
خيلي خيلي ازت ممنونم.
راستي يه سوال ديگه هم داشتم كه توي صفحه:
http://barnamenevis.org/forum/showthread.php?t=183167
پرسيدم اگه جواب بدين ممنون ميشم.

hueman
سه شنبه 14 مهر 1388, 12:19 عصر
حذف , ویرایش , انتخاب و محاسبات در بانک به php ربطی نداره , باید از دستورات my sql استفاده کنید !


درسته که حذف و ویرایش در بانک اطلاعاتی صورت میگیره ولی این مسئله به php بی ربط نیست مگر اینکه تمامی محاورات ممکن با دیتابیس رو به صورت پروسیجر و یا فانکشن در دیتابیس ذخیره کنیم که به اعتقاد من به دردسرش نمی ارزه، کما اینکه من آماتور چند روز پیش یک سوال (http://barnamenevis.org/forum/showthread.php?t=182939) ساده در مورد یه فانکشن پرسیدم و از دوستان خواستم کمک کنن و دریغ از یه همفکری، فلسفه وجودی این سایت وزین خیلی محترم تر از این هاست که کسانی که خودشون رو حرفه ای می دونن به جای راهنمایی کردن یک دوست تازه کار صرفا به راهنمایی های استادمابانه کلی روی بیارن و متعاقبا موجبات یاس و خودآماتور بینی رو در اون ها به وجود بیارن
پایدار باشی

Farhadno
شنبه 31 خرداد 1393, 20:23 عصر
ساده ترین روشش اینه که یه صفحه برا حذف و یکی برا ویرایش بنویسی (مثلا به اسم delete.php و edit.php) و توی صفحه اصلی که رکوردها رو لیست می کنی برای هر رکورد دو تا لینک به صفحات مذکور درست کنی که از طریق کوئری استرینگ id رکورد ها رو به اون صفحات پاس بده



echo '<a href="edit.php?id='.$ID.'">Edit</a>';


و



echo '<a href="delete.php?id='.$ID.'">Delete</a>';



حالا فقط کافیه توی صفحه حذف id رو بخونی و اون رکورد رو حذف کنی و توی صفحه ویرایش id رو بخونی و رکورد متناظرش رو از بانک بخونی و توی یه فرم برای ویرایش نشون بدی
موفق باشی

سلام . داداش من از این استفاده کردم .
چطوری باید بنویسم صفحه edit.php رو ؟ یه راهنمایی بکن . آیدی یاهو هم دارم iran_t72 .

با تشکر

ghasedak7
یک شنبه 30 آذر 1393, 14:44 عصر
با سلام
خواهشن کمک کنید!!
یه رکورد که چند تا چک باکس داره چطوری میشه ویرایش کرد؟

ghasedak7
دوشنبه 01 دی 1393, 16:33 عصر
دوستان خواهشن کمک کنید لازمش داااااارم:افسرده::افسرده::ا سرده:

hamedarian2009
دوشنبه 01 دی 1393, 17:39 عصر
دوستان خواهشن کمک کنید لازمش داااااارم:افسرده::افسرده::ا سرده:

یه تاپیک جدید میزدی
کدتون رو بزارین تا بهتر بتونیم کمک کنیم

ghasedak7
دوشنبه 01 دی 1393, 19:32 عصر
یه تاپیک جدید میزدی
کدتون رو بزارین تا بهتر بتونیم کمک کنیم

طرف بانکشو میخوام که چطوری بانک را آپدیت کنه؟؟
کد کدوم قسمت بذارم؟

hamedarian2009
دوشنبه 01 دی 1393, 21:18 عصر
طرف بانکشو میخوام که چطوری بانک را آپدیت کنه؟؟
کد کدوم قسمت بذارم؟
شما کدی ننوشتین؟ هرجایی که مشکل دارین رو بزارین