php - 在php中显示同一列但具有不同值的结果

标签 php mysql

我有以下 php 代码,它根据位置查询数据库的表。 表结构如下:

 s/n | inventory no |   asset no  |    place
=====+==============+============+=============
  1  |      125A    |    5245     |   London
  2  |     1254B    |    7545     |   London
  3  |      128A    |    5645     |  New York
  4  |      254B    |    1545     |    Tokyo
  5  |      6545    |    1456     |    Tokyo

代码:

$location=$_POST['loc'];  
foreach ($location as $chk1)
{ 
   echo "<br>";
   $sql="SELECT * FROM desktop WHERE Place='$chk1';";
    $result=mysql_query($sql);


if($result==null)
 {
   echo '<script> alert("No entry for location '.$chk1.' anditem '.'desktopreturned");</script>';
continue;
 }
 $row = mysql_fetch_array($result);
 if($row==null)
 {
   echo '<script>alert("No entry for location '.$chk1.' and item '.'desktop returned");</script>';
  continue;
 }

   mysql_data_seek($result, 0);
  ?><table border='1' id="desktop" caption=<?php $location ?> >
 <tr>
 <th>S/N</th>
 <th>Inventory No</th>
 <th>Asset No</th>
 <th>Place</th>
 </tr>
  <?php
 while($row = mysql_fetch_array($result)) {?>
 <tr class="alt">
 <?php
    echo "<td>" . $row['S/N'] . "</td>";
    echo "<td>" . $row['Inventory no'] . "</td>";
    echo "<td>" . $row['Asset No'] . "</td>";
    echo "<td>" . $row['Place'] . "</td>";
    echo "</tr>";

  }

 echo "</table>";
}

编辑: CSS 代码:

  #desktop {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
width: 100%;
border-collapse: collapse;
}

#desktop th {
font-size: 1.1em;
text-align: left;
padding-top: 5px;
padding-bottom: 4px;
background-color: #FFCC33;
color: #ffffff;
}

#desktop td, #desktop th {
font-size: 1em;
border: 1px solid #FFCC33;
padding: 3px 7px 2px 7px;
}


#desktop tr.alt td {
color: #000000;
background-color: #FFFFCC;
}

这里,$location 存储在 html 表单中选择的位置。

我希望将不同地方的查询返回结果显示为一个表。目前,它正在将不同位置的结果显示为具有自己的表标题的不同表。我希望将返回的查询附加到一个变量中。

最佳答案

只需将表格放在 foreach 循环之前。由于它位于循环内部,因此每次循环继续时都会重复

<table border='1' id="desktop" caption=<?php $location ?> >
   <tr>
    <th>S/N</th>
    <th>Inventory No</th>
    <th>Asset No</th>
    <th>Place</th>
  </tr>
foreach ($location as $chk1)
  { 
    echo "<br>";
    $sql="SELECT * FROM desktop WHERE Place='$chk1';";
    $result=mysql_query($sql);
 ...
 ...

  } 
}
echo "</table>";

关于php - 在php中显示同一列但具有不同值的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24948993/

相关文章:

php - Laravel 5.2 使用 Eloquent 方法获取每行数据的 date_diff

php - Doctrine2 - 来自两个不同实体的同一实体的多态关联

mysql用户行级访问

php - 从 mysql 查询创建数组。 Column2 作为键 Column 1 作为值

php - 如何计算每行之间的时间差(+/-)?

php-Mysql : ID of added row in database

sql - 如何让 MySql 使用 "["作为引号字符?

php - 代码点火器上的权限被拒绝

PHP 将时间四舍五入到最接近的 15 秒