يوم سوالف، في 7 أغسطس القادم

 

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

رد
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#1 (permalink)  
خطأ Division by zero شنو الحل معاه


السلام عليكم


اضفت لسكربت جديد عندي تقييم وكل شي تمام التمام ولكــــــن

يظهر لي الخطأ التالي امام المحتوى اللي ما عليه تقييم واما اللي عليه تقييم ما فيه اخطاء

هذا هو الخطأ
Warning: Division by zero in c:\apache\htdocs\new\links\rat2.php on line 15

واضح انه بالسطر 15 ولــكن ما لقيت له حل !!


الكود الأول وهو ملف rat2.php

كود PHP:
<?
include('config.php');
include(
'func.php');

echo 
"<html dir='rtl'>";

$SQL mysql_query(" select * from  links_all order by id");

while ( 
$row mysql_fetch_array($SQL) ){

$max 10;
$count $row[count];
$vote $row[vote];

$rating = ($vote / ($count $max)) * 100;
$rate round$rating 2) . " %";


ECHO 
"<b>"$row[name_web] ."</b><br> التقييم : "$rate ." من قبل : "$row[count] ." شخص ";
ECHO 
"<img src=images/start_"intval($rate 20) .".gif>";

ECHO 
"<form method='POST' action='rate_ok'>";
ECHO 
"<input type='hidden' value='$row[id]'  name='id'>";
ECHO 
"1<input type='radio' name='vote_num' value='1'>";
ECHO 
"2<input type='radio' name='vote_num' value='2'>";
ECHO 
"3<input type='radio' name='vote_num' value='3'>";
ECHO 
"4<input type='radio' name='vote_num' value='4'>";
ECHO 
"5<input type='radio' name='vote_num' value='5'>";
ECHO 
"<input type='submit' value='تقييم'></form>";
echo 
"<hr>";

}


?>

الملف الثاني rate_ok.php

كود PHP:
<?
include('config.php');
include(
'func.php');

$sql mysql_query(" update  links_all set vote=vote+$vote_num , count=count+1 where id='$_POST[id]' ");

if(
$sql){

echo 
" تم التقييم";

}else{

echo 
"لم يتم التقييم حدث خطا";
}

?>

ياترى وين الخطأ وشنو الحل .. بإنتظار الأخوه






ابوليالي غير متواجد حالياً   قديم 07-09-2006, 01:41 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2002-
#2 (permalink)  

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

أخي العزيز

واضح أن الخطأ يحدث عندما تكون $count تساوي صفر

عم تعبر قيمة المتغير $count؟؟






__________________
mahmoud009 سابقاً
منتدى بي اتش بي
فِكرة لتقنية المعلومات
فِكرة غير متواجد حالياً   قديم 07-09-2006, 01:45 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#3 (permalink)  

من الواضح ان قيمة المتغير فارغة وليس صفر في حقل القاعدة اجعل القيمة الافتراضية للحقل تساوي 0 صفر .

بالتوفيق .






__________________
إميل سعودي مجاني

htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 07-09-2006, 01:53 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2002-
#4 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة jadweb.com
من الواضح ان قيمة المتغير فارغة وليس صفر في حقل القاعدة اجعل القيمة الافتراضية للحقل تساوي 0 صفر .

بالتوفيق .
عزيزي jadweb
وما الذي سيتغير لو جعل القيمة الافتراضية صفراً... هل ستصبح عملية القسمة على صفر منطقية؟؟

أخي أبوليالي
أرى أن تضع شرط لأداء عملية القسمة فقط في حالة كانت قيمة $count أكبر من صفر


تحياتي لك






__________________
mahmoud009 سابقاً
منتدى بي اتش بي
فِكرة لتقنية المعلومات
فِكرة غير متواجد حالياً   قديم 07-09-2006, 02:10 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#5 (permalink)  

تسلم حبيبي mahmoud009

القيمه الافتراضيه للمتغير $count هي صفر

هلااااابك يالغالي jadweb.com قيمة $count الافتراضيه هي بالأصل صفر طبعا بالحقل تبعها






ابوليالي غير متواجد حالياً   قديم 07-09-2006, 02:13 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#6 (permalink)  

اخوي mahmoud009 لاهنت اعمل الشرط اللي تقول عنه وهاته






ابوليالي غير متواجد حالياً   قديم 07-09-2006, 02:16 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2002-
#7 (permalink)  

تفضل أخي...

هذا السطر
كود PHP:
$rating = ($vote / ($count $max)) * 100
استبدله بالآتي
كود PHP:
$count $rating = ($vote / ($count $max)) * 100 $rating 0
تحياتي لك






__________________
mahmoud009 سابقاً
منتدى بي اتش بي
فِكرة لتقنية المعلومات
فِكرة غير متواجد حالياً   قديم 07-09-2006, 02:19 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2006-
#8 (permalink)  

تسلم اخوي mahmoud009

لااااااااااهنت ويعطيك العافيه

100%






ابوليالي غير متواجد حالياً   قديم 07-09-2006, 02:33 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#9 (permalink)  

اب اب الشرط قبل ترقية القيمة كلام الاخ mahmoud009 صحيح .






__________________
إميل سعودي مجاني

htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 08-09-2006, 02:10 PM
رد مع اقتباس
رد


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

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

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



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