اذهب إلى المحتوى

السؤال

نشر

كيفكم يا أصدقاء.... فيه سؤالين... الأول فيه الفورم حقول لإرسال الصور... عاوز تكون حجم الصور خمسمية كيلو بايت... غير هيك حجم مشعاوز يقبل به حقل الصور... 

 

السؤال الثاني فيه بيانات هائلة موجودة في قاعدة بيانات mysqli وموجودة في جدول بيانات php فيه زر تحميل البيانات من جدول php... هل ممكن يتوقف أثناء تحميل البيانات الهائلة ام هذا يعتمد على الاستضافة ونوع السيرفر ام يعتمد على اكواد php 

 

Recommended Posts

  • 0
نشر

بالنسبة للسؤال الأول فإذا أردت التحقق من الملف قبل إرسال ال form إلى الواجهة الخلفية فالأمر بسيط يمكنك إستخدام الكود التالي :

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
function checkFileSize(event) {
    const file = event.target.files[0];
    const fileSize = file.size; 
    if(fileSize >= 500000) {
        alert('من فضلك إختر حجم ملف أقل من 500KB ')    
        event.target.value=""
    }
}
</script>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" onchange="checkFileSize(event)" required>
        <input type="submit" value="أضف">
    </form>
</body>
</html>

هنا أنشئنا الدالة checkFileSize والتي تقوم بالتحقق من حجم الملف وإذا كان حجم الملف أكبر من 500KB سيقوم بإظهار رساله للمستخدم بأنه لا يمكن رفع ملف أكثر من 500KB و سيقوم بحذف إختيار الملف الذى إختاره المستخدم وسيتوجب عليه إختيار ملف أخر .

ولكن يجب عليك أيضا التحقق في الواجهة الخلفية حيث من الممكن أن يقوم المستخدم بإبطال عمل كود ال java script .

أما بالنسبة إلى سؤال الثاني نعم فبالطبع تلك مشكلة ومن الممكن بشكل كبير أن يتوقف البرنامج عن العمل وحدوث مشاكل أو يؤدي إلى بطئ في السكريبت .

ولكن هذا يعتمد علي طريقة كتابتك للكود حيث إذا قمت بإنشاء ملف في متغير وتقوم بكتابة البيانات فيه فهذا من الممكن بشكل كبير أن يؤدي لمشكلة إستهلاك جميع الموارد أو ان أقصي إستخدام للذاكرة في php يتم تخطيه وبذلك ستحصل مشاكل .

وأيضا قاعدة البيانات ستكون بطيئة في إسترجاع تلك الكمية الكبيرة من البيانات .

  • 0
نشر
بتاريخ 9 دقائق مضت قال محمد عاطف17:

بالنسبة للسؤال الأول فإذا أردت التحقق من الملف قبل إرسال ال form إلى الواجهة الخلفية فالأمر بسيط يمكنك إستخدام الكود التالي :

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
function checkFileSize(event) {
    const file = event.target.files[0];
    const fileSize = file.size; 
    if(fileSize >= 500000) {
        alert('من فضلك إختر حجم ملف أقل من 500KB ')    
        event.target.value=""
    }
}
</script>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" onchange="checkFileSize(event)" required>
        <input type="submit" value="أضف">
    </form>
</body>
</html>

هنا أنشئنا الدالة checkFileSize والتي تقوم بالتحقق من حجم الملف وإذا كان حجم الملف أكبر من 500KB سيقوم بإظهار رساله للمستخدم بأنه لا يمكن رفع ملف أكثر من 500KB و سيقوم بحذف إختيار الملف الذى إختاره المستخدم وسيتوجب عليه إختيار ملف أخر .

ولكن يجب عليك أيضا التحقق في الواجهة الخلفية حيث من الممكن أن يقوم المستخدم بإبطال عمل كود ال java script .

أما بالنسبة إلى سؤال الثاني نعم فبالطبع تلك مشكلة ومن الممكن بشكل كبير أن يتوقف البرنامج عن العمل وحدوث مشاكل أو يؤدي إلى بطئ في السكريبت .

ولكن هذا يعتمد علي طريقة كتابتك للكود حيث إذا قمت بإنشاء ملف في متغير وتقوم بكتابة البيانات فيه فهذا من الممكن بشكل كبير أن يؤدي لمشكلة إستهلاك جميع الموارد أو ان أقصي إستخدام للذاكرة في php يتم تخطيه وبذلك ستحصل مشاكل .

وأيضا قاعدة البيانات ستكون بطيئة في إسترجاع تلك الكمية الكبيرة من البيانات .

تقصد كود الإرسال ام كود الخاص بإستيراد البيانات من قاعدة بيانات mysql? 

  • 0
نشر
بتاريخ 15 دقائق مضت قال Baker Mohammed:

تقصد كود الإرسال ام كود الخاص بإستيراد البيانات من قاعدة بيانات mysql? 

بالنسبة للسؤال الأول فالكود المرسل هو كود الإرسال لقاعدة البيانات .

أما السؤال الثاني فأقصد كود الإستيراد من قاعدة البيانات

  • 0
نشر
بتاريخ 3 دقائق مضت قال محمد عاطف17:

بالنسبة للسؤال الأول فالكود المرسل هو كود الإرسال لقاعدة البيانات .

أما السؤال الثاني فأقصد كود الإستيراد من قاعدة البيانات

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

 

موضوع كثرة البيانات على ماذا يعتمد بالدرجة الأولى؟ 

  • 0
نشر
بتاريخ الآن قال Baker Mohammed:

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

 

موضوع كثرة البيانات على ماذا يعتمد بالدرجة الأولى؟ 

ماذا تقصد بالجدول الأول فيه جميع البيانات المستلمة ؟ هل تقصد أنه يقوم بإرجاع جميع البيانات الموجودة في قاعدة البيانات وإظهارها في هذا الجدول ؟ إذا كان كذلك فهذا ليس جيدا يجب عمل (pagination) أى صفحات للجدول حيث يتم إظهار 20 صف بحد أقصي في الجدول ويمكنه إختيار التالي أو السابق أو الذهاب لصفحة معينة وذلك أفضل شئ من حيث الأداء كما فعلت في الجدول الثاني .

أما موضوع كثرة البيانات أقصد عدد الصفوف في قاعدة البيانات وهذا أيضا يعتمد على حالة الإستضافة و المواد المستخدمة .

حيث سابقا كنت أعمل على مشروع وكان هناك جدول يحتوي على 400 الف صف وكان يتم عرضه بالكامل في الصفحة .

كان الإسكريبت بطئ جدا وكانت الصفحة من الممكن أن تأخذ 20 إلى 30 ثانية للتحميل وبعد التحميل تجد المتصفح أصبح بطيئا جدا من كثرة البيانات فيه .

ولهذا يفضل عدم إرجاع أكثر من 10-15 ألف صف مرة واحدة 

  • 0
نشر
بتاريخ 5 دقائق مضت قال محمد عاطف17:

ماذا تقصد بالجدول الأول فيه جميع البيانات المستلمة ؟ هل تقصد أنه يقوم بإرجاع جميع البيانات الموجودة في قاعدة البيانات وإظهارها في هذا الجدول ؟ إذا كان كذلك فهذا ليس جيدا يجب عمل (pagination) أى صفحات للجدول حيث يتم إظهار 20 صف بحد أقصي في الجدول ويمكنه إختيار التالي أو السابق أو الذهاب لصفحة معينة وذلك أفضل شئ من حيث الأداء كما فعلت في الجدول الثاني .

أما موضوع كثرة البيانات أقصد عدد الصفوف في قاعدة البيانات وهذا أيضا يعتمد على حالة الإستضافة و المواد المستخدمة .

حيث سابقا كنت أعمل على مشروع وكان هناك جدول يحتوي على 400 الف صف وكان يتم عرضه بالكامل في الصفحة .

كان الإسكريبت بطئ جدا وكانت الصفحة من الممكن أن تأخذ 20 إلى 30 ثانية للتحميل وبعد التحميل تجد المتصفح أصبح بطيئا جدا من كثرة البيانات فيه .

ولهذا يفضل عدم إرجاع أكثر من 10-15 ألف صف مرة واحدة 

انا لديه فورم استقبال البيانات مرتبط مع قاعدة بيانات.... َقاعدة بيانات فيها ٢٥ عامود.... البيانات المستلمة قد تصل إلى ٦٠ الف مكونة من نصوص وصور... انشأت جدولين لإسترداد البيانات... جدول سيتم استرداد جميع البيانات فيه... وجدول اخر سيعرض بيانات حسب الطلب مثلاً بدي ١٠٠٠ اسم سيعرض لي ١٠٠٠ اسم... اما موضوع تحميل البيانات على الأكسل عملت زر في الجدول الأول الذي فيه تعرض جميع البيانات.... انا احتاج الى حفظ جميع البيانات في الاكسل لا غير.... وعملت ذالك 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...