簡體   English   中英

如何將特定值從數組存儲到數據庫?

[英]How to store a specific value from array to database?

解決:我不確定這是否已經在這里詢問。 我正在嘗試存儲從數組中具有數據的表單中獲取的值。所以這里是下面的代碼:

<?php

$number = 3;

for($i=0; $i<$number; $i++){
?>

<form>
<label>First Name: </label>
<input type="text" name="firstname[]"><br>
<label>Last Name: </label>
<input type="text" name="lastname[]"><br>
<label>Gender: </label>
<select name="gender[]">
    <option value="Male">Male</option>
    <option value="Female">Female</option>
</select><br>
<?php
}
?>

<input type="submit" name="Store_to_db">
</form>

這是我的數據庫中的表:

|--id--|--name--|--gender--|

任何人都可以幫助我嗎? 先感謝您。

(非常感謝 Litux):我現在得到了關於上述問題的答案。

解決方案:

<?php
    if(isset($_GET['Store_to_db'])){
     $fnames = $_GET['firstname'];
     $lnames = $_GET['lastname'];
     $gender = $_GET['gender'];

     function show_Name ($f, $l){
        return "{$f} {$l}";
     }

     $user = array_map('show_Name', $fnames, $lnames);

      for($i = 0; $i < count($gender); $i++){
        $sql = "INSERT INTO tbl_user (id, name, gender) VALUES('', '$user[$i]','$gender[$i]')";
        mysqli_query($db, $sql) or die(mysqli_error($db));
     }
    }
?>

<form>標簽放在 for 循環上方。 然后,您將能夠使用提交按鈕提交所有數據。 您將獲得的數據結構將是這樣的:

$_POST['firstname'][0] = X
           [1] = Y
           [2] = Z

對於姓氏和性別等其他值,依此類推。

在您的 php 文件中,您可以編寫一個循環來獲取發布的數據並將它們放入數據庫中。 像這樣的東西:

for ($i = 0; i < 3; $i++) {
$firstname = $_POST['firstname'][$i];
$lastname = $_POST['lastname'][$i];
$gender = $_POST['gender'][$i];
$query = "INSERT INTO TABLE (name, gender) VALUES ('".$firstname." ".$lastname."', $gender);
RUN QUERY
}

這只是一個例子。 您還必須查看發布的數據是否為空或有效等...

暫無
暫無

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

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