ننتظرك يا رضا
ننتظرك يا رضا
__________________
abdulla2011@hotmail.com
نستنى ونشوف
ههههههه
أخاف تتعبون و أنتم تنتظرون
إن شاءالله بأحاول أول حاجة أفهم المصطلحات بكلام أخونا عبدالرحمن هههههه
يصير خير إن شاءالله
السلام عليكم و رحمة الله و بركاته
بارك الله فيك أخ عبدالرحمن ، لكن لي ملاحظة بسيطة على تركيب جدول الأقسام ، و هي أنك لا تحتاج إلى أن تحفظ عدد المقالات في كل قسم حيث يكفي أن تستخدم الدالة count في الـ SQL لتعرف عدد المقالات في كل قسم ..
بهذه الطريقة :
select cat_id, cat, name, count(artical_id) from cat, artical where cat.cat_id = artical.cat_id
أبوأنس
__________________
مئات الدروس .. في الموسوعة العربية
دارنت .. داركم على الانترنت
مدونتي AbuAnas.net
أبا أنس :
كلامك صحيح.
واستخدام أمر GROUP BY معروف في Mysql
http://www.mysql.com/doc/en/Group_by_functions.html
لكن هذه الطريقة غير عملية من وجهة نظري
لأنه يلزم من هذه الطريقة أن القاعدة تقوم بعملية الحساب في كل مرة يطلب الزائر الصفحة.
وهذه العملية مرهقة للقاعدة في البيانات الكثيرة.
أما عن طريق إنشاء حقل خاص بعدد المقالات فإن العملية الحسابية لا تكون إلا إذا أضيفت مقالة أو حذفت.
ثم تخزن المعلومة الجديدة في الحقل، ويطلبه البرنامج من الحقل
فهو لا يقوم بعملية الجمع، بل بعملية الطلب.
وأنا أستخدم هذه الطريقة لأجل أن يكون البرنامج أكثر مرونة
وقد استفدت هذه الطريقة من خلال اطلاعي على البرامج الكبيرة مثل المنتديات
حيث يضعون حقلا لعدد مشاركات العضو.
لو استخدمنا الطريقة التي ذكرتها
نفترض أن عدد الأعضاء 50 ألف عضو في منتدى Vb
وأنا طلبت معلومات عضو معين
هذا يعني أن القاعدة ستجري مسحا على جدول posts لحساب عدد المشاركات
فإذا كان عدد المشاركات 300 ألف مشاركة
ألا يرهق هذا العدد القاعدة ؟
هل الذي فهمته من خلال تعاملي مع قاعدة mysql
فإن كان فهمي خاطئا فوضح لي، فأنا أبحث عن الأفضل والأسهل.
وشكرا لك
كلامك صحيح أخي عبدالرحمن ومنطقي جداً ..
ولكن لكل واحد فوائدة ..
__________________
بداية للمشاريع التجارية
ASP.NET,ASP 3.0
المدونة الشخصية : asp2asp.com
عدنا والعود أحمد...
السلام عليكم ..
أنشأت جدول باستخدام ..
لكن الاضافة لا تتم .. !!كود PHP:
CREATE TABLE cat (
Cat_id int(11) NOT NULL default '0',
Cat_name varchar(255) NOT NULL default '',
Cat_num int(11) NOT NULL default '0'
) TYPE=MyISAM;
= = = وهذا ما تفضّل به الأخ العزيز عبدالرحمن = = =
<?php
include("config.php");
echo " حدد القسم :";
echo "<select name=\"Cat_id\">";
$query="
SELECT Cat_id, Cat_name
FROM cat
ORDER BY Cat_id
";
$result = mysql_query($query);
while (list ($Cat_id, $Cat_name) =mysql_fetch_array($result)) {
echo "<option value=\"$Cat_id\">$Cat_name </option>";
}
echo "</select><br>";
echo "
<p align='right'><a href='$PHP_SELF?action=addcat'>إضافة قسم</a>
";
if ($_GET['action']=="addcat") {
echo "
<center>
إضافة قسم
<br>
<form name='addcat' method='post' action='$PHP_SELF?action=doaddcat'>
أدخل اسم القسم <br>
<input type='text' name='new_cat' size='20'>
<input type='submit' name='Submit' value='أرسل'>
</form>
";
exit ();
}
// هل نريد إضافة قسم؟
if ($_POST['action']=="doaddcat") {
// نتأكد من أن المتغير غير فارغ
if (empty($new_cat)) {
// نطبع رسالة تنبيه
echo "لم تدخل اسما!! ارجع وأدخل الاسم";
// نقفل البرمجة
exit ();
} // إغلاق شرط التأكد من امتلاء المتغير
// نتأكد هل الاسم مدخل من قبل؟
$query = "SELECT Cat_name
* FROM cat
WHERE Cat_name='$new_cat'
";
$result = mysql_query ($query);
// إذا كان الاسم مدخلا طبعنا رسالة تنبيه
if ($result) {
// نطبع الرسالة
echo "هذا الاسم مدخل من قبل!";
// نقفل البرمجة
exit ();
} // إغلاق شرط التأكد من وجود الاسم
// نضيف الاسم إلى قاعدة البيانات
$add_cat="
INSERT INTO cat
(Cat_name)
VALUES ('$new_cat')
";
// نطبع النتيجة
if ($result) {
echo "تمت إضافة القسم";
} else {
echo "حصل خلل في إضافة القسم";
echo mysql_error;
} // إغلاق شرط النتيجة
// نقفل البرمجة
exit ();
}// إغلاق شرط إضافة البرنامج
?>
السؤال الآخر .. الآن عندي جدول آخر باسم news فيه News_id + sub+News
sub : عنوان الموضوع ..
news : الموضوع ..
كيف أربط الأقسام بالبرنامج ؟ علما أنّ صفحة الإضافة لدي
:con2: ننتظر الرد من الأساتذة ..كود PHP:
<?php
include('config.php');
$Sub= $_POST['Sub'];
$News= $_POST['News'];
$Ad = mysql_query("INSERT INTO news(Sub,News)"."VALUES('$Sub','$News')");
if($Ad){
echo"تمّ إضافة الموضوع";
}
else
{
echo"لم تتم الإضافة";
}
?>
__________________
│║▌║█║▌║▌││║▌║█║▌│║▌║█
w w w . m a r h o o n s . c o m
واااااو
قديم مره ...
غباااااااااااااااار
ايام الاستاذ رضا طالب نجيب
الحين دكتور برمجه .. لو ماشفت التاريخ كان قلت رضا تفرمت مخه
الله يادنيا
ايييييييييييييييييييييييييه << تفتحت جروح