繁体   English   中英

显示具有相同列值的不同行的多个值

[英]Display multiple values from different rows with same column value

我的代码:

<?php
require_once('auth.php');
require_once('connection.php');

$value1 = $_POST['value1'];
$qry=mysql_query("SELECT * FROM table WHERE (`value1` LIKE '%".$value1."%')") or die(mysql_error());
if(mysql_num_rows($qry) > 0){
while ($result = mysql_fetch_array($qry)){
$value1 = $result['value1'];
$value2 = $result['value2'];
}}else{die ("can't find ".$value1."");}
?>

   <br />
   <table width="700" border="0">
     <tr>
       <td colspan="2" align="center"><strong>Info for <?php echo $value1; ?></strong></td>
     </tr>
     <tr>
       <td width="100">Some text:</td>
       <td width="590"><?php echo $value2;?></td>
     </tr>

当只有一行具有相同的value1值时,代码工作正常。 如果有2,3或更多行具有相同的value1值,则脚本仅显示查找值中找到的表中最后一行的值。 我希望它显示包含所有查询行的条目的单独表。 我在网上寻求帮助,但我能找到的是如何从我的数据库中检索值,对我没有任何帮助

您将返回的行中的值分配给$ value1和$ value2。 因此,循环的每次迭代都会替换这些变量中的最后存储值。

这实际上只会给你找到的最后一行值(分配给变量的最后一个值)。

您需要将这些值推送到集合/数组中并重新循环它们以构建表,或将表代码放在初始循环中。

你应该将你的html块移动到while循环内部。 尝试这个

<br />
  <table width="700" border="0">
<?php
if(mysql_num_rows($qry) > 0){
    while ($result = mysql_fetch_array($qry)){
    $value1 = $result['value1'];
    $value2 = $result['value2'];
?>

     <tr>
       <td colspan="2" align="center"><strong>Info for <?php echo $value1; ?></strong></td>
     </tr>
     <tr>
       <td width="100">Some text:</td>
       <td width="590"><?php echo $value2;?></td>
     </tr>
<?php
}}else{die ("can't find ".$value1."");}
?>

</table>

我将<table>代码移动到while循环之前,将表行移动到循环内部,并在循环之后移动表close标记。 这样你就可以获得所有行。

如果您不想在没有行的情况下显示表,则可以将<table ..></table>标记移动到if语句块内。

编辑:

if(mysql_num_rows($qry) > 0){
?>
<br />
  <table width="700" border="0">
<?php
    while ($result = mysql_fetch_array($qry)){
    $value1 = $result['value1'];
    $value2 = $result['value2'];
?>

     <tr>
       <td colspan="2" align="center"><strong>Info for <?php echo $value1; ?></strong></td>
     </tr>
     <tr>
       <td width="100">Some text:</td>
       <td width="590"><?php echo $value2;?></td>
     </tr>
<?php
    }
    echo '</table>';
}else{die ("can't find ".$value1."");}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM