• 0

[PHP] كيف اضيف بيانات حقول متغيرة الى قاعدة بيانات mysql

سلام عليكم

الامر ببساطة اني لما بيكون عندي Form فيه Elements ثابته فده مفيش اي مشكلة نهائي اني ادخله في الداتابيز

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

لكن مثلا في المثال التالي 

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Learning Php</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>
<body>

<div class="jumbotron text-center">
  <h1>My Test</h1>
</div>
  
<div class="container">
  <div class="row">
  <div id="brandsCountDiv" class="col-12">

<label>Enter No</label><label style="font-size: 11px; color:red;">*</label>

<div class="input-group">

    <div class="input-group-prepend">

        <span class="input-group-text" id="inputGroupPrepend"><i class="fa fa-th"></i></span>

    </div>

    <input type="number" min="1" max="24" class="form-control brands-count" value="0" required>

    <div class="input-group-append">

        <button type="button" class="btn btn-success brands-count-btn">ADD</button>

    </div>

</div>

</div>
  </div>

  <div class="main-card mb-3 card">
                            <div class="card-body">
                                <div class="form-row">
                                    <button class="btn btn-success center-submit" type="submit">submit</button>
                                </div>
                            </div>
                        </div>
</div>
<script>// Add Multi Models fields after setting a number
        $(".brands-count-btn").click(function () {

            var count = $(".brands-count").val();

            if (count>0){

                $(".br").remove();

                var col_inputs = '';

                for (i=0 ; i<count ; i++) {

                    col_inputs += `
                                <div class="form-row brands col-12">
                                    <div class="col br">
                                        <div class="inputgroup">
                                            <label>add name</label><label style="font-size: 11px; color:red;">*</label>
                                            <div class="input-group">
                                                <div class="input-group-prepend">
                                                    <span class="input-group-text" id="inputGroupPrepend"><i class="pe-7s-user"></i></span>
                                                </div>
                                                <input type="text" class="form-control brand-name" placeholder="test" required>
                                                <div class="invalid-feedback">
                                                   Please Write an entry
                                                </div>
                                            </div>
                                        </div>
                                    </div>

                                </div>
                    `;

                }
                $(this).parent().parent().parent().after(col_inputs);

                colorsStatus = true;

            }


            //console.log($(".color-degree"));

        });</script>
</body>
</html>

انا عامل input text  بتحط فيه رقم 

لما بضغط عالرقم ده بيظهرلي input text  بنفس العدد اللي كتبته

يعني لو كتبت 2 هايظهرلي خانتين 

لو كتبت 3 هايظهر 3 و هكذا

السؤال الاول

ازاي ادخل البيانات المتغيره دي في الداتابيز ؟

انا عاوز لو اليوزر اختار مثلا 4 خانات 

يبقى يتسجل رقم 4 ، و قيم ال 4 خانات تتسجل برضه

اعملها ازاي و لو شرح مفصل شويا يبقى كتر خيركم 

السؤال الثاني :- 

ازاي برضه اخرجها من الداتابيز عشان لو اليوزر حب يعدل عليها 

شكرا لكم

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك إضافة اسم صف لهذه الحقول، وليكن في مثالك brand-name، ثم تستطيع الحصول على هذه القيم ضمن مصفوفة باستخدام حلقة تكرارية:

var inputs = $(".brand-name");
for(var i = 0; i < inputs.length; i++){
    console.log($(inputs[i]).val());
}

أما بالنسبة لتخزينها في قاعدة البيانات، فذلك يعود لبنية الجدول لديك، وإحدى الحلول هو تحويل هذه المصفوفة إلى سلسلة نصية والفصل بين العناصر باستخدام إشارة معيّنة (فاصلة مثلاً) من خلال استخدام implode في PHP:

implode(",",$arr);

ثم عند استعادتها تقوم بتحويلها من جديد إلى مصفوفة عن طريق استخدام explode في PHP:

explode(",",$str);

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


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