作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个问题 Here我认为这有点臃肿。在这里浏览这个问题是我的要求:
我需要创建 3 个 mySQL 查询来获取该行中的所有信息,以便我可以将信息格式化为其中一个 HTML 表格。
这是我选择所有内容的查询:
$qry_questions = mysql_query("SELECT * FROM mbr_qa_questions ORDER BY q_votes DESC);
while($row = mysql_fetch_array($qry_questions){
//Grab all information
}
现在,我需要进行三个与上述查询类似的查询,但我需要它执行如下操作:
pull everything from every third row in a table starting at row #1
pull everything from every third row in a table starting at row #2
pull everything from every third row in a table starting at row #3
然后我会将这些查询中的每一个放入 3 列之一。
我无法通过唯一 ID 执行此操作。是的,它是一个自动递增的 ID,但我可能必须将整行移动到另一个表中。
编辑:我已经添加了对每一行进行计数并将查询结果放入正确的“bin”中的尝试
//GIVE EACH ENTRY A COLUMN NUMBER
$count++;
if($count >= 4){
$count = 1;
}?>
<div class="col" id="col-1">
<?PHP
while($count == 1){
include("pieces/answers/newAnswerLayout.php");
}
?>
</div>
<div class="col" id="col-2">
<?PHP
while($count == 2){
include("pieces/answers/newAnswerLayout.php");
}
?>
</div>
<div class="col" id="col-3">
<?PHP
while($count == 3){
include("pieces/answers/newAnswerLayout.php");
}
?>
</div>
最佳答案
这是一种获取 MySQL 返回的结果集的方法。 (但只返回所有行并在应用程序中获取每三行可能更容易)。但它可以很容易地在 MySQL 中完成。请注意,您的原始查询包含在别名为 r
的括号中(作为内联 View )。
SELECT r.*
FROM (
SELECT *
FROM mbr_qa_questions
ORDER BY q_votes DESC
) r
CROSS
JOIN ( SELECT @i := 0 ) s
HAVING ( @i := @i + 1) MOD 3 = 1
从第一行开始,每三行返回一次。要获取从第二行和第三行开始的每隔三行,请将 HAVING 子句中的文字 = 1
替换为 = 2
或 = 3
(分别)。
关于php - 如何从 n 开始选择 mySQL 中的每第 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942812/
我是一名优秀的程序员,十分优秀!