الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة فى جلب احصائية من جدول معين

بدأه fatmaali في 13 فبراير 2014 · 3 رد · 706 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ا هذا الكود الخاص باالاحصائية

 

اريدة ان يحتسب اكبر الاعداد المقاربة للحد

 

يعني مثلا عندي رقم اساسى وهوا 300 مثلا ويرمز له في الكود بـ $hade

 

وهناك مدخلات  مضافة في جدول arc

 

لنقل مثلا ة الكود

 

100

 

200

 

288

 

وظيفة الكود هوا احتساب اكبر عدد مقارب للرقم الاساسي وهوا 300 الذى نرمز اليه ب $hade

 

 

ولكنه لا يحتسب الامر بشكل صحيح حيث انه ان كان ايضا الجدول فارغ بدون اى مدخلات يعطيني 1 مع انه ليس هناك بالاساس ارقام مضافة

 

 

واذا اضفت اكثر من رقم مقاربين بردو يعطينيى واحد

 

 

اريد ان اعرف ما المشكلة فى الاستعلام

<?php
$max = $hade;
$query2 = mysql_query("SELECT MAX(mzayda) AS highNum FROM arc WHERE prod_id='$pp' and mzayda <= $max and tap=0 ");
$accounts=mysql_num_rows($query2);
if($accounts==0)
{

echo "<b><font color='#ff000'>0</font></b>";
}

else

{

echo "<b><font color='#ff000'>$accounts</font></b>";
}
?>
#2

بسيط ان شاء الله ,

سناخذ اول رقم اكبر او يساوي $max

SELECT mzayda FROM arc WHERE prod_id='$pp'  and tap=0 and mzayda>=$max order by mzayda asc limit 1

ثم سنأخذ اول رقم اصغر من او يساوي $max

SELECT mzayda FROM arc WHERE prod_id='$pp'  and tap=0 and mzayda<=$max order by mzayda desc limit 1

سنقارن الرقمين بجملة IF و نختارالاقرب بحيث يكون الفرق بين $max و احد الرقمين هو الاصغر و الا فالرقمين متشابيهن اد يكون الفرق بينهم نفس الشيء

مثال

$num1=299;
$nam2=305;
if(abs($max-$num1) > abs($num2-$max) )
{

// $num2 is more accurate

}
else
{

$num1 is more accurate
}

بالطبع هذه طريقة واحدة

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#3

الكود صحيح اخي لكن قمت بتجربته بشكل اخر

 

 

استفسار بسيط اخر اخي الفاضل كيف اضع هذا الكود بدلاله متغير مثل

$fatma= (int) $_GET['pp'];

 

 

مثل كذا

where prod_id='$fatma'

وهذا هوا الاستعلام المطلوب وضع الدلاله به

$query2a = mysql_query("SELECT id_arc FROM arc INNER JOIN( SELECT mzayda FROM arc GROUP BY mzayda HAVING COUNT(mzayda) > 1) temp ON arc.mzayda=temp.mzayda");
$fatma= (int) $_GET['pp'];
$query2a = mysql_query("SELECT id_arc FROM arc INNER JOIN( SELECT mzayda FROM arc GROUP BY mzayda HAVING COUNT(mzayda) > 1) temp ON arc.mzayda=temp.mzayda");


        while ($rowali = mysql_fetch_assoc($query2a)) {
            $res2[] = $rowali;
        }
        $repeated = array();
        foreach ($res2 as $value) {
            foreach ($value as $value2) {
                $repeated[] = $value2;
            }
        }

        if (!$count3rod) {
            $count3rod = 0;
        }
        $aliid = (int) $_GET['pp'];
        $TotalRecords = mysql_query("SELECT * FROM arc  where prod_id='$aliid' ORDER BY id_arc desc");
        $check_end = mysql_num_rows($TotalRecords);
        $pages1 = 50;
        $check_end = ceil($check_end / $pages1);
        $limit = ($count3rod > 1) ? ($count3rod - 1) * $pages1 : 0;
        $aliid = (int) $_GET['pp'];
        $selectt = "SELECT * FROM arc  where prod_id='$aliid'  ORDER BY id_arc desc LIMIT $limit,$pages1 ";
        $Result = mysql_query($selectt);
        $account3rod = mysql_num_rows($Result);
        $sd = 0;
        while ($Roow = mysql_fetch_assoc($Result)) {
            $sd++;
            extract($Roow);
            ?>      }

حاولت تجربة الكود بكافة الطرق ولم يعمل بشكل سليم يطلع لي خطاء فى هذا السطر

 

        foreach ($res2 as $value) {

تم تعديل هذه المشاركة بواسطة fatmaali في 15 فبراير 2014 في 11:50

#4

في انتظار الرد

مواضيع مشابهة