Php 从文本区域进行Mysql查询

Php 从文本区域进行Mysql查询,php,html,mysqli,Php,Html,Mysqli,我有一个表单,我想用它来查询Mysql表。文本区域将接受条形码列表。以下是代码形式的示例: <form action="getbarcodes.php" method="post" id="calculate"> <div id="data"> <label>Barcode:</label> <span class="error">*</span><input type="tex

我有一个表单,我想用它来查询Mysql表。文本区域将接受条形码列表。以下是代码形式的示例:

 <form action="getbarcodes.php" method="post" id="calculate">
     <div id="data">
       <label>Barcode:</label>
       <span class="error">*</span><input type="textarea" name="barcode" ><br />
       <input type="submit" name="submit" value="View Codes" />
    </div>
  </form>
因此,我假设根据我提供的代码片段,我会将“itemlist”更改为“barcode”,将$item更改为$barcode。因此,如果您能帮助我翻译这段代码,以便我能够使用mysqli获得所需的结果,我将不胜感激


干杯

如果$POST['barcode']的格式不正确,您可能需要对其进行多一点操作

if ( ! empty($_POST['barcode']) ) {
  $barcodes = explode("\n", $_POST['barcode'])
  foreach ( $barcodes as $barcode) {
    $result[] = mysqli_query($con, "SELECT barcode, name, cost, salesprice, vatcode FROM   product where barcode = '$barcode' ");
  }

  if (! empty($result)) var_dump($result);
  else echo "No Product(s) Found";
}

使用上面的代码。在这里,我希望条形码以新行分隔。

您希望文本区域中有多个条形码条目,还是仅1个?感谢您的帮助,RST,每个条形码将有多个条目位于新行RST我尝试了您的示例。我已经修复了错误,但它返回一个空数组。因此,在某个地方,查询不起作用了?我假设您提供的查询命令工作正常。您必须测试所使用的变量,看看它们是否包含您期望的数据。您可以从echo$barcode开始,作为foreach循环中的第一个命令。
$result = mysqli_query($con, "SELECT barcode, name, cost, salesprice, vatcode FROM   product where barcode = '$barcode' ");
if ( ! empty($_POST['barcode']) ) {
  $barcodes = explode("\n", $_POST['barcode'])
  foreach ( $barcodes as $barcode) {
    $result[] = mysqli_query($con, "SELECT barcode, name, cost, salesprice, vatcode FROM   product where barcode = '$barcode' ");
  }

  if (! empty($result)) var_dump($result);
  else echo "No Product(s) Found";
}
if ( ! empty($_POST['submit']) && ! empty($_POST['barcode'])) {
  $barcodes = "'" . str_replace("\n", "','", $_POST['barcode']) . "'";
  mysqli_query($con, "SELECT barcode, name, cost, salesprice, vatcode FROM product where barcode IN  ($barcode)");
}