0

Microsoft SQLテーブルにphp を使用しinsertています。以下は私のコードです。

$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があり、 PHPコードにそれぞれから値を取得さname="stitle"せたいのですが、現在は最初の から値を取得しています。これを修正するにはどうすればよいですか?<input><input>

4

4 に答える 4

5

あなたの投稿はひどい形式ですが、配列表記を探していると思います。

あなたはそのようなものを作ることができます:

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

$_POST配列フィールドstitleは、フォーム送信後のすべての値を含む配列です。

于 2013-01-23T00:00:15.157 に答える
2

OK、余分な構文マークアップをすべて無視したフォームの簡単な例

<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>

これで、これら 3 つのテキスト ボックスに入力したものがすべて返され、「$_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 に答える