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

السؤال

نشر

سلام عليكم

احاول عمل تعديل على مدخلات مصفوفة في قاعدة البيانات

لكن لم يفلح الامر

اولا : تعريف المتغيرات 

$image = uniqid() . $_FILES['image']['name'];

move_uploaded_file(

$_FILES["image"]["tmp_name"],

"../assets/images/common_cloth_composition/" . $image

);
		########
		
		$fabname = $_POST['fabname'];

        $des = $_POST['des'];

        $ready = $_POST['ready'];

        $gMeterW = $_POST['gMeterW'];

        $cShrink = $_POST['cShrink'];

        $lShrink = $_POST['lShrink'];

        $dressW = $_POST['dressW'];

		$Cweight = $_POST['Cweight'];

        $suppName = $_POST['suppName'];

        $suppType = $_POST['suppType'];

        $oName = $_POST['oName'];

        $suppDate = $_POST['suppDate'];

        $materialP = $_POST['materialP'];

        $dyeingP = $_POST['dyeingP'];

        $precc = $_POST['precc'];

        $meterPerKG = $_POST['meterPerKG'];

        $colorDegree = $_POST['colorDegree'];

        $pantone = $_POST['pantone'];

        $fiberO = json_decode($_POST['fiberO']);

        $fiberT = json_decode($_POST['fiberT']);

        $number = json_decode($_POST['number']);

        $mix = json_decode($_POST['mix']);

        $aNumber = json_decode($_POST['aNumber']);

ثانيا : - كود الإدخال 

$result = $conn->query("INSERT INTO common_cloth_composition( fabname,des, ready, gMeterW, cShrink, lShrink, dressW, Cweight,suppName, suppType, oName, suppDate, materialP, dyeingP, precc, image, color, pantone, meterperkg) VALUES ('$fabname','$des','$ready', '$gMeterW', '$cShrink', '$lShrink', '$dressW', '$Cweight', '$suppName', '$suppType', '$oName', '$suppDate', '$materialP', '$dyeingP', '$precc', '$image', '$colorDegree','$pantone','$meterPerKG')");

ثاليا :- ادخال مدخلات المصفوفة لقاعدة البيانات

 if ($result) {

            $iResult = $conn->query("SELECT * FROM common_cloth_composition ORDER BY id DESC LIMIT 1");

            while ($row = $iResult->fetch_assoc()) {

                $item = $row['id'];

            }

            $num = count($mix, COUNT_RECURSIVE);

            for ($i = 0; $i < $num; $i++) {

                $fo = $fiberO[$i];

                $ft = $fiberT[$i];

                $nm = $number[$i];

                $mx = $mix[$i];

                $nmbr = $aNumber[$i];

                $result = $conn->query("INSERT INTO cloths_fabric(item, fiberO, fiberT, number, aNumber, mix) VALUES ('$item','$fo','$ft','$nm', '$nmbr','$mx')");

            }

            if ($result) {

                $result = $conn->query("SELECT * FROM common_cloth_composition ORDER BY id DESC LIMIT 1");

                while ($row = $result->fetch_assoc()) {

                    echo $row['id'];

                }

            }else {

                echo $conn->error;

            }

        } else {

            echo $conn->error;

        }

 

إلى الآن الامر ممتاز جدا و الادخال يعمل بدون اي مشكلة

و التعديل بالأمر العادي ايضا يعمل ايضا على الحقول الغير معرفة كمصفوفة

$edit = "UPDATE
    `common_cloth_composition`
SET
`fabname` = '$fabname',
`des` = '$des',
`ready` = '$ready',
`gMeterW`= '$gMeterW',
`cShrink`= '$cShrink',
`lShrink`= '$lShrink',
`dressW`= '$dressW',
`Cweight`= '$Cweight',
`meterperkg`= '$meterPerKG',
`suppName`= '$suppName',
`suppType`= '$suppType',
`oName`= '$oName',
`suppDate`= '$suppDate',
`materialP`= '$materialP',
`dyeingP`= '$dyeingP',
`precc`= '$precc',
`color`= '$colorDegree',
`pantone`= '$pantone'

".$imageAdds."

WHERE
  common_cloth_composition.id =".$id.";";

$result = $conn->query($edit);

if ($result) {

echo "done";

}

الفكرة اللي جاتلي انه اخليه ما يعملش update و لا شئ ، لا هاخليه يحذف القديم و يدخل الجديد من تاني عشان لو فيه زيادة او نقص في بيانات المصفوفة ما يحلش لخبطة 

و كتبت الكود كده

if ($result) {

            $iResult = $conn->query("SELECT * FROM common_cloth_composition ORDER BY id DESC LIMIT 1");

            while ($row = $iResult->fetch_assoc()) {

                $item = $row['id'];

            }

            $num = count($mix, COUNT_RECURSIVE);

            for ($i = 0; $i < $num; $i++) {

                $fo = $fiberO[$i];

                $ft = $fiberT[$i];

                $nm = $number[$i];

                $mx = $mix[$i];

                $nmbr = $aNumber[$i];
				
$result0 = $conn->query("DELETE FROM `cloths_fabric` WHERE `cloths_fabric`.`item` = ".$id.";");
				
$result0 = $conn->query("INSERT INTO cloths_fabric(item, fiberO, fiberT, number, aNumber, mix) VALUES ('$item','$fo','$ft','$nm', '$nmbr','$mx')");

                }

            if ($result) {

echo "done";

            }

        } 

تنفيذ امر الحذف تم بنجاح ، لكن أمر الاضافة و لا كأنه شايفه 

ازاي اقدر احلها ، و لو فيه فكرة تانية افضل من فكرتي اتمنى تقترحوها عليا

Recommended Posts

  • 0
نشر
بتاريخ 40 دقائق مضت قال محمد المصري5:

نعم معكم حق ، لكنها لا تمنع تنفيذ الأمر

حاول تحديد اسم الجدول ب ` backticks,

لاحظ ان متغير الشرط if الأخير مختلف عن الذي يحفظ نتيجة الاستعلام.. هل تقصد result0

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...