2017-12-05 11 views
-1

重複したトピックがある場合はどうぞ、私を許してください。しかし、解決策はまだ見つかりませんでした。まず、私は1つのPHPファイル(update.php)を持っています。このファイルには含まれていますテーブル全体を1つのクエリで更新する

<form action='update.php' method='post'> 
<table border='1'> 
    <?php 
     $servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $dbname = "exchange"; 
     $conn = new mysqli($servername, $username, $password, $dbname); 
     if (mysqli_connect_errno()) { 
      echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 
     mysqli_set_charset($conn,"utf8"); 
     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 
     $sql = "SELECT ID, name, symbol, buy, sell FROM exchangevalues"; 
     $result = $conn->query($sql); 
     if ($result->num_rows > 0) { 
      while($row = $result->fetch_assoc()) { 
       echo "<tr>"; 
       echo "<td><input type='text' name='ID' value='".$row["ID"]."'>"; 
       echo "<td>".$row["name"]."</td>"; 
       echo "<td>Buy: <input type='text' name='buy' value='".$row['buy']."'></td>"; 
       echo "<td>Sell: <input type='text' name='sell' value='".$row['sell']."'></td>"; 
       echo "</tr>"; 
      } 
     } 
     $conn->close(); 
    ?> 
<table> 

を14行5列が私のDBにあります。どのように私は新しい値で 'クリック'(イミット送信ボタン)に '購入'と '売る'列のすべての行を更新するのですか?私はID []で試してみましたが、[]を買いましたが、ループに問題があり、処理できません。私はlocalhost上でMySQLを実行しています。また、最後の行だけがループを実行せずに更新されることはわかります...

+1

あなたは何を試してみましたか?各行を配列(ID []、buy []、sell [])として送信すると、サーバが受け取った配列項目と同じくらい多くの更新クエリを実行できるはずです –

+1

* "列のすべての行を更新するにはどうすればよいですか?新しい値で「クリック」(イミット送信ボタン)で「購入」して「売る」?* - UPDATEはおそらく?そのコードはどこにありますか? –

+1

*「私はID []で試したことがあります。[]」* - それで私はそれをやっています。 * "しかし、私はループで問題があり、私はそれを処理できません" * - そしてその問題は何ですか?ここに誰もあなたが示していない、または何らかの方法で間違っていることを教えてくれる人はいません。 "私は何かを試しましたが、私はあきらめて、誰かが私のためにそれをやりたがっています"というのは、有効なスタックオーバーフローの問題ではありません – David

答えて

0

入力を処理するPHPコードがあると仮定しています。フォームを作成する際にHTMLのために行う必要があります:

if ($result->num_rows > 0) { 
    $i=0; 
    while($row = $result->fetch_assoc()) { 
     echo "<tr>"; 
     echo "<td><input type='text' name='ID[" . $i . "]' value='".$row["ID"]."'>"; 
     echo "<td>".$row["name"]."</td>"; 
     echo "</tr>"; 
     } 
    } 

PHP側の入力を処理するために、あなたはこのような何かを行うことができます。

$id_array = $_REQUEST["ID"]; 
foreach($id_array as $id){ 
    //do insert with $id 
} 
+0

ありがとう!それはまさに私が探していたものでした! –

関連する問題