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

insert

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

لو عندى فورم بها 150 بند (تكست بوكس) واريد ان ادخل كل تكست بوكس يتم الكتابه فيه الى قاعدة البيانات ماسكيول بحيث التكست بوكس الفاضى لا يتم ادراجه داخل قاعدة البيانات , ما هيه جملة insert المستخدمة فى هذه الحالة ؟

اريد افكار

تم تعديل هذه المشاركة بواسطة الفيل الطائر في 21 أكتوبر 2010 في 19:32

#3

قم بارسال المربعات النصيه على شكل مصفوفه كالتالي:

 <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

?>

الكود النهائي يعتمد على ما تريده انت بالضبط.

1
#4

اشكرك اخى على سرعة الرد

سيتم ادخال قيمه كل مربع نصي في عمود منفصل

ولكن المشكلة الاساسية هي

جملة insertستكون طويلة جدا

mysql_query("INSERT INTO kids (FirstName, LastName, Age, , , ,) VALUES ('tamer', 'ahmed', '15' ,'' ,'' ,'')");

#5

اذا يصبح الكود كالتالي

<?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

?>
1
#6

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

أخي اجعل كتابة جملة الـ 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

1

Everything will be fine when we TALK LESS, DO MORE


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