• 0
هالي الدهوكي

محتاج حل لمشكلة ادخال الى قاعدة بيانات اكثر من 20 input بنفس الأسم و بنفس الوقت

سؤال

مرحبا شباب كيف الحال لي استفسار خفيف محتاج شوي مساعدة

 

معايا اكثر من 20 inputs بنفس الأسم اي name و معايا قواعد بيانات مفيش مشاكل مع قواعد بيانات لكن

انا اريد لما اضغط على اضافة البيانات كلهم يدخلوا في قواعد بيانات يعني كل مرة 20 بيانات تدخل 

و كل input له علاقة بمدخلات الخاصة به اي المدخلات التي انا قمت بأدخالها في كل input 

 

مثلا

<input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/><input type="text" name="materials" value="By Input"/>

انا ما معي مشكلة مع ادخال الى القاعدة عندما يكون لي input 1 فقط لكن مشكلتي هي اريد ادخال بيانات ل اكثر من 20 انبت input بنفس الوقت و طبعا بمعلومات التي انا اقوم بكتابته و كل انبت input مسؤل عن نفسه

تم تعديل بواسطه هالي الدهوكي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

أخى العزيز

 

الموضوع بسيط جدا خليك معايا وتابع الخطوات .

 

  • هنتعامل مع كل حقل من حقول النموذج على أنة مصفوفة, بحيث يكون محتوى الخاصية name لكل حقل بهذا الشكل:
<input type="text" name="materials[]" />

طبعا كل الحقول مهما كانت عددها هتتعمل كما فى الشكل السابق بنفس الاسم مع إضافة [] بجانب كل أسم .

 

 

  • هنستقبل قيم الحقول من خلال الـ PHP على أنها مصفوفة تحتوى على القيم المخزنة فى كل حقل .
$fields = $_POST['materials'];
  • بعد ذلك نقوم بعمل حلقة تكرار foreach لكى نصل إلى كل قيمة مخزنة فى المصفوفة التى تحتفظ بقيم الحقول, ثم نقوم بإضافة أستعلام لإدخال البيانات فى قاعدة البيانات .
foreach ($fields as $field) {       mysql_query("INSERT INTO tableName(column) VALUES('$field')");}

.

.

.

مثال كامل للكود:

 

HTML

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">     <lable> Field 1: </lable><input type="text" name="materials[]" /><br/>     <lable> Field 2: </lable><input type="text" name="materials[]" /><br/>     <lable> Field 3: </lable><input type="text" name="materials[]" /><br/>     <lable> Field 4: </lable><input type="text" name="materials[]" /><br/>     <lable> Field 5: </lable><input type="text" name="materials[]" /><br/><br/>     <input type="submit" name="sbmt" value="Send data" /></form>

PHP

if ($_POST['sbmt']) {$fields = $_POST['materials'];   foreach ($fields as $field) {         mysql_query("INSERT INTO tableName(column) VALUES('$field')");   }}

طبها هذا أبسط طريقة لعمل ما تريدة.

وما تنساش تعدل الكود ليتوافق مع كودك الخاص.

 

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

تم تعديل بواسطه مستر برمجة
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي شكرا للرد المتميز منك يا اخي الغالي ^_^

 

اولا بدي اقولك حاجة دالة foreach ما تعمل معي بهذا الشكل

foreach ($fields as $field) {       mysql_query("INSERT INTO tableName(column) VALUES('$field')");}

لكن تعمل معي بهذا الشكل ولا اعرف السبب ان كنت تعرف السبب زودني بهذه المعلومة تعمل معي هكذا .

if (isset($wdsearch)): foreach($_POST['name'] as $name) :       mysql_query("INSERT INTO tableName(column) VALUES('$field')");    endforeach;endif;

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

 

شكرا لك مرة الخرى على الرد المتميز منك اخي العزيز :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي شكرا للرد المتميز منك يا اخي الغالي ^_^

 

اولا بدي اقولك حاجة دالة foreach ما تعمل معي بهذا الشكل

foreach ($fields as $field) {       mysql_query("INSERT INTO tableName(column) VALUES('$field')");}

لكن تعمل معي بهذا الشكل ولا اعرف السبب ان كنت تعرف السبب زودني بهذه المعلومة تعمل معي هكذا .

if (isset($wdsearch)): foreach($_POST['name'] as $name) :       mysql_query("INSERT INTO tableName(column) VALUES('$field')");    endforeach;endif;

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

 

شكرا لك مرة الخرى على الرد المتميز منك اخي العزيز :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي دائما يطلع لي هذا الخطأ 

 

Warning: Invalid argument supplied for foreach() in D:\AppServ\www\ahmed\movment-entry.php on line 11

 

و الكود الي استخدمه هو 

						$wdsearch = $_POST['wdsearch'];						$mat = $_POST['materials'];						if (isset($wdsearch)):					    foreach($mat as $materials):						mysql_query("insert into materials (materials) values ('$materials')")or die ();						endforeach;						endif;
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخى العزيز

 

من المفترض أن رسالة الخطأ هذة تظهر بسبب أن $mat لا يستقبل مصفوفة, ولذلك

 

تأكد من كتابتك لاسم حقل النص بهذا الشكل

<input type="text" name="materials[]" /><input type="text" name="materials[]" /><input type="text" name="materials[]" />

لا تنسى الاسم يكون بهذا الشكل materials[] , مع كل الحقول, ولا تنسى أيضا [] بعد كل الاسم فى كل الحقول أيضا .

 

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

تم تعديل بواسطه مستر برمجة
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كل ما نتعامل مع Array

لازم نعمل واحد من الاثنين

1- اما انك تحديد المتغير على انه مصفوفة

مثلا/

$arra= array();

2- تتأكد دائما انك بتتعامل مع مصفوفة من خلال

is_array
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا الك حبيبي حمدان على المعلومة الحلوة .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .