簡體   English   中英

PHP中的SQL查詢,我可以將它們組合嗎?

[英]SQL QUERY IN PHP, can i combine them?

我的PHP中有一個SQL查詢,該查詢返回一個表,其中包含尚未完成的產品。 但是要執行查詢,我必須手動鍵入行號以使查詢更容易執行。 但是,我還有第二個查詢,該查詢返回什么產品的所有結果以及明天的交貨日期。 因此,如何進行第一個查詢以從第二個查詢中獲取行號,以獲取第二個查詢的結果,並打印未完成的明日產品行號的表。

這是php中第一個查詢的代碼:

<?php
$otsitav=$_POST['tid'];
$qryType=$_POST['qryType'];
$db=new mysqli('192.168.1.35','root','','newpms');
if($qryType=="works"){
$msc=microtime(true);
$result=$db->query($query);
$num_results=$result->num_rows;
if($num_results>0){
echo '<table border="1" class="db-table">
<thead>
<tr>
<th width="16%">Aeg</th>
<th width="6%">ID</th>
<th width="8%">Liin</th>
<th width="47%">Toode</th>
<th width="15%">Alus</th>
<th width="8%">Arv</th>
<th width="8%">Töötaja</th>
</thead>
<tbody>';
for ($i=0; $i <$num_results; $i++){
$row = $result->fetch_assoc();
echo '<tr>
<td>'.$row['timestamp'].'</td>
<td>'.$row['idnr'].'</td>
<td>'.$row['prLine'].'</td>
<td>'.utf8_encode($row['glass']).'</td>
<td>'.$row['rack'].'</td>
<td>'.$row['qty'].'</td>
<td>'.utf8_encode($row['fullName']).'</td>
</tr>';
}
echo "</tbody></table>";}

else{
    echo "<h2>Puudub info sellise toote kohta</h2>";
    }
$msc=microtime(true)-$msc;
echo "Kestus:".round($msc,2)." sec";
$result->free();
}
if($qryType=="rowStat"){
$msc=microtime(true);
$query="select proddb.onrrnr,proddb.idnr,proddb.onr,proddb.prod,proddb.qty from proddb WHERE proddb.onr=".$otsitav." AND proddb.idnr<>'0'";
$result=$db->query($query);
$num_results=$result->num_rows;
if($num_results>0){
    echo '<table border="1" class="db-table">
<thead>
<tr>
<th width="">Tellimus</th>
<th width="6">ID</th>
<th width="8">Toode</th>
<th width="">Valmis</th>
</thead>
<tbody>';
    for ($i=0; $i<$num_results; $i++){
        $row = $result->fetch_assoc();
        $query1="SELECT p1.onrrnr, p1.prLineSh, p1.glLiteNr, p1.seqNr, p1.planQty FROM pf_prodQtySeq p1 INNER JOIN (SELECT onrrnr, glLiteNr, MAX(seqNr) AS seqNr FROM pf_prodQtySeq  where onrrnr=".$row['onrrnr']." GROUP BY  glLiteNr) p2 ON p2.glLiteNr = p1.glLiteNr AND p2.seqNr = p1.seqNr AND p2.onrrnr=p1.onrrnr";
        $result1=$db->query($query1);
          $qtyMultiplier=1;
        $num_results1=$result1->num_rows; 
        if($num_results1>0){
            $liteOrdQty=0;
            $remQty=0;
            for ($i1=0; $i1 <$num_results1; $i1++){ 
                if($num_results1>1){
                 $qtyMultiplier=$num_results1;
            }
                $row1 = $result1->fetch_assoc();
                $liteOrdQty=$liteOrdQty+$row['qty'];
                $remQty=$remQty+$row1['planQty'];
            }
            $liteOrdQty=$liteOrdQty/$qtyMultiplier;
            $remQty=$remQty/$qtyMultiplier;
            $doneQty=($liteOrdQty-$remQty);
        }
        if($liteOrdQty===$remQty){
            echo '<tr style="font-weight:bold">
        <td>'.$row['onr'].'</td>
        <td>'.$row['idnr'].'</td>
        <td>'.utf8_encode($row['prod']).'</td>
        <td style = "color:red">'.$liteOrdQty."/".$doneQty.'</td>
        </tr>';
        }
    }
}
}
$db->close();
?>

第二個女巫讓我明天約會商品:

$sql = "SELECT CURDATE(),`onrrnr`, `deldate`, `cusref1` \n"
    . "FROM `proddb`\n"
    . "WHERE `deldate` = CURDATE()+1\n"
    . "ORDER BY `proddb`.`deldate` ASC";

我可以通過一些方法使它們結合起來嗎? 謝謝!

Shema進行第三次查詢

Shema進行第二次和第一次查詢

您可以像這樣在PHP中執行多個mysql查詢:

$sql= "SELECT p1.onrrnr, p1.prLineSh, p1.glLiteNr, p1.seqNr, p1.planQty FROM pf_prodQtySeq p1 INNER JOIN (SELECT onrrnr, glLiteNr, MAX(seqNr) AS seqNr FROM pf_prodQtySeq  where onrrnr=".$row['onrrnr']." GROUP BY  glLiteNr) p2 ON p2.glLiteNr = p1.glLiteNr AND p2.seqNr = p1.seqNr AND p2.onrrnr=p1.onrrnr;";
$sql.= "SELECT CURDATE(),`onrrnr`, `deldate`, `cusref1` "FROM `proddb` WHERE `deldate` = CURDATE()+1 "ORDER BY `proddb`.`deldate` ASC;";

暫無
暫無

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

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