في البداية .. يجب ان يكون الفورم عندك شبيه بهذا :
كود PHP:
<form method="post" action="send.php">
إسم الموقع : <input type="text" name="sitename[]" /> <br/>
رابط الموقع : <input type="text" name="siteurl[]" /> <br/>
</form>
في ملف send.php تقوم بنفس الحطوة التي ذكرها اخي زياد
كود PHP:
$number = count($_POST['sitename']);
for($i=0;$i<$number;$i++){
$name = $_POST['sitename'][$i];
$url = $_POST['siteurl'][$i];
$add_one_row=mysql_query("INSERT INTO `table` (site_name,site_url)values('$name','$url')");
}
مع اضافة حقل site_des بنفس الشكل ..
الآن لنشرح على السريع ،
في البداية في الفورم لكي تقوم بانشاء عدة text boxes لنفس الغرض ( مثلا 3 صناديق نص فقط لاسم الموقع لأنه سيقوم بادخال اكثر من موقع ) فيوجد لديك عدة طرق لعمل ذلك ،
1- ان تقوم باضافة القوسين [] في اسم الصندوق .. وبالتالي سيتعرف على ان هذه هي مصفوفة وسيقوم بالتعامل معها على هذا الاساس .. وهذه الطريقة الافضل بنظري
2- ان تقوم بطبع الفورم من خلال php وتحرص ان تكون الاسماء بهذا الشكل site1 و site2 و site3
المعالجة :
1- هنا اخترنا ان تكون مصفوفة .. وبالفعل ستقوم باستلامها من خلال POST على اساس انها مصفوفة .. ويمكنك ان تجرب ان تستخدم
كود PHP:
print_r($_POST['sitename']);
وسترى جميع عناصر المصفوفة ..
2- هنا سيكون كل صندوق او text box قائم بذاته .. وليس مجرد عنصر من مصفوفة .. وهنا سنحتاج للتعامل مع كل صندوق على حدة
الاستعلام :
1- لتنفيذ الاستعلام .. كما فعلنا بالضبط .. نقوم بالتكرار على مصفوفة .. وهي بالطبع ستكون بنفس عدد عناصر المصفوفات الاخرى ( بمعنى ان عدد الاسماء names يساوي عدد الروابط urls يساوي عدد الوصف des ) ولهذا لا داعي لعمل loop على كل واحد .. فقط يمكننا كما فعلنا بالكود اعلاه .. بالتكرار على مصفوفة واحدة .. وجلب العناصر الاخرى من المصفوفات الاخرى بدلالة ال $i
2- هنا ستحتاج إلى لووب واحد ايضا .. ولكن الفرق ستتعامل معه على اساس انه صندوق بحد ذاته .. وستقابل مشكلة انك ستحتاج إلى معرفة عدد الصناديق بالضبط .. ( وكما قلنا اننا قمنا بانشاء الفورم باستخدام php ، ولهذا سيجب عليك وضع hidden field وتضع فيه value بقيمة عدد الصنادق .. ولنفرض ان اسم ال Hidden هو " number "
ستقوم بعمل الآتي
كود PHP:
for($i=0;$i<$_POST['number'];$i++){
$val = 'site'.$i; // الناتج site1 مثلا
$name = $_POST[$val]; // الناتج $_POST[site1]
// ونقوم بعمل الكويري هنا مثل الاعلى .. ولا مشاكل باذن الله
}
تحياتي