繁体   English   中英

从右到左分两列输出MySql数据

[英]Output of MySql Data in Two Columns from Right to Left

从右侧开始的两列中需要从mySql表输出数据记录,即记录1和2应该出现在第二列中,而3和4应该显示在第一列中。 这两个列均应能够显示任意数量的记录,而不仅仅是此处显示的两个示例。

mySql表:

1. fname     lname     age     address
2. fname     lname     age     address
3. fname     lname     age     address
4. fname     lname     age     address

使用的代码:

<?php
$con = mysql_connect("localhost","mysql_user","mysql_password");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }

mysql_select_db("test", $con);
?>

<style type='text/css'>
#div1, #div2 {float:left; margin-left:50px; width:300px;}
</style>

<?php
$result = mysql_query("SELECT * FROM member");
$rowcount = mysql_num_rows($result);

echo "<div id='div1'>";
$i = 0;

while($row = mysql_fetch_array($result))
   { 
      echo "Sr. No." . " " . $row['srno'] . " " . $row['fname'] . " " . $row['lname'] . " " . $row['age'] . " " . $row['address'];
   $i++;
   echo "<br/>";
   echo "<br/>";

      if ($i == floor($rowcount / 2)) {

   echo "</div><div id='div2'>";  
    }
   }
echo "</div>";

mysql_close($con);
?>

以上代码的输出:

Sr. No. 1. fname   lname   age   address               Sr. No. 3. fname   lname   age   address
Sr. No. 2. fname   lname   age   address               Sr. No. 4. fname   lname   age   address

需要的输出:

Sr. No. 3. fname   lname   age   address               Sr. No. 1. fname   lname   age   address
Sr. No. 4. fname   lname   age   address               Sr. No. 2. fname   lname   age   address

MySQL解决方案:

您需要在select语句中使用ORDER BY FIELD( ...

SELECT * FROM member ORDER BY FIELD( id, 3,4,1,2 )

此语句按以下顺序生成您的记录。

3. fname     lname     age     address
4. fname     lname     age     address
1. fname     lname     age     address
2. fname     lname     age     address

参考

暂无
暂无

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

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