لو عندى فورم بها 150 بند (تكست بوكس) واريد ان ادخل كل تكست بوكس يتم الكتابه فيه الى قاعدة البيانات ماسكيول بحيث التكست بوكس الفاضى لا يتم ادراجه داخل قاعدة البيانات , ما هيه جملة insert المستخدمة فى هذه الحالة ؟
اريد افكار
لو عندى فورم بها 150 بند (تكست بوكس) واريد ان ادخل كل تكست بوكس يتم الكتابه فيه الى قاعدة البيانات ماسكيول بحيث التكست بوكس الفاضى لا يتم ادراجه داخل قاعدة البيانات , ما هيه جملة insert المستخدمة فى هذه الحالة ؟
اريد افكار
تم تعديل هذه المشاركة بواسطة الفيل الطائر في 21 أكتوبر 2010 في 19:32
هل سيتم ادخال قيمه كل مربع نصي في عمود منفصل داخل الجدول ام لا؟
قم بارسال المربعات النصيه على شكل مصفوفه كالتالي:
<form action ="test.php" method="get">
<input type="text" name="data[]" /><br />
<input type="text" name="data[]" /><br />
<input type="text" name="data[]" /><br />
<input type="text" name="data[]" /><br />
<input type="text" name="data[]" /><br />
<input type="submit" />
</form>ثم استقبالها وازل العناصر الفارغه ثم اجمعها في سلسله نصيه واحده لتجهيزها للدخول في الجدول مثلا:
<?php
$data = $_GET["data"];
$size = count($data);
for($i=0;$i<$size;$i++ ) {
if( empty ($data[$i]) )
unset ($data[$i]);
}
$values = implode(',', $data);
// complete your code
?>الكود النهائي يعتمد على ما تريده انت بالضبط.
اشكرك اخى على سرعة الرد
سيتم ادخال قيمه كل مربع نصي في عمود منفصل
ولكن المشكلة الاساسية هي
جملة insertستكون طويلة جدا
mysql_query("INSERT INTO kids (FirstName, LastName, Age, , , ,) VALUES ('tamer', 'ahmed', '15' ,'' ,'' ,'')");
اذا يصبح الكود كالتالي
<?php
$data = $_GET["data"];
$size = count($data);
$columns = array("FirstName", "LastName", "Age" );
for($i=0;$i<$size;$i++ ) {
if( empty ($data[$i]) ) {
unset ($data[$i]);
unset( $columns[$i] );
}
}
$values = implode(',', $data);
$keys = implode(',', $columns);
$query = "INSERT INTO kids (" . $keys . ") VALUES ( " . $values . " )";
// complete your code
?>السلام عليكم ورحمة الله
أخي اجعل كتابة جملة الـ insert بشكل دايناميكي
فمثلا قم بكتابة مصفوفة تضع فيها اسماء الحقول الموجودة في الجدول
وبعدها تقوم بتوزيع قيم المصفوفة على الـ text box كاسماء لها
سأعطيك مثال مبسط على ذلك :
$arr= array("firstname","lastname","age");
for($i=0;$i<count($arr);$i++) {
echo "<input type='text' name=".$arr[$i].">";
}و عند الارسال القيم أي عند عمل submit يتم استقبال البيانات كالتالي :
$fields = "id";
$vals = "null";
for($j=0;$j<count($arr);$j++) {
if(isset($_post["$arr[$j]"]) && $_post["$arr[$j]"]!='') {
$fields .= ",".$arr[$j];
$vals .=",".$_post["$arr[$j]"];
}
}
mysql_query("insert into tablename(".$fields.") values(".$vals.")");هذا مثال سريع عن الفكرة
بالتوفيق أخي العزيز :)
سبقني إلى عرض الفكرة الاستاذ مهدي جزاه الله خيراً, يبدو أني بطيء في كتابة الردود :)
تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 22 أكتوبر 2010 في 01:20
Everything will be fine when we TALK LESS, DO MORE