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

أين الخطأ في هذا الكود؟

بدأه أسد الجزيرة في 1 أكتوبر 2010 · 15 رد · 1,110 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وكل عام وأنتم بخير

بعد دخولي في خوض PHP وبرمجة الإنترنت مازلت أواجه بعض الإشكالات أتمنى منك مساعدتي:

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

<?php

/**
 * @author kaab30
 * @copyright 2010
 */
?>

<div align="center" dir="rtl">
    <form method="post" enctype="text/plain" name="sorttech" lang="Arabic" dir="RTL ">
        اختر التخصص المطلوب: 
        <select size="1" name="subjctslct" lang="Arabic" dir="RTL " title="التخصص">
        	<option value="2">شريعه</option>
        	<option value="20">لغه عربيه</option>
        	<option value="لغه انجليزيه">لغه انجليزيه</option>
        	<option value="تربيه فنيه">تربيه فنيه</option>
        	<option value="28">حضاره ونظم اسلاميه</option>
        	<option value="31">اجتماع</option>
        	<option value="35">اقتصاد منزلى</option>
        </select>
        <input type="submit" name="subjb" lang="Arabic" dir="RTL " title="إعرض" />
    </form>
</div>

<?php
	      if($_POST["subjctslct"]){

	      $nlink = mysql_connect("localhost", "db7260","123");

	      if (!$nlink) {
		      die('  : ' . mysql_error());
	      }
	      mysql_query("SET NAMES 'utf-8'");
		  $db_selected = mysql_select_db("adawn", $nlink);

	      if (!$db_selected) {
		      die ('  : ' . mysql_error());
	      }

	      $sql = "select * from `sortsubjct` where subject='". $_POST["subjctslct"] ."'";

	      @$res =  mysql_query($sql,$nlink) ;
               echo "<table border=1 cellpadding=0 cellspaceing=0 style=border-collapse: collapse bordercolor=#111111 width=50%>";
               echo "<td width=5% align=center bgcolor=#FF0000> الرقم </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> الاســـــــم </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> النقــــــاط </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> المؤهــــــل </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> نوع المؤهــل </td>";
               $xno = 1;		  
           while (@$lROW = mysql_fetch_array($res, MYSQL_ASSOC)){
               echo "<tr>";
               echo "<td width=5% align=center>'". $xno. "'</td>";                   
               echo "<td width=20% align=right>'". $lROW[name]. "'</td>";
               echo "<td width=5% align=center>'". $lROW[degree]. "'</td>";
               echo "<td width=10% align=center>'". $lROW[certificate]. "'</td>";
               echo "<td width=5% align=center>'". $lROW[type_certif]. "'</td>";
               echo "</tr>";
               $xno = 1 + $xno;                    
               }
            echo "</table>";           		  

    mysql_free_result($resid);
    mysql_close($nlink);

} ?>

فأين الخطأ؟

كما أني أريده أن يعرض البيانات في عدة صفحات

تم تعديل هذه المشاركة بواسطة أسد الجزيرة في 1 أكتوبر 2010 في 15:21

#2

ماهو الخطأ الذي يظهر ؟ أم تظهر الصفحة بيضاء فقط ؟

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#3

صفحة بيضاء لا تتغير

ما يظهر فقط الخيارات من قائمة البوكس Combox وزر الإرسال submit وإذا اخترت أي تخصص لا يظهر شيء

#4

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

لا يعرض بيانات فقط جدول فارغ

post-85055-076530100 1285953829_thumb.jp

هل من معين

تكفى مستعجل

المرفقات
subj.jpg

تم تعديل هذه المشاركة بواسطة أسد الجزيرة في 1 أكتوبر 2010 في 20:28

#5

غيرت بالكود وإلى الآن نفس المشكلة هذا الكود الجديد

<?php

/**
 * @author kaab30
 * @copyright 2010
 */

?>
<div align="center" dir="rtl">
    <form method="post" name="sorttech" action="sortsubjct.php">
        اختر التخصص المطلوب: 
        <select size="1" name="subjctslct" lang="Arabic" dir="RTL " title="التخصص">
        	<option value="شريعه">شريعه</option>
        	<option value="لغه عربيه">لغه عربيه</option>
        	<option value="لغه انجليزيه">لغه انجليزيه</option>
        	<option value="تربيه فنيه">تربيه فنيه</option>
        	<option value="حضاره ونظم اسلاميه">حضاره ونظم اسلاميه</option>
        	<option value="اجتماع">اجتماع</option>
        	<option value="اقتصاد منزلى">اقتصاد منزلى</option>
        </select>
        <input type="submit" name="subjb" lang="Arabic" dir="RTL " title="إعرض" />
    </form>
</div>

<?php
        echo "<div dir=rtl align=center>";
        echo "<html dir=rtl>";
        echo "<TITLE> ترتيب المتقدمات حسب الخدمة المدنية </TITLE>";
	      if($_POST["subjctslct"]){
	      $dbc = mysql_connect ("localhost", "db7260","123") or die ('Could not connect to MySQL:' . mysql_error());

		  mysql_select_db('adawn', $dbc) or die ('Could not select the database: ' . mysql_error());   	 

 	      $query = "SELECT * FROM `sortsubjct` WHERE subject='" . $_POST['subjctslct'] . "' ORDER BY degree DEC";

           $result = mysql_query($query, $dbc);

               echo "<table border=1 cellpadding=0 cellspaceing=0 style=border-collapse: collapse bordercolor=#111111 width=50%>";
               echo "<td width=5% align=center bgcolor=#FF0000> الرقم </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> الاســـــــم </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> النقــــــاط </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> المؤهــــــل </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> نوع المؤهــل </td>";
               $xno = 1;		  
               if ($result && (mysql_num_rows($result) > 0)){}
               while ($row = @mysql_fetch_array($result)){
                       echo "<tr>";
                       echo "<td width=5% align=center style='color: black;'>'". $xno. "'</td>";                   
                       echo "<td width=30% align=right style='color: black;'>'". $row['name'] ."'</td>";
                       echo "<td width=5% align=center style='color: black;'>'". $row['degree'] ."'</td>";
                       echo "<td width=20% align=center style='color: black;'>'". $row['certificate'] ."'</td>";
                       echo "<td width=5% align=center style='color: black;'>'". $row['type_certif'] ."'</td>";
                       echo "</tr>";
                       $xno = 1 + $xno;                    
               }

            echo "</table>";           		  

    mysql_close();
}
echo "</html>";
echo "</div>";
?>

وإلى الآن تظهر الصفحة

كما ترون:

post-85055-095488300 1285964665_thumb.jp

آمل مساعدتي

المرفقات
subj.jpg
#6

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

أخي مبدأياً قم بنسخ الاستعلام الموجود في الصفحة و جربه في الـ phpmyadmin و انظر إن كان يرد قيمة أم لا

طبعا عليك استبدال المتغير :

$_POST['subjctslct']

الموجود بالاستعلام بالقيم الموجودة في الـ Select

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

Everything will be fine when we TALK LESS, DO MORE


#7

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

FROM `sortsubjct` WHERE subject = 'شريعه' ORDER BY degree DESC

أعطى النتائج في phpmyadmin بشكل صحيح

#8

هذا جيد جداً

الآن ننتقل إلى تنقيح الكود الذي وضعته

هل تأكدت من كون المتغير :

$_POST['subjctslct']

يتم ارساله بشكل صحيح؟ أي هل جربت طباعة قيمته؟

النقطة الثانية :

if ($result && (mysql_num_rows($result) > 0)){}

ما الفائدة من هذا السطر بشكله الحالي؟

النقطة الثالثة :

لديك single quote زائدة في هذه الأسطر :

echo "<td width=5% align=center style='color: black;'>(')". $xno. "(')</td>";
       				echo "<td width=30% align=right style='color: black;'>(')". $row['name'] ."(')</td>";
       				echo "<td width=5% align=center style='color: black;'>(')". $row['degree'] ."(')</td>";
       				echo "<td width=20% align=center style='color: black;'>(')". $row['certificate'] ."(')</td>";
       				echo "<td width=5% align=center style='color: black;'>(')". $row['type_certif'] ."(')</td>";

قم بازالة كل ما هو موجود بين قوسين (طبعا ليست هي المشكلة والله أعلم ولكن لا داعي لوجودها ﻷنه سيتم طباعتها)

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

بتوفيق الله..

تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 2 أكتوبر 2010 في 02:09

Everything will be fine when we TALK LESS, DO MORE


#9

شلنا single qoute كما ترى أخي

               if ($result){
               while ($row=mysql_fetch_array($result)){

                       echo "<tr>";
                       echo "<td width=5% align=center>". $xno ."</td>";                   
                       echo "<td width=40% align=right>". $row['name'] ."</td>";
                       echo "<td width=5% align=center>" . $row['degree'] . "</td>";
                       echo "<td width=20% align=center>". $row['certificate'] ."</td>";
                       echo "<td width=5% align=center>". $row['type_certif'] ."</td>";
                       echo "</tr>";
                       $xno = 1 + $xno;                    
               }
}

وإلى الآن حتى بعد تعديلات الكود لم تنجح

#10

هذا ملف مرفق إكسل به مثال على البيانات

يمكن تحويله إلى Mysql ثم تجربت

حسب طلبك

subject123.zip

#11

ويمكن التواصل معي عبر

kaa_b

بريد هوتمل

#12

الأخ الفاضل

قم بحذف

mysql_close()

لا فائدة منها اطلاقا هنا

وسيعمل الكود بشكل طبيعي

واليك الكود الاخير بعد حذفها ، وبعد حذف بعض النقاط التي لا داعي لها في الكود

<?php

/**
 * @author kaab30
 * @copyright 2010
 */

?>
<div align="center" dir="rtl">
    <form method="post" name="sorttech" action="">
        اختر التخصص المطلوب: 
        <select size="1" name="subjctslct" lang="Arabic" dir="RTL " title="التخصص">
                <option value="شريعه">شريعه</option>
                <option value="ar">لغه عربيه</option>
                <option value="لغه انجليزيه">لغه انجليزيه</option>
                <option value="تربيه فنيه">تربيه فنيه</option>
                <option value="حضاره ونظم اسلاميه">حضاره ونظم اسلاميه</option>
                <option value="اجتماع">اجتماع</option>
                <option value="اقتصاد منزلى">اقتصاد منزلى</option>
        </select>
        <input type="submit" name="subjb" lang="Arabic" dir="RTL " title="إعرض" />
    </form>
</div>

<?php
        echo "<div dir=rtl align=center>";
        echo "<html dir=rtl>";
        echo "<TITLE> ترتيب المتقدمات حسب الخدمة المدنية </TITLE>";
              if($_POST["subjctslct"]){
              $dbc = mysql_connect ("localhost", "db7260","123") or die ( mysql_error());

                  mysql_select_db('adawn', $dbc) or die (mysql_error());     

             $query = "SELECT * FROM `sortsubjct` WHERE subject='$_POST[subjctslct]' ORDER BY degree ";

           $result = mysql_query($query, $dbc);

               echo "<table border=1 cellpadding=0 cellspaceing=0 style=border-collapse: collapse bordercolor=#111111 width=50%>";
               echo "<td width=5% align=center bgcolor=#FF0000> الرقم </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> الاســـــــم </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> النقــــــاط </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> المؤهــــــل </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> نوع المؤهــل </td>";
               $xno = 1;                  
               while ($row = @mysql_fetch_array($result)){
                       echo "<tr>";
                       echo "<td width=5% align=center style='color: black;'>'". $xno. "'</td>";                   
                       echo "<td width=30% align=right style='color: black;'>'". $row['name'] ."'</td>";
                       echo "<td width=5% align=center style='color: black;'>'". $row['degree'] ."'</td>";
                       echo "<td width=20% align=center style='color: black;'>'". $row['certificate'] ."'</td>";
                       echo "<td width=5% align=center style='color: black;'>'". $row['type_certif'] ."'</td>";
                       echo "</tr>";
                       $xno = 1 + $xno;                    
               }

            echo "</table>";                      

}
echo "</html>";
echo "</div>";
?>

وهناك خطأ ببسيط اخر

هذا الجزء :

 ORDER BY degree DEC

به خطا هجائي

والصح كلمة DESC

حرف ال s واقع منك :)

تم تعديل هذه المشاركة بواسطة webdesigner في 2 أكتوبر 2010 في 11:20

#13

أهلا اخي كل ما طلبته تم تنفيذه بالحرف الواحد لوكن نفس المشكل لا تظهر بيانات !!!!!!!!!!!

لأ أعلم وحاولت التعديل بشتى الطرق ولكن المشكلة ما زالت رغم اني تأخرت كثيراً وطاح الفاس بالراس :wacko: لكن الحمد لله على كل حال مازال في ومضت آمل :happy:

والآن هدفي أني أنجزه لمعرفة المشكلة فقط ولتفاديه فيما بعد

وأرسلتلك رسالة على الخاص فيها رابط البرنامج لعلك يتضح أمامك شيء

أشكرك على تفاعلك معي :wub: وليت كل الأخوه مثلك :wacko:

تم تعديل هذه المشاركة بواسطة أسد الجزيرة في 3 أكتوبر 2010 في 11:37

#14

المشكلة تكمن في عرض البيانات

هذا ما أتوقعه وليس في الاتصال ولا في جملة SQL

#15

السلام عليكم

الخطأ في عبارة Select .... قمت بعمل تغييرات في الكود لظهور البيانات العربية بالشكل الصحيح . واستقبال القيمة المرسلة في متغير .

الكود اشتغل لدي بعد هذه التعديلات ... مع حفظ الكود بترميز utf without bom

<?php

/**
 * @author kaab30
 * @copyright 2010
 */

?>

<div align="center" dir="rtl">
    <form method="post" name="sorttech" action="xx.php">
        اختر التخصص المطلوب: 
        <select size="1" name="subjctslct" lang="Arabic" dir="RTL " title="التخصص">
                <option value="شريعه">شريعه</option>
                <option value="لغه عربيه">لغه عربيه</option>
                <option value="لغه انجليزيه">لغه انجليزيه</option>
                <option value="تربيه فنيه">تربيه فنيه</option>
                <option value="حضاره ونظم اسلاميه">حضاره ونظم اسلاميه</option>
                <option value="اجتماع">اجتماع</option>
                <option value="اقتصاد منزلى">اقتصاد منزلى</option>
        </select>
        <input type="submit" name="subjb" lang="Arabic" dir="RTL " title="إعرض" />
    </form>
</div>

<?php
   $choose=$_POST["subjctslct"];

        echo "<div dir=rtl align=center>";
        echo "<html dir=rtl>";
		echo '<head>';
		echo '<meta http-equiv="content-type" content="text/html;charset=UTF-8" />';
        echo "<TITLE> ترتيب المتقدمات حسب الخدمة المدنية </TITLE>";
		echo '</head>';
              if($_POST["subjctslct"]){
              $dbc = mysql_connect ("localhost", "db7260","123") or die ( mysql_error());
               mysql_query("SET NAMES 'utf8'");  
                  mysql_select_db('adawn', $dbc) or die ('Could not select the database: ' . mysql_error());     

              $query = "SELECT * FROM sortsubjct WHERE subject='$choose' order by degree DES" ;


           $result = mysql_query($query, $dbc);

               echo "<table border=1 cellpadding=0 cellspaceing=0 style=border-collapse: collapse bordercolor=#111111 width=50%>";
               echo "<td width=5% align=center bgcolor=#FF0000> الرقم </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> الاســـــــم </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> النقــــــاط </td>";
               echo "<td width=20% align=center bgcolor=#FF0000> المؤهــــــل </td>";
               echo "<td width=10% align=center bgcolor=#FF0000> نوع المؤهــل </td>";
               $xno = 1;                  

               while ($row = @mysql_fetch_array($result)){
                       echo "<tr>";
                       echo "<td width=5% align=center style='color: black;'>'". $xno. "'</td>";                   
                       echo "<td width=30% align=right style='color: black;'>'". $row['name'] ."'</td>";
                       echo "<td width=5% align=center style='color: black;'>'". $row['degree'] ."'</td>";
                       echo "<td width=20% align=center style='color: black;'>'". $row['certificate'] ."'</td>";
                       echo "<td width=5% align=center style='color: black;'>'". $row['type_certif'] ."'</td>";
                       echo "</tr>";
                       $xno = 1 + $xno;                    
               }

            echo "</table>";                      

    mysql_close();
}
echo "</html>";
echo "</div>";
?>

I Say Nothing

#16

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

تحياتي وشكري لك

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