صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 18

الموضوع: بالنسبة لــ functions تعقدت

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    700

    بالنسبة لــ functions تعقدت



    السلام عليكم



    اخواني لدي في ملف الـ function

    اوامر وهم

    كود:
    function hijridate($GetDateFormat,$DFormat)
    {
        //start function
        $Days=@date("D");   //print day name+Saturday-->Friday
        //start hijri function date
        $TDays=round(strtotime($GetDateFormat)/(3600*24));
        $HYear=round($TDays/354.3667);
        $Remain=$TDays-($HYear*354.3667);
        $HMonths=round($Remain/29.5305);
        $HDays=$Remain-($HMonths*29.5305);
        $HYear=$HYear+1389;
        $HMonths=$HMonths+10;
        $HDays=$HDays+23;
        //hijri function days between [29:30]
        if ($HDays>29.5305 and round($HDays)!=30)
        {
            $HMonths=$HMonths+1;
            $HDays=Round($HDays-29.5305);
        }
        else
        {
            $HDays=Round($HDays);
        }
        //hijri function months
        if ($HMonths>12)
        {
            $HMonths=$HMonths-12;
            $HYear=$HYear+1;
        }
        //hijri month names [print month name]
        if ($HMonths=="1")  $hmname="محرم";
        if ($HMonths=="2")  $hmname="صفر";
        if ($HMonths=="3")  $hmname="ربيع الأول";
        if ($HMonths=="4")  $hmname="ربيع الثاني";
        if ($HMonths=="5")  $hmname="جمادى الأولى";
        if ($HMonths=="6")  $hmname="جمادى الثانية";
        if ($HMonths=="7")  $hmname="رجب";
        if ($HMonths=="8")  $hmname="شعبان";
        if ($HMonths=="9")  $hmname="رمضان";
        if ($HMonths=="10") $hmname="شوال";
        if ($HMonths=="11") $hmname="ذو القعدة";
        if ($HMonths=="12") $hmname="ذو الحجة";
        //day function [print day name]
        if ($Days=="Sat")   $dd="السبت";
        if ($Days=="Sun")   $dd="الأحد";
        if ($Days=="Mon")   $dd="الاثنين";
        if ($Days=="Tue")   $dd="الثلاثاء";
        if ($Days=="Wed")   $dd="الأربعاء";
        if ($Days=="Thu")   $dd="الخميس";
        if ($Days=="Fri")   $dd="الجمعة";
    
        $les = strlen($DFormat);
        for($i=0; $i<=$les; $i++)
        {
            $df[$i]= substr ($DFormat,$i,1);
            if($df[$i]=="A" || $df[$i]=="a")
            {
                $ddf=@date("a",$GetDateFormat);
                if(substr($ddf,0,1)=="a")
                {
                    $Result.="صباحاً";
                }
                else
                {
                    $Result>="مساءً";
                }
            }
            elseif($df[$i]=="D")  {$Result.="$dd";}
            elseif($df[$i]=="d")  {$Result.="$HDays";}
            elseif($df[$i]=="m")  {$Result.="$HMonths";}
            elseif($df[$i]=="M")  {$Result.="$hmname";}
            elseif($df[$i]=="y")  {$Result.="$HYear";}
            elseif($df[$i]=="Y")  {$Result.="$HYear"."هجري";}
            elseif($df[$i]=="g")  {$Result.=@date("g",$GetDateFormat);}
            elseif($df[$i]=="G")  {$Result.=@date("G",$GetDateFormat);}
            elseif($df[$i]=="i")  {$Result.=@date("i",$GetDateFormat);}
            elseif($df[$i]=="H")  {$Result.=@date("H",$GetDateFormat);}
            elseif($df[$i]=="h")  {$Result.=@date("i",$GetDateFormat);}
            elseif($df[$i]=="s")  {$Result.=@date("s",$GetDateFormat);}
            else
            {
                $Result.=$df[$i];
            }
        }
        return $Result;
        //end hijri function date
    }
    طيب وفتحت صفحة الـ index.php

    وكتبت

    include("functions.php");

    وكتبت التاريخ والوقت - hijridate($GetDateFormat,$DFormat);

    ولم يعمل عقدني

    ممكن تساعدونا والله يجزاكم خير







  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    كأنك تقول كتبت هذا السطر
    كود PHP:
    $text"السلام عليكم"
    ولم يعمل معي

    لاحظ اخر الدالة

    return $Result;

    اي ان الدالة ترجع لك قيمة لا بد من اسنادها لمتغير او استخدامه في دالة الطباعه مثلا

    فالسطر اللي انا كتبته
    ينقصه
    حتى يطبع النص
    كود PHP:
    echo $text


    اتمنى وضحت الصورة

    كود PHP:
    echo  hijridate($GetDateFormat,$DFormat); 






    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    700


    يعطيك العافيه اخي الكريم

    لكن حاولت ومافي فايده نفس المشكله لا يظهر التاريخ وله الوقت






  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    700


    علشان اوضح لك زياده اخي فلاشر


    عندي ملف article ويحتوي على..

    كود:
    else{
    
     $date=date("Y-n-j");
    
    $aze = $lib->query($dre,"INSERT INTO wd_artcom VALUES('','$name','$mail','$urcomment','$id','$date','0')",0);
    
    echo "<center><font face=tahoma>تم اضافة التعليق";
    echo"<META HTTP-EQUIV=\"refresh\" CONTENT=\"1; URL=?p=$p&action=read&id=$id\">";
    }
    
    }
    شوف انا اضفت $date=date("Y-n-j"); التاريخ مثلأ 1-12-2007

    اريد اضافة الوقت ويكتب بالعربي الجمعه او الخميس او السبت

    وشكراً






  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    طيب وش نوع حقل التاريخ ؟ عدله الى VarChar وعطه حجم 50





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    700


    طيب حقل هو
    varchar(200)


    كيف اضافة الوقت واسم اليوم؟؟






  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    استبدل السطر

    $date=date("Y-n-j");

    بـ

    كود PHP:
    $date hijridate(time() , "Y-m-d A" ); 
    هذا اسهل شئ لو تبغى نصيحتي
    خزن ال time() في الحقل واذا جيت بتطبع استدع الدالة مع تغيير البارمتر الثاني باللي اخذته من الجدول
    ويكون الحقل int





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    700


    اول شي اشكرك اخ فلاشر لمتابعتك

    بعد العمليه الي ظهر

    بتاريخ: 1389هجري-10-23


    بالنسبه الى

    *******
    هذا اسهل شئ لو تبغى نصيحتي
    خزن ال time() في الحقل واذا جيت بتطبع استدع الدالة مع تغيير البارمتر الثاني باللي اخذته من الجدول
    ويكون الحقل int
    *******

    ما فهمت عليك

    بس الي ظهر التاريخ الهجر وانا ابيه ميلادي + الوقت + اليوم


    شكرأ






  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    405


    ^o) ... إذا تبيه ميلادي ليه استعملت دالة تحول التاريخ للهجري ؟ ^o) .. لا أفهمك صراحة ..

    اعذرني Flasher لتدخلي .. أعتقد الاخ يبي d-m-Y H:i:s A مع اسم اليوم مترجم للعربية .. يرجى التوضيح حقيقة لم أعد أفهم كثيراً ..

    تحياتي،






  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    700


    اخ الحق يعلو


    انا الي بيه يا ليت تفهموني لاني تعبت وتعبتكم معاي


    مثال: ميلادي طبعاً


    1-12-2007 4:45:11 الخميس صباحاً






  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    اقتباس المشاركة الأصلية كتبت بواسطة الحق يعلو
    ^o) ... إذا تبيه ميلادي ليه استعملت دالة تحول التاريخ للهجري ؟ ^o) .. لا أفهمك صراحة ..

    اعذرني Flasher لتدخلي .. أعتقد الاخ يبي d-m-Y H:i:s A مع اسم اليوم مترجم للعربية .. يرجى التوضيح حقيقة لم أعد أفهم كثيراً ..

    تحياتي،
    بالعكس زين ماسويت اخوي


    والحين وخر شوي خلني اتفاهم مع "ويانا"

    الحين تبغى اليوم والوقت بالعربي بس .. وجايبلي دالة كاملة تحويل للهجري ياتعبان

    شف هذي مسويها من زمان
    كود PHP:

    /*
        (c) 2007 Flasher <flasher@flasher.ws>
    */
    function Translete$arr $str )
    {
        return 
    str_replacearray_keys($arr)  , $arr $str);
    }

    function 
    DateArabic($time 0,$format 'D j M Y - g:i a'$zone ' بتوقيت مكة المكرمة')
    {
        
    $Date date$format $time );
        
    $Months = array
        (
            
    'Jan' => 'كانون ثاني',
            
    'Feb' => 'شباط ',
            
    'Mar' => 'اذار ',
            
    'Apr' => 'نيسان ',
            
    'May' => 'ايار',
            
    'Jun' => 'حزيران ',
            
    'Jul' => 'تموز',
            
    'Aug' => 'اب',
            
    'Sep' => 'ايلول',
            
    'Oct' => 'تشرين اول',
            
    'Nov' => 'تشرين ثاني',
            
    'Dec' => 'كانون اول'
        
    );
        
    $Days = array
        (
            
    'Sat' => 'السبت',
            
    'Sun' => 'الأحد',
            
    'Mon' => 'الاثنين',
            
    'Tue' => 'الثلاثاء',
            
    'Wed' => 'الاربعاء',
            
    'Thu' => 'الخميس',
            
    'Fri' => 'الجمعة'
        
    );
        
    $ampm = array
        (
            
    'am' => 'صباحاً',
            
    'pm' => 'مساءً'
        
    );
        
        
    $Date Translete(  $Months ,    $Date);
        
    $Date Translete(  $Days   ,    $Date);
        
    $Date Translete(  $ampm   ,    $Date);
        
        return 
    $Date.$zone;

    طريقة الاستخدام

    كود PHP:
    echo DateArabictime() ); 
    او


    كود PHP:
    echo DateArabictime() ,'ضع صيغة التاريخ هنا Y M D j m الخ'); 
    تحياتي





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    405


    الفنكشنز :
    كود PHP:
        function arabicDayName($day) {
            switch (
    $day) {
                case 
    "Sun": return "الأحد";
                case 
    "Mon": return "الاثنين";
                case 
    "Tue": return "الثلاثاء";
                case 
    "Wed": return "الأربعاء";
                case 
    "Thu": return "الخميس";
                case 
    "Fri": return "الجمعة";
                case 
    "Sat": return "السبت";
            }

            return 
    $day;
        }

        function 
    arabicAMPM($str) {
            
    $str str_replace("AM""صباحاً"$str);
            
    $str str_replace("PM""مساءً"$str);
            return 
    $str;
        } 
    قيمة التاريخ:
    كود PHP:
        $date arabicDayName(date('D')) .date("d-m-Y H:i:s ") . arabicAMPM(date('A')); 
    إن شاء الله يفي بالغرض وعذراً على التأخير ..






  13. #13
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    405


    يالله مرة لك ومرة عليك يا فلاشر ... فزت بفارق 4 دقائق الف مبرووك ..

    جزاك الله خيراً وان شاء الله الأخ يستفيد ..

    تحياتي،






  14. #14
    عضو سوبر نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    700


    قاعدين تتسابقون على موضوعي والله وناسه

    الله يجزاكم الف خير








  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    405


    واياك يارب ..

    بالمناسبة حبيت اوضح كلام الاخ فلاشر:
    هذا اسهل شئ لو تبغى نصيحتي
    خزن ال time() في الحقل واذا جيت بتطبع استدع الدالة مع تغيير البارمتر الثاني باللي اخذته من الجدول
    ويكون الحقل int
    يعني الحين انت ما تخزن القيمة هذي .. بل تخزن قيمة time() اللي هي الـ Unix Timestamp .. ( وقت يونيكس منذ 1970 بالثواني ) .. وبدل ما تخزنه منسّق .. خزنه مثل ما هو .. ولما ترجع تستدعيه اعمل تنسيق له بنفس الطريقة اللي هنا لكن التنسيق يكون بعد الاسترجاع وليس عند التخزين ..

    ملاحظة: هذي الطريقة تسهل الكثييير الكثير .. ممكن انت تكون محتاج الوقت وانت تخزن التاريخ .. بهذي الطريقة انت تخزن فقط time() ومنها تحصل على كل ما يخص الوقت في وقت ادخال السجل .. أتمنى أن يكون قد وصلك جزءاً من الفكرة عزيزي ,, وجزى االله الأخ فلاشر خيراً ..

    تحياتي،










المواضيع المتشابهه

ضوابط المشاركة

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض