2017-07-09 22 views
0

total_amount値を取り出して別のテーブルに挿入しますが、total_amountを1つのフィールドに挿入し、 "、"で区切ります。どうやってするか?私が知っているのMysqliをデータベースに合計値を挿入する

enter image description here

は最新バージョンです。ここではmysqlが正常に動作しています。

<?php 
include('database/db.php'); 
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
$sql1="Insert into test(`total_amount`) values ('{$_POST['i']}')"; 
$result1=mysql_query($sql1); 
} 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<title>Edit Page</title> 
</head> 
<body> 
<form name="" action="<?php $_SERVER['PHP_SELF'] ?>" method="post"> 
<table> 
<tr> 
<td>Total Amount</td> 
</tr> 
<?php 
$sql="Select * from tes1"; 
$result=mysql_query($sql); 
while($dtset=mysql_fetch_array($result)) 
{ 
?> 
<tr> 
<td><input type="hidden" name="i" value="<?php echo $dtset['total_amount']; 
?>"><?php echo $dtset['total_amount']; ?></td> 
</tr> 
<?php } ?> 
</table> 
<input type="submit" name="submit" value="submit"> 
</form> 
</body> 
</html> 
+0

私はPDOを使うべきだと思います。mysqliは古いアプローチであり、mysqlは非推奨です。 Prepared Statementを使用すると、あなたのコードはSQLインジェクションとXSS攻撃のために広く公開されています。 –

+0

あなたはもっと明確になりますか?あなたはどういう意味ですか?私はtotal_amountを1つのフィールドに挿入し、 "、"で区切りたいのですか?テーブルやフォームの1列に4429.6,1155.2のような複数の値が必要ですか? – Jorn

+0

はい私は1つのフィールドに複数の値を一緒に挿入したいと思います。 – Jonshon

答えて

0
<?php 
$sql="Select * from tes1"; 
$result=mysql_query($sql); 
// Empty array 
$amounts = []; 
while($dtset=mysql_fetch_array($result)) 
{ 
    // Push the amounts to the array. 
    $amounts[] = $dtset['total_amount']; 
} 
// Implode will create a string from your array and seperates it with 
// the chosen character 
$combined = implode(",",$amounts); 
?> 
<tr> 
    <td> 
     <input type="hidden" name="i" value="<?php echo 
     $combined; ?>"> 
    <?php echo $combined; ?> 
    </td> 
</tr> 

whileループは現在、テーブルの行の一部ではなく、最初にすべての値を持つ配列を作成し、あなたの隠されたフォームフィールドに破によって作成された文字列を追加することができます。

+0

解析エラー$ amount = [];この行 – Jonshon

+0

ああ解決...ありがとう@jorn – Jonshon

関連する問題