0

我正在使用 phpinsert进入Microsoft SQL表,以下是我的代码:

$server = "**/**,1433";
$connectionInfo = array( "Database"=>"***", "UID"=>"**", "PWD"=>"******" );
$conn = sqlsrv_connect( $server, $connectionInfo );
if( $conn === false ) {
    die( print_r( sqlsrv_errors(), true));
}
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {

$sql = "SELECT Item.HQID, Item.ItemLookupCode, Item.Description, Item.ExtendedDescription, Item.SalePrice, Item.Price, Item.CategoryID FROM Item WHERE Item.HQID = '$check'";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {

 $html_table = '<table border="1" cellspacing="0" cellpadding="2">';

 $html_table .= '<form method="post" action="upload.php"><tr><td width="350" align ="center">' .$row['Description']. '</td><td width="350" align ="center">' .$row['ExtendedDescription']. '</td><td width="130" align="center">' 

.$row['ItemLookupCode']. '<td width="100" align="center">' .$row['SalePrice']. '</td><td width="100" align="center">' .$row['Price']. '</td><td width="200" align="center"><input 

type="text" size="24" name="stitle"></td><td width="100" align="center"><input type="text" size="8" name="wprice"></td><td width="120" align="center"><input type="text" size="10" name="scategory"></td><td width="220" align="center"><input 

type="text" size="28" name="sbody"></td></tr>';
$html_table .= '</table>'; 
echo $html_table;  
}
}
}
}
?>
<input type="submit" value="Upload this page" ></form>

我有一个<input>with name="stitle",我希望PHP代码从每个中获取值,<input>但目前它只从第一个中获取值<input>。我该如何解决?

4

4 回答 4

5

您的帖子格式很糟糕,但我认为您正在寻找数组表示法。

你可以做这样的事情:

<input type="text" size="24" name="stitle[]">

$_POST数组字段stitle是提交表单后所有值的数组。

于 2013-01-23T00:00:15.157 回答
2

好的,一个简单的表单示例,忽略所有额外的句法标记

<pre>
<?php print_r($_POST); ?>
</pre>

<form method="POST" action="">
    <input type="text" size="24" name="stitle[]" />
    <input type="text" size="24" name="stitle[]" />
    <input type="text" size="24" name="stitle[]" />
</form>

现在,您在这三个文本框中输入的任何内容都将被返回,并且可以在“$_POST”变量中访问。

于 2013-01-23T00:32:28.523 回答
0

如果您不想使用数组样式输入 [] 并且您可以控制字段的数量,那么您还可以执行以下操作:

for($f=0; $f < 5; $f++){ 

 echo '<input type="text" name="foo_'.$f.'">';

}

/*-----------server-side------------*/

for($f=0; $f < 5; $f++){ 

 if(isset($_POST['foo_'.$f])){
  //do something
 }

}
于 2013-01-23T00:47:12.287 回答
0

您可以将此简单代码用于多个简单输入

$stitle=$_POST['stitle'];
for($j=0;$j<count($stitle);$j++)
{
    echo   $stitle[$j]."<br>";
}
于 2019-01-01T09:07:35.567 回答