在mysql中选择细节

时间:2017-09-26 08:59:50

标签: php mysql

我正在使用一张表格,其中我有相同ID的不同细节和不同数量,现在我想要分别打印相同特定ID的每个特定数量。

from bs4 import BeautifulSoup as bs
import urllib


url = urllib.urlopen('http://www.haripuisi.com/arsip/3163').read()
soup = bs(url, 'lxml')
print (soup.find(class_="entry-title").get_text())
print (soup.find(class_="entry-content").get_text())

file_name= soup.find(class_="entry-title").get_text() 

save_file = open("/Users/luowensheng/Desktop/%s.txt"%file_name, "w")
save_file.write(soup.find(class_="entry-content").get_text())
save_file.close()

这就是我试图获取$ qty变量中的相应数量的方法。这个变量用在下面:

$mq="SELECT count( particulars ) AS 'n' FROM delivery_challan WHERE job_order_id =".$_GET['jo'];
$ha=mysqli_query($link,$mq);


   $haha=mysqli_fetch_object($ha);
   $n=$haha->n;
   echo $n;
   for($i=1;$i<=$n;$i++)
   {
        $nq="SELECT qty FROM `delivery_challan` WHERE job_order_id=".$_GET['jo'];

        $r=mysqli_query($link,$nq);

    //$i=1;
        $rs=mysqli_fetch_object($r);
        $qty=$rs->qty;
}

例如:

在我的表格&#39; delivery_challan&#39;我有3个细节x,y&amp; z有3种不同的量10,20&amp;分别为30。现在在上面提到我想要打印所有三个数量。正确打印3次,但在所有3个版本中只打印10个,其​​中10个然后是20个,在第3个中,必须打印30个。 但是只打印了第一个值。

我无法找到解决方案。请帮我。感谢。

3 个答案:

答案 0 :(得分:2)

这样的事情应该有效。您不需要首先获取结果的计数,而是可以直接遍历主查询的结果集,直到结束。此示例使用预准备语句和参数来保护您的数据库免受注入攻击:

if ($stmt = mysqli_prepare($link, "SELECT qty FROM `delivery_challan` WHERE job_order_id= ?")) 
{
  //bind the job order parameter
  mysqli_stmt_bind_param($stmt, 'i', $_GET['jo']);

  //execute the query
  mysqli_stmt_execute($stmt);

  //bind the columns in the result to variables for use in the next part
  mysqli_stmt_bind_result($stmt, $qty);

  //loop through all the rows returned, and print the output
  while (mysqli_stmt_fetch($stmt)) {
     echo '<td><input name="invqty[]" type="text" onchange="SetDefault(<?php echo $cnt; ?>, $(this).val());" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" class="form-control1" id="invqty<?php echo $cnt; ?>" size="5" value="'.$qty.'"></td>';
  }
  mysqli_stmt_close($stmt);
}
else
{
  echo "ERROR - failed to prepare SQL statement";
  //here you should log the result of running mysqli_error() to your application's error log. Don't show it to the user.
}

您可以在此处查看更多示例,例如:http://php.net/manual/en/mysqli-stmt.fetch.php

答案 1 :(得分:1)

select item_tbl.id as item_id, user.id as user_id, order.id as order_id

您可以通过这种方式获取ID。

答案 2 :(得分:0)

试试这个。无需查询计数。

$mq="SELECT qty FROM delivery_challan WHERE job_order_id =".$_GET['jo'];
$ha=mysqli_query($link,$mq);
while($haha=mysqli_fetch_object($ha))
 {
   $qty=$haha->qty;
   echo $qty;
 }

以您需要的方式使用此$ qty变量。