التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
تاريخ التسجيل: Aug 2007-
#1 (permalink)  
[مشكلة] بإنقاص "-" قيمة حصل !.


السلام عليكم ورحمة الله وبركاته

لدي سكربت دروس ... وفيه جدول drs_section جدول الأقسام , ويوجد بهذا الجدول حقل lessons_num عدد الدروس , وعند اضافة الدرس يتم زيادة العدد بـ +1
كود PHP:
$le mysql_fetch_array(mysql_query("SELECT `lessons_num` FROM `drs_section` WHERE id='$section'"));
$lessons_num $le['lessons_num'];
$sec_update mysql_query("UPDATE `drs_section` SET `lessons_num`=$lessons_num+1 WHERE `id`='$section'");
if(
$sec_update) { $msg "تم تحديث عدد الدروس في القسم بنجاح"; } else { $msg "خطأ في تحديث عداد الدروسفي القسم "; } 
ولكن المشكلة انه عند حذف درس ... كيف انقص القيمه ؟ علماً بأنني استخدم الحدذف الجماعي ...

وهذا كود الحذف لدي :
كود PHP:
$array $_POST['id']; 
$comma_separated implode(","$array);
$sql mysql_query("DELETE FROM `drs_text` WHERE id IN ($comma_separated)");
$sql2 mysql_query("DELETE FROM `drs_comment` WHERE `subject_id` IN ($comma_separated)"); 
كيف اقوم بحسب عدد الدروس المحدده ثم اقوم بإنقاصها من الحق lessons_num ...,؟

وشكراً ..,






__________________
موقع مبرّمج - zawyte
لا إله إلا الله ,,, محمد رسول الله ,,, أستغفر الله , احفظ الله يحفظك .
www.tdwenty.com Domain Is 4 Sale | fahad1ad2 @ hotmail.com

التعديل الأخير تم بواسطة : ff5006 بتاريخ 04-04-2008 الساعة 06:46 PM.
ff5006 متواجد حالياً   قديم 04-04-2008, 11:28 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2002-
#2 (permalink)  

جرب

كود PHP:
$array $_POST['id']; 
$num count($array);
$comma_separated implode(","$array);
$sql mysql_query("DELETE FROM `drs_text` WHERE id IN ($comma_separated)");
$sql2 mysql_query("DELETE FROM `drs_comment` WHERE `subject_id` IN ($comma_separated)");  

$sec_update mysql_query("UPDATE `drs_section` SET `lessons_num`=$lessons_num-$num WHERE `id`='$section'");
if(
$sec_update) { $msg "تم تحديث عدد الدروس في القسم بنجاح"; } else { $msg "خطأ في تحديث عداد الدروسفي القسم "; } 






__________________
mahmoud009 سابقاً
منتدى بي اتش بي
فِكرة لتقنية المعلومات
فِكرة غير متواجد حالياً   قديم 04-04-2008, 07:44 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2007-
#3 (permalink)  

شكراً لك اخي محمود وجزاك الله خير , للأسف الكود لم يعمل معي , حاولت تعديل لعدة اشكال لكن لاتم انقاص الارقام . . .






__________________
موقع مبرّمج - zawyte
لا إله إلا الله ,,, محمد رسول الله ,,, أستغفر الله , احفظ الله يحفظك .
www.tdwenty.com Domain Is 4 Sale | fahad1ad2 @ hotmail.com
ff5006 متواجد حالياً   قديم 04-04-2008, 08:31 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2007-
#4 (permalink)  

سأحاول برمجة صفحة إصلاح العدادات , بعد تفكير جاءت الفكرة برأسي ولله الحمد






__________________
موقع مبرّمج - zawyte
لا إله إلا الله ,,, محمد رسول الله ,,, أستغفر الله , احفظ الله يحفظك .
www.tdwenty.com Domain Is 4 Sale | fahad1ad2 @ hotmail.com
ff5006 متواجد حالياً   قديم 04-04-2008, 10:17 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2006-
#5 (permalink)  
استغني عن الحقل lessons_num

هل تستطيع الاستغناء عن الحقل lessons_num وحساب عدد الدروس بشرط رقم القسم ؟

بدالة
php
كود PHP:
$sql=mysql_query("select id from `table_name` where cat_id=16");
$num=mysql_num_rows($sql);
echo 
$num
او من داخل mysql


كود PHP:
$sql=mysql_query("select count(id) as num from `table_name` where cat_id=16");
$num=mysql_fetch_array($sql);
echo 
$num['num']; 






عبد الواحد البشيري غير متواجد حالياً   قديم 05-04-2008, 02:20 AM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: May 2007-
#6 (permalink)  

جرب وإن شاء الله تمام

الكود الأول :
كود PHP:
$sec_update mysql_query("UPDATE `drs_section` SET `lessons_num`=`lessons_num`+1 WHERE `id`='$section'");
if(
$sec_update) { $msg "تم تحديث عدد الدروس في القسم بنجاح"; } else { $msg "خطأ في تحديث عداد الدروسفي القسم "; } 
الكود الثاني
كود PHP:
$array $_POST['id']; 
$numtomin=count($array);
$comma_separated implode(","$array);
$sql mysql_query("DELETE FROM `drs_text` WHERE id IN ($comma_separated)");
$sql2 mysql_query("DELETE FROM `drs_comment` WHERE `subject_id` IN ($comma_separated)");
$sql_m mysql_query("UPDATE `drs_section` SET `lessons_num`=`lessons_num` - '$numtomin' WHERE `id`='$section'"); 







التعديل الأخير تم بواسطة : Alsharaan بتاريخ 05-04-2008 الساعة 03:37 AM.
Alsharaan غير متواجد حالياً   قديم 05-04-2008, 03:36 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2007-
#7 (permalink)  

استغني عن الحقل lessons_num

السلام عليك , اخوي عبدالواحد ...
المشكله انه بالداله MySQL_num_rows();
انه اذا كانت داخل
كود PHP:
while($rows mysql_fetch_array($sql)){ } 

اذا كانت داخل حلقة تكرار , تقوم بإخراج آخر قيمة فقط , , فمثلاً
كود PHP:
$query mysql_query("SELECT * FROM `drs_section` ORDER BY `level` DESC");
while(
$rows mysql_fetch_array($query){
$data[] = $rows;
$id $rows['id'];
$sql mysql_num_rows(mysql_query("SELECT * FROM `drs_text` WHERE `section_id`='$id'"));
}
//
 
هنا سيتم اظهار عدد الدروس لآخر قسم داخل حلقة التكرار وستصبح جميع الأقسام نفس الرقم ;) 
كود PHP:
[color=black][/color

الأخ Alsharaan
جزاك الله خير على ردك , من الواضح عند قرائتي للكود انه ينقص عدد الدروس lessons_num - عدد الارقام الموجودة بالمصفوفة
لكن المشكله اني استخدم الحذف الجماعي .
وشكراً لك...






__________________
موقع مبرّمج - zawyte
لا إله إلا الله ,,, محمد رسول الله ,,, أستغفر الله , احفظ الله يحفظك .
www.tdwenty.com Domain Is 4 Sale | fahad1ad2 @ hotmail.com

التعديل الأخير تم بواسطة : ff5006 بتاريخ 05-04-2008 الساعة 11:50 AM.
ff5006 متواجد حالياً   قديم 05-04-2008, 11:49 AM
رد مع اقتباس
عضو جديد
تاريخ التسجيل: Jun 2007-
#8 (permalink)  

جرب استخدام عبارة SQL التالية :

كود PHP:
SELECT 
  
`drs_section `.`id`,
  `
drs_section `.`name`,
  (
select count(*) from drs_text where drs_text.idcat=drs_section.id )`no_droos`
FROM
  
`drs_section






مهندس نت غير متواجد حالياً   قديم 05-04-2008, 04:35 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2007-
#9 (permalink)  

مهندس انترنت => للأسف الكود لم يعمل , وشكراً لك.






__________________
موقع مبرّمج - zawyte
لا إله إلا الله ,,, محمد رسول الله ,,, أستغفر الله , احفظ الله يحفظك .
www.tdwenty.com Domain Is 4 Sale | fahad1ad2 @ hotmail.com
ff5006 متواجد حالياً   قديم 05-04-2008, 11:00 PM
رد مع اقتباس
مشرف قسم PHP
تاريخ التسجيل: Apr 2002-
#10 (permalink)  

- ارجو الانتباه الى الخطأ الأمني الشائع لدى الأغلبية وهو عدم التحقق من المدخلات (قاعدة: لا تثق في المستخدم)
كود PHP:
$comma_separated mysql_escape_string(implode(","$array)); 
- في هذه الحاله يمكن معرفة عدد الصفوف التى تم التأثير عليها باستخدام mysql_affected_rows وتشمل عمليات INSERT, UPDATE, REPLACE , DELETE
PHP: mysql_affected_rows - Manual






__________________
I Love PHP (d4d@hotmail.com)
http://www.daif.net/
daif غير متواجد حالياً   قديم 05-04-2008, 11:58 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Aug 2007-
#11 (permalink)  

السلام عليكم
اخوي ضيف ... جزاك الله خير على التنبيه تم التعديل...
وشكراً للجميع على المشاركه ... وتم حل المشكله بـ عمل صفحة لتحديث العدادات !.






__________________
موقع مبرّمج - zawyte
لا إله إلا الله ,,, محمد رسول الله ,,, أستغفر الله , احفظ الله يحفظك .
www.tdwenty.com Domain Is 4 Sale | fahad1ad2 @ hotmail.com
ff5006 متواجد حالياً   قديم 06-04-2008, 08:33 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مطلوب استضافة VPS .. ماهي افضل شركة مضمونة لهذا أم عبدالله سيرفرات افتراضية VPS 8 19-03-2008 03:11 AM
منتدى واستايل مجاناَ مع ايبلا ! eblanet.net خدمات البيع والشراء والإعلانات التجارية 0 23-02-2008 12:02 AM
خصم خصم خصم لحق لمدة اسبوع بس 50% Arabs4host قسم تبادل خبرات الاستضافة 0 13-09-2003 06:33 AM
خصم 50% (( اغتنم الفرصة )) خصم 50% alrayess خدمات البيع والشراء والإعلانات التجارية 13 22-04-2003 05:50 AM
هل حلمت بأن تأخذ استضافتك مجانا؟؟ شبكة مواقعكم قسم تبادل خبرات الاستضافة 2 13-11-2002 03:20 AM


الساعة الآن: 04:06 AM بتوقيت المملكة العربية السعودية