簡體   English   中英

如何使用PHP和MySQL從多個選擇列表中將數據插入數據庫

[英]How To Insert data to database from multiple select list using PHP an MySQL

我有一個包含多個選擇列表的表單。 表單中有多個選擇列表(塊)。 如何將多個選擇數據提交到數據庫?

我試圖創建一個foreach語句,但問題是它僅在數據庫中提交一個選項。

    <?php 
$db = mysqli_connect('localhost','root','','trial') or die($db);
if (isset($_POST['submit'])) {
$marks = mysqli_real_escape_string($db,$_POST['marks']);
$subjects= $_POST['subject'];
$farming= $_POST['farming'];
foreach ($subjects as $i) {
    $subject = $i;
    $sql = "INSERT INTO `trial_table` (`subjects`, `marks`) VALUES ('".mysqli_real_escape_string($db,$subject)."', '$marks')";
mysqli_query($db,$sql);
}
$sql1 = "INSERT INTO `trial_table` (`marks`) VALUES ('$marks')";
mysqli_query($db,$sql1);
}
 ?>
<body>
    <form method="POST" action="test.php">
    <select id="multiselect" name="farming[]" multiple="multiple" required>
    <option value="Irrigation">Irrigation</option>
    <option value="Fertilizer">Fertilizer</option>
    <option value="Pesticide">Pesticide</option>    
    </select>
    <select id="multiselect" name="subject[]" multiple="multiple" required>
    <option value="Irrigation">Technology</option>
    <option value="Fertilizer">Science</option>   
     </select>
    <div class="input-group">
        <label>Marks</label>
        <input type="number" name="marks">      
    </div>  
    <button type="submit" name="submit" class="btn">SUBMIT</button> 
      </form>
</body>
</html>`enter code here`

我希望表單向數據庫提交選定的數據而不只是一個。

如果要在單行中插入數據

$subject = implode(',', $subjects);

這將返回您在每個主題之間帶有分隔符','的單個字符串。 現在,您可以將整個部分插入單個列中。

然后使用帶有','的explode函數進行檢索:它將為您提供相同的數組$ subjects;。

我已經將其簡化到這個級別,但是唯一的問題是我在數據庫中沒有數據。 可能是什么問題/

if <?php 
$db = mysqli_connect('localhost','root','','trial') or die($db);
if (isset($_POST['submit'])) {
$marks = mysqli_real_escape_string($db,$_POST['marks']);
$subjects= $_POST['subject'];
$others= $_POST['others'];

foreach ($others as $t){

    $sql1 = "INSERT INTO `trial_table` (`others`) VALUES ('".mysqli_real_escape_string($db,$t)."')";
mysqli_query($db,$sql1);
}

foreach ($subjects as $i){

    $sql = "INSERT INTO `trial_table` (`subjects`, marks) VALUES ('".mysqli_real_escape_string($db,$i)."' , '$marks')";
mysqli_query($db,$sql);
}


}
 ?>
<body>
    <form method="POST" action="test.php">

    <select id="multiselect" name="subject[]" multiple="multiple">
    <option value="Irrigation">Technology</option>
    <option value="Fertilizer">Science</option>   
     </select>
     <select id="multiselect" name="others[]" multiple="multiple">
    <option value="Ball">Sports</option>
    <option value="Netball">Gymics</option>   
     </select>
    <div class="input-group">
        <label>Marks</label>
        <input type="number" name="marks">      
    </div>  
    <button type="submit" name="submit" class="btn">SUBMIT</button> 
      </form>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM