【问题标题】:How to add a </tr><tr> automatically after every 2 <td>如何在每 2 个 <td> 之后自动添加一个 </tr><tr>
【发布时间】:2013-07-29 11:24:57
【问题描述】:

我正在使用基于用户搜索的 PHP 从 MySQL 中检索结果

我想在结果中每 2 秒自动添加一个

<?php
include_once("config.php");
isset( $_REQUEST['name'] ) ? $name=$_REQUEST['name'] : $name='';
$name = mysql_real_escape_string( $name );
if (strlen($name) >= 4) {

     $sql = "select * from places where speciality like '%$name%'";

     $rs = mysql_query( $sql ) or die('Database Error: ' . mysql_error
    $num = mysql_num_rows( $rs );

    if($num >= 1 ){     
        echo "<table id='result-table'><tr>";           
while($row = mysql_fetch_array( $rs )){

    echo "<td>row[cname]</td>"; //here i want to add </tr><tr> after 2 <td>s

 }

    }else{
        echo "no records found</table>";
    }
}
?>

【问题讨论】:

标签: php mysql


【解决方案1】:

使用$i = 1;if ($i % 2 == 0)$i++;

<?php 
include_once ("config.php");
isset ($_REQUEST['name']) ? $name = $_REQUEST['name'] : $name = '';
$name = mysql_real_escape_string($name);
if (strlen($name) >= 4) {
  $sql = "select * from places where speciality like '%$name%'";
  $rs = mysql_query($sql) or die('Database Error: '.mysql_error $num = mysql_num_rows($rs);
  if ($num >= 1) {
    $i = 1;
    echo "<table id='result-table'><tr>";
    while ($row = mysql_fetch_array($rs)) {
      echo "<td>row[cname]</td>"; //here i want to add </tr><tr> after 2 <td>s
      if ($i % 2 == 0)
        echo "</tr><tr>";
      $i++;
    }
  }
  else {
    echo "no records found</table>";
  }
}
?>

【讨论】:

    【解决方案2】:
    echo "<table id='result-table'><tr>";
    $currentCount = -1;
    while($row = mysql_fetch_array($rs))
    {
        echo "<td>row[cname]</td>";
        $currentCount = ($currentCount + 1) % 2;
        if($currentCount == 1)
        {
            echo '</tr><tr>';
        }
    }
    

    【讨论】:

      【解决方案3】:

      我建议根本不要把它们放在桌子上;而是简单地将它们放入 &lt;div&gt; 元素中,使用 float:leftwidth:50% 样式。

      如果您必须将它们放入一个表中,并且您想按照您要求的方式进行操作,您可以使用 PHP 的模运算符 (%) 将当前记录号除以 2,然后得到余数。如果是1,则添加&lt;tr&gt;标签:

      if(++$rowNum % 2) {print "</tr><tr>";}
      

      【讨论】:

      • @AdamTester:当然不,这真的不是表格。或者,如果是这样的话,他并没有要求它像表格数据一样布局;它只是一个匹配名称的列表。他希望它分两列,但这并不能改变它基本上只是一个单维数据集的事实。
      猜你喜欢
      • 2015-12-24
      • 1970-01-01
      • 2011-07-08
      • 2018-01-05
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多