如何使用mysql PDO语句在php中使用条件检查?
我试图简化我的代码,它有多个检查。。下面是我的代码-如何使用mysql PDO语句在php中使用条件检查?,php,mysql,if-statement,pdo,Php,Mysql,If Statement,Pdo,我试图简化我的代码,它有多个检查。。下面是我的代码- $query2 = "SELECT * FROM sample.temp"; $rslt = $dbo->query($query2); if($rslt->rowCount() > 0) { foreach($rslt as $item) { $id = $item['entry_id']; $Qty = $item['Qty']; $group_ID = $
$query2 = "SELECT * FROM sample.temp";
$rslt = $dbo->query($query2);
if($rslt->rowCount() > 0)
{
foreach($rslt as $item)
{
$id = $item['entry_id'];
$Qty = $item['Qty'];
$group_ID = $item['group_ID'];
$component = $item['component'];
$vendor_ID = $item['vendor_ID'];
$stmt = $dbo->prepare("SELECT Qty FROM sample.temp WHERE vendor_ID=$vendor_ID AND component='$component' LIMIT 1");
if ($stmt->execute(array($_GET['Qty'])))
{
while ($row = $stmt->fetch(PDO::FETCH_OBJ))
{
$Q = $row->Qty;
}
}
$query4 = "UPDATE sample.stock SET Qty=(Qty+$Q) WHERE stock_ID=$vendor_ID AND component='$component'";//updating single existing entries
if ($dbo->query($query4))
{echo "Production updated !";}
else {echo "Production not updated!";}
$stm = $dbo->prepare("SELECT Qty FROM sample.temp WHERE vendor_ID=$vendor_ID AND component!='$component' LIMIT 1");
if ($stm->execute(array($_GET['Qty'])))
{
while ($row = $stm->fetch(PDO::FETCH_OBJ))
{
$Qt = $row->Qty;
}
$query5 = "INSERT INTO sample.stock (stock_ID, component, Qty) VALUES ($vendor_ID, '$component', $Qt)";//inserting new entry
if ($dbo->query($query5))
{echo "Production updated !";}
else {echo "Production not updated!";}
$st = $dbo->prepare("SELECT Qty FROM sample.temp WHERE vendor_ID!=$vendor_ID AND component='$component' LIMIT 1");
if ($st->execute(array($_GET['Qty'])))
{
while ($row = $st->fetch(PDO::FETCH_OBJ))
{
$Qtt = $row->Qty;
}
$query6 = "INSERT INTO sample.stock (stock_ID, component, Qty) VALUES ($vendor_ID, '$component', $Qtt)";//inserting new entry
if ($dbo->query($query6))
{echo "Production updated !";}
else {echo "Production not updated!";}
}
}
是否有任何方法可以减少此代码或更改检查条件的方式?
如果我能在所有三个select语句中使用If语句,那就太好了
首先,我选择了一个临时表,在3次检查的基础上将数据传输到库存表-
注意-临时表中的供应商ID与库存表中的库存ID相同。您能解释一下您的意图吗:)?hey@Matt首先,我选择了一个临时表,根据3个检查-1,从中将数据传输到库存表中。如果库存表中的现有值与临时表2中的库存ID和组件相同,则更新库存表中的现有值。如果库存表中没有与该库存ID 3对应的组件,则在库存表中插入新条目。在库存表中插入新条目,如果它有组件,但不对应于库存表中的任何库存ID注意-临时表中的供应商ID与库存表中的库存ID相同。您能解释一下您尝试执行的操作吗:)?hey@Matt首先,我选择一个临时表,从中将数据传输到3个检查的基础-1。如果库存表中的现有值与临时表2中的库存ID和组件相同,则更新库存表中的现有值。如果库存表中没有与该库存ID 3对应的组件,则在库存表中插入新条目。在库存表中插入新条目(如果该条目具有组件但不对应于库存表中的任何库存ID)。注意:临时表中的供应商ID与库存表中的库存ID相同。