[英]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.