[英]Array Multiple Values Text-Box
我在使数组正常工作时遇到一些问题,不确定如何正确构造foreach loop
以及如何正确将其添加到查询中以便插入。
这是我对数组甚至PHP的首次尝试,我需要帮助来理解如何继续使用它,而不用害怕数组。要使此函数正常工作,应将6个文本值存储到DB中的表中。 我认为我的主要问题是使用foreach($_POST['title'] as $idx => $title)
来使事情起作用,但我可能是错的..再次感谢。 我看了一些示例,但仍然无法使我的代码正常工作或完全理解。
谢谢
HTML代码
<form method="post" name="add_record" id="add_record" action="EnterNewAlbum.php">
<input type="text" name="title[]" value="title" size="32" required="required" />
<input type="text" name="artist[]" value="artist" size="32" required="required" />
<input type="text" name="country[]" value="country" size="32" required="required" />
<input type="text" name="company[]" value="company" size="32" required="required" />
<input type="text" name="price[]" value="200" size="32" required="required" />
<input type="text" name="year[]" value="100" size="32" required="required" />
<br /><br />
<input type="submit" action="EnterNewAlbum.php" name="add_record" id="add_record" value="Add" />
</form>
PHP代码
<?php
if(isset($_POST['add_record'])) {
include 'dbconnection.php';
$con = mysqli_connect($dbsrvname, $dbusername, $dbpassword, $dbname);
echo "button press test";
foreach($_POST['title'] as $idx => $title) {
$add_entry = mysqli_query($con , "INSERT INTO albumsID (`title`,`artist`,`country`,`company`,`price`,`year`) VALUES ('".$title."', '" . $_POST['artist'][$idx] . "', '" . $_POST['country'][$idx] . "' , '" . $_POST['company'][$idx] . "' , '" . $_POST['price'][$idx] . "' , '" . $_POST['year'][$idx] . "' ");
}
}
?>
您希望在这里对您有所帮助:
<?php
if(isset($_POST['title'])) {
$title = $_POST['title'];
foreach ($title as $key => $value) {
//FOR YOUR CHECKING PURPOSE
echo $value.'-'.
$_POST['title'][$key].'-'.
$_POST['artist'][$key].'-'.
$_POST['country'][$key].'-'.
$_POST['company'][$key].'-'.
$_POST['price'][$key].'-'.
$_POST['year'][$key];
//ADD QUERY
$title_data = $_POST['title'][$key];
$artist_data = $_POST['artist'][$key];
$country_data = $_POST['country'][$key];
$company_data = $_POST['company'][$key];
$price_data = $_POST['price'][$key];
$year_data = $_POST['year'][$key];
$your_query = mysqli_query($con , "INSERT INTO albumsID (`title,artist,country,company,price,year`)
VALUES ('".$title_data."', '".$artist_data."', '".$country_data."', '".$company_data."', '".$price_data."', '" .$year_data. "'");
}
}
?>
对于“文本”类型的每个输入,您只能提交一个值,因此尝试将其存储在数组中并没有任何意义。 如果使用相同的数组名称命名多个文本输入,则可以提交数组;否则,可以提交数组。 例如:
<input type="text" name="values[]" value="first" />
<input type="text" name="values[]" value="second" />
但这似乎并不适合您的情况。
正确的代码可以是:
HTML:
<form method="post" name="add_record" id="add_record"
action="EnterNewAlbum.php">
<input type="text" name="title" value="title" size="32" required="required" />
<input type="text" name="artist" value="artist" size="32" required="required" />
<input type="text" name="country" value="country" size="32" required="required" />
<input type="text" name="company" value="company" size="32" required="required" />
<input type="text" name="price" value="200" size="32" required="required" />
<input type="text" name="year" value="100" size="32" required="required" />
<br /><br />
<input type="submit" action="EnterNewAlbum.php" name="add_record" id="add_record" value="Add" />
</form>
PHP:
<?php
if(isset($_POST['add_record'])) {
echo "button press test";
include 'dbconnection.php';
$con = mysqli_connect($dbsrvname, $dbusername, $dbpassword, $dbname);
$add_entry = mysqli_query($con , "INSERT INTO albumsID (`title,artist,country,company,price,year`) VALUES ('".$_POST['title']."', '" . $_POST['artist'] . "', '" . $_POST['country'] . "' , '" . $_POST['company'] . "' , '" . $_POST['price'] . "' , '" . $_POST['year'] . "' ");
}
?>
值数组只能通过具有multiple =“ multiple”属性的select或具有以下模板的复选框提交:
<input type="checkbox" name="checkboxes_results[]" value="value1" />
<input type="checkbox" name="checkboxes_results[]" value="value2" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.