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

السؤال

Recommended Posts

  • 0
نشر

مرحبا تهامى،

الأمر بسيط حيث تستطيعي استخدام نفس الأكواد التي تعرض البيانات فهي أغلبها عبارات select في sql مع بعض HTML

لكن التعديل يكون في HTML حيث نستبدل الأوسام التي تعرض البيانات و التي تكون على شكل <p> or <span> ب أوسام من الشكل <input> التي تسمح بإدخال بيانات

و نعرضها ضمن form ليتسنى لنا إرسالها للمخدم , ومعالجتها لاحقا.

بالتوفيق

  • 1
نشر

من باب توضيح إجابة الأخ وائل وحتى يكون لديك مثال حي لما تحدث عنه

في البداية نحتاج القيام بربط بقاعدة البيانات ثم جلب بيانات حساب معين من أحد جداول القاعدة, ويكون هذا عبر الكود التالي :

<?php

mysql_connect('localhost','username','password');
@mysql_select_db('database') or die( "حدث خطأ في تحديد قاعدة البيانات");

$id = '1';
$query = "SELECT * FROM إسم الجدول WHERE id = ".$id;
$result = mysql_query($query);
$data = mysql_fetch_array($result);
mysql_close();

?>

ثم بعدها تأتي خطوة إضافة فورم(إستمارة) لإتاحة التعديل على البيانات, والكود يكون بهذا الشكل :

<form method="post" action="EditData.php" />
   <table>
      <tr>
         <td><input type="hidden" name="id" value="<?= $row['id'] ?>"></td>
      </tr>
      <tr>
         <td>الإسم الشخصي:</td>
         <td><input type="text" name="first" value="<?= $row['first'] ?>"></td>
      </tr>
      <tr>
         <td>الإسم العائلي:</td>
         <td><input type="text" name="last" value="<?= $row['last'] ?>"></td>
      </tr>
      <tr>
         <td>رقم الهاتف:</td>
         <td><input type="text" name="phone" value="<?= $row['phone'] ?>"></td>
      </tr>
      <tr>
         <td>البريد الإلكتروني:</td>
         <td><input type="text" name="email" value="<?= $row['email'] ?>"></td>
      </tr>
   </table>
</form>

ملاحظة : في الكود السابق إعتمدت <?= بدل <? echo وهذه الخاصية في الكتابة متوفرة فقط في نسخة php فوق 7, أي إذا كنت تعتمد نسخة أقدم فيجب كتابة echo وإضافة ; عند النهاية تفادياً لظهور أي أخطاء

 

كما تلاحظ في الفورم وضعنا قيمة action هي EditData.php, وتعني الملف الذي يقوم بمعالجة مٌدخلات الإستمارة

محتوى هذا الملف يكون بهذا الشكل :

<?php

mysql_connect('localhost','username','password');
@mysql_select_db('database') or die( "حدث خطأ في تحديد قاعدة البيانات");

mysql_query("UPDATE إسم الجدول SET first=".$_POST['first']." AND last=".$_POST['last']." WHERE id=".$_POST['id']);
mysql_close();

?>

بالتوفيق

  • 0
نشر
بتاريخ On 10‏/11‏/2020 at 04:29 قال كريم أمعطيل:

من باب توضيح إجابة الأخ وائل وحتى يكون لديك مثال حي لما تحدث عنه

في البداية نحتاج القيام بربط بقاعدة البيانات ثم جلب بيانات حساب معين من أحد جداول القاعدة, ويكون هذا عبر الكود التالي :

<?php

mysql_connect('localhost','username','password');
@mysql_select_db('database') or die( "حدث خطأ في تحديد قاعدة البيانات");

$id = '1';
$query = "SELECT * FROM إسم الجدول WHERE id = ".$id;
$result = mysql_query($query);
$data = mysql_fetch_array($result);
mysql_close();

?>

ثم بعدها تأتي خطوة إضافة فورم(إستمارة) لإتاحة التعديل على البيانات, والكود يكون بهذا الشكل :

<form method="post" action="EditData.php" />
   <table>
      <tr>
         <td><input type="hidden" name="id" value="<?= $row['id'] ?>"></td>
      </tr>
      <tr>
         <td>الإسم الشخصي:</td>
         <td><input type="text" name="first" value="<?= $row['first'] ?>"></td>
      </tr>
      <tr>
         <td>الإسم العائلي:</td>
         <td><input type="text" name="last" value="<?= $row['last'] ?>"></td>
      </tr>
      <tr>
         <td>رقم الهاتف:</td>
         <td><input type="text" name="phone" value="<?= $row['phone'] ?>"></td>
      </tr>
      <tr>
         <td>البريد الإلكتروني:</td>
         <td><input type="text" name="email" value="<?= $row['email'] ?>"></td>
      </tr>
   </table>
</form>

ملاحظة : في الكود السابق إعتمدت <?= بدل <? echo وهذه الخاصية في الكتابة متوفرة فقط في نسخة php فوق 7, أي إذا كنت تعتمد نسخة أقدم فيجب كتابة echo وإضافة ; عند النهاية تفادياً لظهور أي أخطاء

 

كما تلاحظ في الفورم وضعنا قيمة action هي EditData.php, وتعني الملف الذي يقوم بمعالجة مٌدخلات الإستمارة

محتوى هذا الملف يكون بهذا الشكل :

<?php

mysql_connect('localhost','username','password');
@mysql_select_db('database') or die( "حدث خطأ في تحديد قاعدة البيانات");

mysql_query("UPDATE إسم الجدول SET first=".$_POST['first']." AND last=".$_POST['last']." WHERE id=".$_POST['id']);
mysql_close();

?>

بالتوفيق

استاذ كل العمليه تمام لكن موضوع فيه عندي سلكتات مع سكربتات لما اضغط على تعديل تظهر الفورم وتظهر المعلومات لغرض التعديل لكن معلومات select لم تأتي لغرض التعديل 

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

استاذ كل العمليه تمام لكن موضوع فيه عندي سلكتات مع سكربتات لما اضغط على تعديل تظهر الفورم وتظهر المعلومات لغرض التعديل لكن معلومات select لم تأتي لغرض التعديل 

جزء ال select مختلف عن ال input حيث يجب عليك التأكد من القيمة الموجودة في قاعدة البيانات وقيمة ال option وإذا كانت متساوية نقوم بوضع خاصية selected هكذا :

<select name="type" >
    <option value="">select type</option>
  <option value="img1" <?php echo ($row['type']=="img1") ? 'selected':'' ?> >img1</option>
  <option value="img2" <?php echo ($row['type']=="img2") ? 'selected':'' ?>>img2</option>
</select>

وفي المثال السابق إفترضنا أنه يوجد لدينا عمود في قاعدة البيانات يسمى type وهو يحوي قيمتين فقط إم img1 أو img2 .

ونقوم بالتحقق من البيانات التي ترجع إلينا للتعديل فإذا كانت مثل قيمة ال option نضع خاصية selected لها . وبهذا ستظهر القيمة لهذا العمود في ال form

  • 0
نشر
بتاريخ On 10‏/11‏/2020 at 04:29 قال كريم أمعطيل:

من باب توضيح إجابة الأخ وائل وحتى يكون لديك مثال حي لما تحدث عنه

في البداية نحتاج القيام بربط بقاعدة البيانات ثم جلب بيانات حساب معين من أحد جداول القاعدة, ويكون هذا عبر الكود التالي :

<?php

mysql_connect('localhost','username','password');
@mysql_select_db('database') or die( "حدث خطأ في تحديد قاعدة البيانات");

$id = '1';
$query = "SELECT * FROM إسم الجدول WHERE id = ".$id;
$result = mysql_query($query);
$data = mysql_fetch_array($result);
mysql_close();

?>

ثم بعدها تأتي خطوة إضافة فورم(إستمارة) لإتاحة التعديل على البيانات, والكود يكون بهذا الشكل :

<form method="post" action="EditData.php" />
   <table>
      <tr>
         <td><input type="hidden" name="id" value="<?= $row['id'] ?>"></td>
      </tr>
      <tr>
         <td>الإسم الشخصي:</td>
         <td><input type="text" name="first" value="<?= $row['first'] ?>"></td>
      </tr>
      <tr>
         <td>الإسم العائلي:</td>
         <td><input type="text" name="last" value="<?= $row['last'] ?>"></td>
      </tr>
      <tr>
         <td>رقم الهاتف:</td>
         <td><input type="text" name="phone" value="<?= $row['phone'] ?>"></td>
      </tr>
      <tr>
         <td>البريد الإلكتروني:</td>
         <td><input type="text" name="email" value="<?= $row['email'] ?>"></td>
      </tr>
   </table>
</form>

ملاحظة : في الكود السابق إعتمدت <?= بدل <? echo وهذه الخاصية في الكتابة متوفرة فقط في نسخة php فوق 7, أي إذا كنت تعتمد نسخة أقدم فيجب كتابة echo وإضافة ; عند النهاية تفادياً لظهور أي أخطاء

 

كما تلاحظ في الفورم وضعنا قيمة action هي EditData.php, وتعني الملف الذي يقوم بمعالجة مٌدخلات الإستمارة

محتوى هذا الملف يكون بهذا الشكل :

<?php

mysql_connect('localhost','username','password');
@mysql_select_db('database') or die( "حدث خطأ في تحديد قاعدة البيانات");

mysql_query("UPDATE إسم الجدول SET first=".$_POST['first']." AND last=".$_POST['last']." WHERE id=".$_POST['id']);
mysql_close();

?>

بالتوفيق

لديه صور أيضآ كيف يمكنني التعديل عليها 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...