简体   繁体   English

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

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

Output of data records from mySql table is required in two columns starting from right side, ie records 1 & 2 should appear in the second column while 3 & 4 should display in the first column. 从右侧开始的两列中需要从mySql表输出数据记录,即记录1和2应该出现在第二列中,而3和4应该显示在第一列中。 Both the columns should be able to display any number of records, not just two that is shown here as an example. 这两个列均应能够显示任意数量的记录,而不仅仅是此处显示的两个示例。

mySql table : mySql表:

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

Code used : 使用的代码:

<?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);
?>

Output from above code : 以上代码的输出:

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

Output required : 需要的输出:

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 solution: MySQL解决方案:

You need ORDER BY FIELD( ... in your select statement. 您需要在select语句中使用ORDER BY FIELD( ...

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

This statement results your records in the following order. 此语句按以下顺序生成您的记录。

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

Refer to : 参考

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

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