2015-05-29 40 views
1

我已經設置了一個MySQL數據庫來跟蹤庫存。到目前爲止,它運行良好,由3頁組成。第一頁(基本HTML)提示用戶掃描或輸入條形碼號碼並按回車鍵。使用PDO修改MySQL表中的一個整數

第二頁(.php)將輸入的信息,在MySQL表中找到匹配的條形碼,並在表中返回行(條形碼,說明,數量)。第三頁幾乎只是一個重定向到第一頁,所以我可以輕鬆地搜索一個新的項目。

這已經很適合查找庫存,但我需要能夠修改該行的數量。這可以通過在第2頁的返回表格下添加一個「修改」表單並將輸入的數字發送到第3頁的php腳本來實現,或者我可以離開基地嗎?

我想我的主要問題是,我該如何去增加或減少數量值,而不是隻更新一個新值的單元格。

目前,2頁看起來是這樣的:

<?php 
//Table 
echo "<table style='border: solid 1px green;'>"; 
echo "<tr><th>Barcode</th><th>Description</th><th>Quantity</th></tr>"; 

class TableRows extends RecursiveIteratorIterator { 
function __construct($it) { 
    parent::__construct($it, self::LEAVES_ONLY); 
} 

function current() { 
    return "<td style='width:150px;border:1px solid green;'>" . parent::current(). "</td>"; 
} 

function beginChildren() { 
    echo "<tr>"; 
} 

function endChildren() { 
    echo "</tr>" . "\n"; 
} 
} 
//Connection Info 
$servername = "127.0.0.1"; 
$username = "XXXX"; 
$password = "XXXX"; 
$dbname = "foo"; 


//Connection Started, Data pulled 
try { 
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username,  $password); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$stmt = $conn->prepare("SELECT * FROM inventory WHERE Barcode LIKE :barcode"); 
$paramBinding = "%" . $_POST["find"] . "%"; 
$stmt->bindParam(':barcode', $paramBinding); 

$stmt->execute(); 

// set the resulting array to associative 
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
    echo $v; 
    } 
} 

//Error Check 

catch(PDOException $e) { 
echo "Error: " . $e->getMessage(); 
} 

//Kill Connection 
$conn = null; 
echo "</table>"; 
?> 

</br> 
Modify Quantity: 
</br> 
(input positive number to be added to stock or negative number to  subtract from stock) 
</br> 
<form name="Modify" action="Redirect.php"> 
<input type="text" name="modify"> 
<input type="submit" value="Modify"> 

巨型提前感謝!

+3

有沒有任何規則如何做到這一點。只要你願意,只要你能在6個月內瞭解它就可以了。 – Andrew

回答

0

我目前正在研究一個類似的項目,是的你似乎是在正確的軌道上。我的策略如下:

  1. 掃描項目並從數據庫中提取數據。
  2. 有一個「修改」按鈕來點擊。
  3. 單擊按鈕時,表格中將填入當前數據。我一直在努力從html表格中提取數據,而不是回到數據庫。我一直在使用jQuery。
  4. 更新查詢在提交表單時發送。
+1

謝謝!這是一個有趣的方法,沒有想過要這樣做。我一直試圖(迄今爲止失敗)從第一頁拉出條形碼,從第二頁添加數量,並將它們移到第三頁的php中以找到匹配的條形碼並修改該行的數量。 –