ياخطير يادكتور
الآن لاهنـت ...
كيف اقوم بحذف القسم ..وتعديل على القسم.. :shy:
و كيف استطيع عمل وصلة ارتباط خاصة على كــل فسم :looking:
اخوك.
ياخطير يادكتور
الآن لاهنـت ...
كيف اقوم بحذف القسم ..وتعديل على القسم.. :shy:
و كيف استطيع عمل وصلة ارتباط خاصة على كــل فسم :looking:
اخوك.
هذه هي صفحة العرضالمشاركة الأصلية كتبت بواسطة Dr.no
مستعجل يادكتور ..تشكر على مجهودك
ياخطير يادكتور
الآن لاهنـت ...
كيف اقوم بحذف القسم ..وتعديل على القسم.. :shy:
و كيف استطيع عمل وصلة ارتباط خاصة على كــل فسم
اخوك.
سأقوم بتجهيز درس سريع غداً إن شاء الله
تحياتي
Dr.no
على رااحتك Dr.no... كفيت ووفيت ..بارك الله فيك
اخوك
اخي العزيز لست محترف php و لكن هذي محاولة منيالمشاركة الأصلية كتبت بواسطة MSH3AL
هذي الأكواد عملها حذف الأقسام الي تختارها و إذا عندي اي خطأ اتمنى من المحترفين تصحيحي و السموحة
اول هذه صفحة الي فيها الأقسام الي ممكن تختار ما تريد حذفه منها
إذا فيها اي خطأ اتمنى تخبرني بالخطأ إذا ما فيها ايضا قولي عشان اضيف فيه الأقسام الفرعية لأني نعسان الحين ما قدرت اكملكود PHP:
<?
// الاتصال بالقاعدة و غيرها
include("config.php");
// استدعاء الأقسام الرئيسية
ٍ$sql = mysql_query("select * from cat");
$num = mysql_num_rows($sql);
// عرض الأقسام في قائمة مندسلة
echo '<form method="post" action="droptables.php" name=drop>';
for ($i=1; $i<=$nam; $i++)
{
$row = mysql_fetch_array($sql);
$cat_name = $row[name];
$cat_id = $row[cat_id];
echo '<input type="checkbox" name="cat_id[]" value="$cat_id">-$cate_name';
echo"<br>";
}
echo"</form>";
echo"<input type=submit value=حذف>";
?>
- و هذي الصفحة الي تنفذ فيها عملية الحذف من قاعدة البيانات طبعا يوجد آخر الكود رابط موقع عدله لأين تريد ان تحولك الصفحه بعد اتمام عمله الحذف و تنفيذ الأوامر
طبعا ضع الكود في ملف اسمه query.php او كما تريد مع تغيير ما يلزم في الكودكود PHP:
<?
// الاتصال بالقاعدة و غيرها
include("config.php");
ٍ$sql = mysql_query("select * from cat");
$num = mysql_num_rows($sql);
// حذف الأقسام التي قمت بإختيارها
$i = 0
while ( $i<$num )
{
$sql2 = mysql_query("DELETE FROM cat WHERE cat_id= $cat_id[$i]");
$i++
}
if (!$sql)
{
echo ' لم تتم العملية بنجاح';
}
else
{
echo ' تم حذف الأقسام بنجاح';
exit;
header("Location: http://www.example.com/admin.php");
?>
اكرر لك اخي هذي كانت محاولة مني و السموحة على اي خطأ
بس حبينا نساعدك و نساعد الأخ Dr.no
بالتوفيق
السلام عليكم
أولاً : بخصوص إضافة رابط لكل قسم :
و في صفحة العرض سأختار ملف show_child_cat.php لأنه نفس الفكرة في show_cat.phpكود PHP:
<?php
include("config.php");
// ?????? ??????? ????????
$sql = mysql_query("SELECT * FROM cat");
$num = mysql_num_rows($sql);
for($i=1;$i<=$num;$i++)
{
$row = mysql_fetch_array($sql);
$cat_title = $row[name];
$cat_id = $row[cat_id];
echo"+ <a href=show_cat.php?cat_id=$cat_id>$cat_title</a><br>";
$sql1 = mysql_query("SELECT * FROM child_cat WHERE cat_id=$cat_id");
$num1 = mysql_num_rows($sql1);
for($z=1;$z<=$num1;$z++)
{
$row1 = mysql_fetch_array($sql1);
echo" - <a href=show_child_cat.php?child_id=$row1[child_id]&cat_id=$cat_id>$row1[name]</a><br>";
}
}
?>
كود PHP:
<?php
include("config.php");
$sql = mysql_query("SEELCT * FROM cat WHERE cat_id=$cat_id");
$row = mysql_fetch_array($sql);
$sql1 = mysql_query("SELECT * FROM child_cat WHERE child_id=$child_id AND cat_id=$cat_id");
$row1 = mysql_fetch_array($sql1);
echo"أهلاً و سهلاً في المنتدى الفرعي $row1[name] .. المنتدى الرئيسي $row[name]";
// غلق الاتصال
?>
ثانياً : بخصوص الحذف :
سأقوم بإضافة رابط الحذف في نفس صفحة العرض :
كود PHP:
<?php
include("config.php");
// ?????? ??????? ????????
$sql = mysql_query("SELECT * FROM cat");
$num = mysql_num_rows($sql);
for($i=1;$i<=$num;$i++)
{
$row = mysql_fetch_array($sql);
$cat_title = $row[name];
$cat_id = $row[cat_id];
echo"+ <a href=show_cat.php?cat_id=$cat_id>$cat_title</a> <a href=del_cat.php?cat_id=$cat_id>حذف</a><br>";
$sql1 = mysql_query("SELECT * FROM child_cat WHERE cat_id=$cat_id");
$num1 = mysql_num_rows($sql1);
for($z=1;$z<=$num1;$z++)
{
$row1 = mysql_fetch_array($sql1);
echo" - <a href=show_child_cat.php?child_id=$row1[child_id]&cat_id=$cat_id>$row1[name]</a>
<a href=del_child_cat.php?child_id=$row1[child_id]&cat_id=$cat_id>حذف</a>
<br>";
}
}
?>
و في صفحة الحذف ساختار ملف del_child_cat.php
كود PHP:
<?php
include("config.php");
$sql = mysql_query("DELETE FROM child_id WHERE child_id=$child_id AND cat_id=$cat_id ");
// غلق الاتصال
?>
ثالثاً : بخصوص التعديل أو التحرير
سأقوم بإضافة رابط التعديل في نفس صفحة العرض :
في صفحة edit_child_cat.php يجب عليك ملاحظة الآتي : أن معلومات القسم الفرعي يجب أن تظهر في الفورم ،كود PHP:
<?php
include("config.php");
// ?????? ??????? ????????
$sql = mysql_query("SELECT * FROM cat");
$num = mysql_num_rows($sql);
for($i=1;$i<=$num;$i++)
{
$row = mysql_fetch_array($sql);
$cat_title = $row[name];
$cat_id = $row[cat_id];
echo"+ <a href=show_cat.php?cat_id=$cat_id>$cat_title</a> <a href=del_cat.php?cat_id=$cat_id>حذف</a>
<a href=edit_cat.php?cat_id=$cat_id>تحرير</a>
<br>";
$sql1 = mysql_query("SELECT * FROM child_cat WHERE cat_id=$cat_id");
$num1 = mysql_num_rows($sql1);
for($z=1;$z<=$num1;$z++)
{
$row1 = mysql_fetch_array($sql1);
echo" - <a href=show_child_cat.php?child_id=$row1[child_id]&cat_id=$cat_id>$row1[name]</a>
<a href=del_child_cat.php?child_id=$row1[child_id]&cat_id=$cat_id>حذف</a>
<a href=edit_child_cat.php?child_id=$row1[child_id]&cat_id=$cat_id>تحرير</a>
<br>";
}
}
?>
أما في القائمة المنسدلة للأقسام الرئيسية يجب أن تظهر جميع الأقسام الرئيسية و نعمل selected للقسم الرئيسي الحالي :
و الآن التعديل سيكون بسيط ، في صفحة edit1.phpكود PHP:
<?php
include("config.php");
$sql = mysql_query("SELECT * FROM cat");
$num = mysql_num_rows($sql);
$sql1 = mysql_query("SELECT * FROM child_cat WHERE child_id=$child_id AND cat_id=$cat_id");
$row1 = mysql_fetch_array($sql1);
echo"<form action=edit1.php method=post>";
echo"اسم القسم الفرعي : <input type=text name=edit_child_name value='$row1[name]'>";
echo"<br>";
echo"<select name=edit_cat_id>";
for($i=1;$i<=$num;$i++)
{
$row = mysql_fetch_array($sql);
if($cat_id == $row[cat_id])
{
$selected = "selected";
}
else
{
$selected = "";
}
echo"<option value=$row[cat_id] $selected>$row[name]</option>";
}
echo"<select>";
echo"<br>";
echo"<input type=submit value=تحرير>";
echo"</form>";
//غلق الاتصال
يمكنك إضافة بعض التطويرات للسكريبت :كود PHP:
<?php
include("config.php");
$sql = mysql_query("UPDATE child_cat SET name='$edit_child_name' , cat_id=$edit_cat_id");
// غلق الاتصال
?>
1 - التأكد من خلو القيم النصية من أي نص ضار بقاعدة البيانات
2 - التأكد من أن القيم الرقمية هي رقمية بالفعل
3 - التأكد من أن جميع البيانات المطلوبة معبأة
4 - إضافة وصف - صورة لكل قسم
5 - استخدام نظام الإشراف على كل قسم
4 - يمكن جعل جميع الأقسام بجدول واحد سواء الرئيسية أو الفرعية مع بعض التغييرات في حقول الجدول
هذا تصوري للجدول :كود PHP:
Create Table cat(
cat_id int not null primary key auto_increment,
name varchar(50) not null,
is_cat int not null,
is_child int not null,
main_cat_id int not null
);
- الحقل is_cat تضع القيمة 1 إن كان قسماً رئيسياً و القيمة 0 إن لم يكن
- الحقل is_child تضع القيمة 1 إن كان قسماً فرعياً و القيمة 0 إن لم يكن
- الحقل main_cat_id هو الـcat_id للقسم الرئيسي إن كان القسم فرعياً
و أشكر الأخ b_happy على إضافته
تحياتي
Dr.no
وعليـكم السلام..
بارك الله فيك آخي الكريم دكتور لااا .والله انك كفيت ووفيت ^_^.
ونسئل انه يزيدك من علمه..اخوك