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

مواقع صديقة: تعلم البي اتش بي - تصميم نت - أفضل استضافة


عودة   منتدى بي اتش بي PHP > قسم لغة بي اتش بي PHP LANGUAGE > مشاكل وحلول PHP Errors & Troubleshooting

مشاكل وحلول PHP Errors & Troubleshooting في هذا القسم يمكنك طرح أي مشكلة أو استفسار يواجهك في برمجة تطبيقات PHP، أيضاً يمكنك المشاركة في حل مشكلات الغير.


إضافة رد
 
LinkBack أدوات الموضوع طريقة العرض
قديم 24-03-2008, 08:26 PM   #1 (permalink)
عضو جديد
 
تاريخ الانتساب: 15-01-2008
مشاركات: 49
مستوى السمعة : 0
amajeed على طريق التميز و النجاح
Post إلى الاخ anas

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

حيث اني اقوم بأول برمجه لي ارغب في متابعك و التصحيح لي إذا لزم الامر

الفكرة / برمجة دليل الهاتف .... مكون من الملفات التالية :
  • عرض الدليل
  • إضافة الارقام
  • خدمة البحث
  • تعديل البيانات
  • حذف البيانات

اولا قاعدة البيانات كالتالي

كود PHP:
 CREATE TABLE `Phone` (
  `
idint(11NOT NULL auto_increment// 
  
`firstnamevarchar(20character set utf8 NOT NULL// حقل الاسم الأول
  
`fathernamevarchar(20character set utf8 NOT NULL// حقل الاسم الثاني
  
`lastnamevarchar(20character set utf8 NOT NULL// حقل الاسم الاخير
  
`addressvarchar(30character set utf8 NOT NULL// حقل العـنوان
  
`phoneint(20character set utf8 NOT NULL// حقل رقم الهاتف
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=
فإذا كانت مدخلات قاعدة البيانات صحيحه او خاطئه إبلاغي بها ، لاني بصراحه سوف إحاول برمجه على اساس برمجة صفحه المناسبات ، وربنا يوفقني ،،،

قام بآخر تعديل amajeed يوم 25-03-2008 في 09:50 PM
amajeed غير متصل   رد مع اقتباس
قديم 24-03-2008, 08:35 PM   #2 (permalink)
مبرمج محترف
 
الصورة الرمزية لـ anas
 
تاريخ الانتساب: 27-02-2008
المكان: العراق - بغداد
السن: 23
مشاركات: 151
مستوى السمعة : 1
anas على طريق التميز و النجاح
افتراضي رد : إلى الاخ anas

وعليكم السلام ورحمة الله وبركاته
اهلا اخي ....
اني اشجعك على هذه الخطوة والله يوفقك ومتابع معاك واتمنى من الاعضاء المتابعة معنا ايضا .....
اول برمجة لك اذا بسم الله الرحمن الرحيم ..
بالنسبة لقاعدة البيانات سليمة وتمام لكن لو بدون set utf8 يكون افضل حتى لا تحدث مشاكل في حال تغير اللغة ...

anas غير متصل   رد مع اقتباس
قديم 24-03-2008, 09:14 PM   #3 (permalink)
عضو جديد
 
تاريخ الانتساب: 15-01-2008
مشاركات: 49
مستوى السمعة : 0
amajeed على طريق التميز و النجاح
افتراضي رد : إلى الاخ anas

بسم الله الرحمن الرحيم

هـذه صفحة إضافة الارقام
أتمنى إذا اي خطاء في الكود تخبرني اخوي

كود PHP:
<?php

if (!$sub) {
    
$in_form "<form name='form' method='post' action='$PHP_SELF'>
  <table width='50%' border='0' align='center' cellpadding='6' cellspacing='0'>
    <tr><td colspan='2'><div align='right'><input name='firstname' type='text' size='20'></div></td>
      <td><div align='right'>: الإسم الأول</div></td></tr>
    <tr><td colspan='2'><div align='right'><input name='fathername' type='text' size='20'></div></td>
      <td><div align='right'>: الإسم الثاني</div></td></tr>
    <tr><td colspan='2'><div align='right'><input name='lastrname' type='text' size='20'></div></td>
      <td><div align='right'>: الإسم الأخير</div></td></tr>
    <tr><td colspan='2'><div align='right'><input name='address' type='text' size='30'></div></td>
      <td><div align='right'>: العــنوان</div></td></tr>
    <tr><td colspan='2'><div align='right'><input name='phone' type='text' size='20'></div></td>
      <td><div align='right'>: رقم الهاتف</div></td></tr>
    <tr><td colspan='2'><div align='right'>
          <input type='reset' name='Reset' value='مسح البيانات'>
          <input name='sub' type='submit' value='إرسال البيانات'>
        </div></td>
     </tr>
  </table>
</form>"
;
    echo 
$in_form;
} else {


    function 
add($firstname$fathername$lastname$address$phone)
    {
        
$query "insert into phone values('','" addslashes($firstname) . "','"  addslashes($fathername) . "','" addslashes($lastname) . "' "','"  . addslashes($fathername) . "', "','"  . addslashes($address) . "'"','"  addslashes($phone) . "')";
        
$result mysql_query($query);
        if (!
$result) {
            echo 
"خطـأ في الارسال";
            exit;
        }
    }
    if (empty(
$firstname) || empty($fathername) empty($lastname) || empty($address) || empty($phone)) {
        echo 
"<div align='center'>الرجاء ملىء جميع الحقول</div>";
        exit;
    }
     
add($firstname$fathername$lastname$address$phone);
    echo 
"<div align='center'>تمت الاضافة بنجاح</div>" "</br>";
    echo 
"<div align='center'><a href='add.php'>إضافه رقم جديد</a></div>";
}
?>

قام بآخر تعديل amajeed يوم 25-03-2008 في 09:52 PM
amajeed غير متصل   رد مع اقتباس
قديم 24-03-2008, 09:29 PM   #4 (permalink)
مبرمج محترف
 
الصورة الرمزية لـ anas
 
تاريخ الانتساب: 27-02-2008
المكان: العراق - بغداد
السن: 23
مشاركات: 151
مستوى السمعة : 1
anas على طريق التميز و النجاح
افتراضي رد : إلى الاخ anas

ما شاء الله عليك ....استيعاب سريع ...
استمر ........
anas غير متصل   رد مع اقتباس
قديم 24-03-2008, 09:33 PM   #5 (permalink)
عضو جديد
 
تاريخ الانتساب: 15-01-2008
مشاركات: 49
مستوى السمعة : 0
amajeed على طريق التميز و النجاح
Post رد : إلى الاخ anas

هذه بالنسبة لصفحة عرض الدليل مستعينا بصفحة happy لاستعياب الدرس

ولكن لدي استفسار ما الفائده من هـا الكود

كود:
while ($f = mysql_fetch_array($result, MYSQL_BOTH)) { 
                echo "<tr><td><div align='center'>" . stripslashes(($f[1])) . "</div></td>" . 
                    "<td><div align='center'>" . stripslashes(($f[0])) . "</div></td></tr>";
كود:
<?php 

    if (!(isset($page))) 

{ 
    $page = 1; 
} else 
{ 
    $page = $_GET['page']; 
} 
$max = 20; //عدد الصفوف للصفحة الواحدة 
$from = ($max * $page) - $max; //المتغير لحساب بداية اختيار السطرمن قاعدة البيانات 
$sql = mysql_query("select firstname, fathername, lastname, address, phone from phone where id"); //الكويري 
$num_sql = mysql_num_rows($sql); //عدد الصفوف 
$sql1 = mysql_query("select firstname, fathername, lastname, address, phone from phone where id limit $from,$max"); //كويري محدد من سطر الى سطر 
$num_sql1 = mysql_num_rows($sql1); 
$pages = ceil($num_sql / $max); //عدد  الصفحات ناتج من قسمة عدد الصفوف في قاعدة البيانات علىعدد الصفوف للصفحة الواحدة 

$result = mysql_query("SELECT "select firstname, fathername, lastname, address, phone from phone where id"); 
    if (!$result) { 
        echo "خطاء في الاتصال"; 
        exit; 
    } else { 
        if (!$h = mysql_num_rows($result) > 0) { 
            echo "<div align='center'>الدليل لا يحتوي على ارقام للعرض</div>"; 
            exit; 
        } else { 

            echo "<table width='100%' border='1' align='center' cellpadding='0' cellspacing='0'> 
  <tr> 
    <td width='15%'><div align='center'>رقم الهاتف</div></td> 
    <td width='25%'><div align='center'>العـنوان </div></td> 
    <td width='20%'><div align='center'>الإسم الأخير</div></td> 
    <td width='20%'><div align='center'>الإسم الأوسط </div></td> 
    <td width='20%'><div align='center'>الإسم الأول </div></td> 
  </tr>"; 

            while ($f = mysql_fetch_array($result, MYSQL_BOTH)) { 
                echo "<tr><td><div align='center'>" . stripslashes(($f[1])) . "</div></td>" . 
                    "<td><div align='center'>" . stripslashes(($f[0])) . "</div></td></tr>"; 

            } 
            echo " 
</table>"; 
if ($page > 1) 
{ 
    $prev = $page - 1; 
    echo "<a href=" . $PHP_SELF . "?page=$prev>prev</a>"; 
} 

for ($i = 1; $i <= $pages; $i++) 
{ 
    if ($page == $i) 
        echo "[$i]"; 
    else 
    { 
        echo "<a href=" . $PHP_SELF . "?page=$i>  $i  </a>"; 
    } 
} 

if ($page < $pages) 
{ 
    $next = $page + 1; 
    echo "<a href=" . $PHP_SELF . "?page=$next>next</a>"; 
} 
        } 

    } 
?>
amajeed غير متصل   رد مع اقتباس
قديم 24-03-2008, 09:51 PM   #6 (permalink)
مبرمج محترف
 
الصورة الرمزية لـ anas
 
تاريخ الانتساب: 27-02-2008
المكان: العراق - بغداد
السن: 23
مشاركات: 151
مستوى السمعة : 1
anas على طريق التميز و النجاح
افتراضي رد : إلى الاخ anas

قف هنا ......
اولا بالنسبة لسؤالك عن الكود الاول , هذا الكود لجلب النتائج من قاعدة البيانات حيث انه يعرف عدد النتائج ويقوم بعرضها على التوالي باستخدام whileا اوكي ..
ثانيا عندنا خطأ في الكود الثاني اي صفحة العرض , كالتالي :
انت تريد عرض جميع المعلومات المتوفرة بقاعدة البيانات ما عدا طبعا id اذا قم بمسح where id اين ما وجدت ...

الخطأ التالي هو انك ستعرض معلومات من عمودين من الجدول الموجود بقاعدة البيانات وانت تريد جميع المعلومات اذا قم بتغيير الكود :
كود PHP:
while ($f mysql_fetch_array($resultMYSQL_BOTH)) { 
                echo 
"<tr><td><div align='center'>" stripslashes(($f[1])) . "</div></td>" 
                    
"<td><div align='center'>" stripslashes(($f[0])) . "</div></td></tr>"

            } 
الى التالي :
كود PHP:
while ($f mysql_fetch_array($resultMYSQL_BOTH)) {
    echo 
"<tr>
                <td><div align='center'>" 
stripslashes(($f[4])) . "</div></td>" .
        
"<td><div align='center'>" stripslashes(($f[3])) . "</div></td>" .
        
"<td><div align='center'>" stripslashes(($f[2])) . "</div></td>" .
        
"<td><div align='center'>" stripslashes(($f[1])) . "</div></td>" .
        
"<td><div align='center'>" stripslashes(($f[0])) . "</div></td>" "</tr>";


ملاحظة : اذا اختلف الترتيب فقط قم بتغيير العناوين التالية :
كود:
    <td width='15%'><div align='center'>رقم الهاتف</div></td> 
    <td width='25%'><div align='center'>العـنوان </div></td> 
    <td width='20%'><div align='center'>الإسم الأخير</div></td> 
    <td width='20%'><div align='center'>الإسم الأوسط </div></td> 
    <td width='20%'><div align='center'>الإسم الأول </div></td>
ملاحظة اخرى : عند كتابتك لكود هنا في المنتدى فيوجد في المحرر الخاص بالكتابة ايكونة مكتوب عليها php قم باستخدامها عندما تريد كتابة كود لتظهر بترتيب وتلوين جميل ..
anas غير متصل   رد مع اقتباس
قديم 24-03-2008, 09:58 PM   #7 (permalink)
عضو جديد
 
تاريخ الانتساب: 15-01-2008
مشاركات: 49
مستوى السمعة : 0
amajeed على طريق التميز و النجاح
Post رد : إلى الاخ anas

كل الشكر والاحترام والتقدير

لك اخوي على هذه المساعدة المفيده جدا لي

فعلا مهما سالت فلن اتعلم الا إذا طبقت بنفسي

معلش سئوال بسيط

يعني هذه الاكواد ثابته في كل البرمجة ولكن تختلف حسب الحاجه لها

فهل هذا صحيح
amajeed غير متصل   رد مع اقتباس
قديم 24-03-2008, 10:06 PM   #8 (permalink)
مبرمج محترف
 
الصورة الرمزية لـ anas
 
تاريخ الانتساب: 27-02-2008
المكان: العراق - بغداد
السن: 23
مشاركات: 151
مستوى السمعة : 1
anas على طريق التميز و النجاح
افتراضي رد : إلى الاخ anas

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

وتحياتي لك وبالتوفيق
anas غير متصل   رد مع اقتباس
قديم 24-03-2008, 10:10 PM   #9 (permalink)
عضو جديد
 
تاريخ الانتساب: 15-01-2008
مشاركات: 49
مستوى السمعة : 0
amajeed على طريق التميز و النجاح
افتراضي رد : إلى الاخ anas

في حالة إضافة رقم للدليل والتشيك لتأكد من مـاذا إذا كان موجود أم لا ثم يقوم بإضافته

فهل من مساعدة في هذا الامر لتكن الفكرة واضحه بالكامل

وشكرا على تعاونك اخوي
amajeed غير متصل   رد مع اقتباس
قديم 24-03-2008, 10:23 PM   #10 (permalink)
مبرمج محترف
 
الصورة الرمزية لـ anas
 
تاريخ الانتساب: 27-02-2008
المكان: العراق - بغداد
السن: 23
مشاركات: 151
مستوى السمعة : 1
anas على طريق التميز و النجاح
افتراضي رد : إلى الاخ anas

اذا كان قصدك انه اذا كان الرقم موجود مسبقا يطبع رسالة تخبرك بذلك واذا لم يكن موجود يضيفه الى قاعدة البيانات , فقم باضافة الكود التالي في صفحة اضافة الارقام وتحديدا بعد هذا الكود
كود PHP:
    if (empty($firstname) || empty($fathername) empty($lastname) || empty($address) || empty($phone)) {
        echo 
"<div align='center'>الرجاء ملىء جميع الحقول</div>";
        exit;
    } 
اضف :
كود PHP:
<?php
$query99 
"select phone_number from phone where phon_number='" $phone_num .
    
"'";
$result99 mysql_query($query99);
if (!
$result99) {
    echo 
"خطأ";
} else {
    if (
mysql_num_rows($result99) > 0) {
        echo 
"هذا الرقم موجود مسبقا ";
        exit;
    }
}
مع تغيير ما يلزم مثل اسم العمود واسم الادخال ...
anas غير متصل   رد مع اقتباس
إضافة رد


زوار هذا الموضوع الآن : 1 (0 عضو و 1 ضيف)
 

(View-All Members who have read this thread : 9
أبومؤمل, amajeed, azharhost.com, بلال كيالي, hossam2044, خا999لد, يوسف الحمود, Kariro, learn4php2anas
أدوات الموضوع
طريقة العرض
عادي عادي

ضوابط المشاركة
غير مصرّح لك بنشر موضوع جديد
غير مصرّح لك بنشر ردود
غير مصرّح لك برفع مرفقات
غير مصرّح لك بتعديل مشاركاتك

وسوم vB : نشيط
كود [IMG] : نشيط
كود هتمل : خامل
Trackbacks are نشيط
Pingbacks are نشيط
Refbacks are نشيط
الانتقال السريع

مواضيع ذات صلة
الموضوع الكاتب المجلس المشاركات المشاركة الأخيرة
عاجل بليييييييييييييييز خاصة الاخ eg_arnous HANA قسم الأنماط الإنسابية CSS 5 24-05-2008 08:15 PM


يمنع نقل أي من موضوعات المنتدى دون إذن كتابي مسبق من إدارة المنتدى، مع الشكر.
التوقيت حسب جرينتش +3. الساعة الآن 06:32 PM.