簡體   English   中英

從SQL結果中識別特定的行

[英]Identifying specific row from SQL results

我有一個要提取的“訂單”列表,其中包括產品名稱,說明等,其中一個字段是數量,該數量位於可編輯的文本框中,旁邊是一個更新按鈕(該按鈕具有唯一的ID)行從數據庫中拉出)。 現在,當按下更新按鈕時,我想要更新該產品的數量。 但是我在獲取正確的更新數量與該行的ID匹配時遇到問題。

我可以看到問題是我將$ quantity1變量設置為僅在IF語句中提取了最后一個結果,但是我不認為如何使它與我單擊的行相關。 這是代碼的一部分:

    echo "<td>".$row['uName']."</td>";
echo "<td>".$row['prodID']."</td>";?>
<form method="post" action="reserved.php">
<td><input name="quantity1" type="text" id="quantity1" size="1" value='<?= $qty ?>' />
<td><input name="order2"  id="order2" type="submit" class="button_add" value='<?= $row['ID']?>' /></td><?
echo "</tr>";       

}

}elseif(!empty($studyDir) && $rowCount == 0){
?>
<?
}
}
if (isset($_POST['order2'])){
$order2 = $_POST['order2'];
$quantity1 = $_POST['quantity1'];

\\echo $quantity1;

$link3 = mysql_connect('localhost', '******', '******');
$SQL1 = "UPDATE ybsinter_stock.reservedStock SET qty = $quantity1 WHERE ID = '$order2'";
$result1 = mysql_query($SQL1);  
mysql_close($link3);
unset($quantity1);
unset($order2);
header("Location:reserved.php");
}
?>  

我看不到您的表單結尾,即沒有<\\ form>。 另請注意,在表格中聲明表格(除非完全封裝在td中)是錯誤的HTML,請通過W3C驗證程序運行代碼。

也可以嘗試使用PHP heredocs輸出帶有嵌入式數據的HTML塊。

echo <<<EOF
<tr>
<td>{$row['uName']}</td>
<td>{$row['prodID']}</td>
<td>
    <form method="post" action="reserved.php">
    <input name="quantity1" type="text" id="quantity1" size="1" value="{$qty}" />
    // style this button right with CSS if you want ...
    <input name="order2"  id="order2" type="submit" class="button_add" value="{$row['ID']}" />
    </form>
</td>
</tr>
EOF;   

上面的表單只會將您感興趣的ID提交數據到腳本。

您的SQL查詢看起來大致正確,但要提防SQL注入 -請將變量綁定到查詢中,而不要插入變量。 使用mysqliPDO庫而不是過時的基本mysql函數。

$mysqli = new mysqli( /* your connection params here */ );
$sql1 = 'UPDATE ybsinter_stock.reservedStock SET qty = ? WHERE ID = ?';

$stmt = $mysqli->query( $sql1);
$stmt->bind_param( 'sd', $quantity1, $order2);
$result = $stmt->execute();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM