Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 实际需要与周id对应的3行吗?如果是这样的话,查询可以大大简化,并且可以省略大量代码膨胀。您总是在查询中查找本周的id,还是由用户的选择决定?请澄清你的问题。我保证这是值得做的。谢谢你这么好奇,作为一个新的程序员,很难找到帮助。用例是为一个网站检索3条内容_Php_Mysql_Date - Fatal编程技术网

Php 实际需要与周id对应的3行吗?如果是这样的话,查询可以大大简化,并且可以省略大量代码膨胀。您总是在查询中查找本周的id,还是由用户的选择决定?请澄清你的问题。我保证这是值得做的。谢谢你这么好奇,作为一个新的程序员,很难找到帮助。用例是为一个网站检索3条内容

Php 实际需要与周id对应的3行吗?如果是这样的话,查询可以大大简化,并且可以省略大量代码膨胀。您总是在查询中查找本周的id,还是由用户的选择决定?请澄清你的问题。我保证这是值得做的。谢谢你这么好奇,作为一个新的程序员,很难找到帮助。用例是为一个网站检索3条内容,php,mysql,date,Php,Mysql,Date,实际需要与周id对应的3行吗?如果是这样的话,查询可以大大简化,并且可以省略大量代码膨胀。您总是在查询中查找本周的id,还是由用户的选择决定?请澄清你的问题。我保证这是值得做的。谢谢你这么好奇,作为一个新的程序员,很难找到帮助。用例是为一个网站检索3条内容,但我希望这些内容在选择下3条之前在网站上保留一周。因此,每周都有人返回该网站,新内容会一直显示,直到52周全部完成,理论上我会回到第一周。所以要回答你的问题,是的,我只需要3个身份证就可以了“我在网站上只显示了3条内容。听起来我的$limit


实际需要与周id对应的3行吗?如果是这样的话,查询可以大大简化,并且可以省略大量代码膨胀。您总是在查询中查找本周的id,还是由用户的选择决定?请澄清你的问题。我保证这是值得做的。谢谢你这么好奇,作为一个新的程序员,很难找到帮助。用例是为一个网站检索3条内容,但我希望这些内容在选择下3条之前在网站上保留一周。因此,每周都有人返回该网站,新内容会一直显示,直到52周全部完成,理论上我会回到第一周。所以要回答你的问题,是的,我只需要3个身份证就可以了“我在网站上只显示了3条内容。听起来我的
$limit\u offset
解决方案最适合您的任务。否则你就得把整张桌子卸下来,只为了够到三排。我不怕哈哈,但我从来没有做过这样的事。很酷;我要玩它。非常感谢。我想我的下一个问题是:接下来如何使用这些逗号分隔的ID?不仅仅是将它们打印到屏幕上,是吗?向您提供我最好的建议完全取决于理解您从开始到结束的编码要求。@Jeff您的代码的独立目标是什么?您是否只需要与周id对应的3行?如果是这样的话,查询可以大大简化,并且可以省略大量代码膨胀。您总是在查询中查找本周的id,还是由用户的选择决定?请澄清你的问题。我保证这是值得做的。谢谢你这么好奇,作为一个新的程序员,很难找到帮助。用例是为一个网站检索3条内容,但我希望这些内容在选择下3条之前在网站上保留一周。因此,每周都有人返回该网站,新内容会一直显示,直到52周全部完成,理论上我会回到第一周。所以要回答您的问题,是的,我只需要3个Id,因为我在网站上只显示了3条内容。听起来我的
$limit\u offset
解决方案最适合您的任务。否则,您将卸载整个表,只需访问三行。
Week 1 = Id's 1,2,3
Week 2 = Id's 4,5,6
Week 3 = Id's 7,8,9
Week 4 = Id's 10,11,12
Week 5 = Id's 13,14,15
Week 6 = Id's 16,17,18
$weeks = array(1,2,3,4,5,6,7);
$output_arr = array();
$ids_arr = array();
$id1 = 1;
$id2 = $id1 + 1;
$id3 = $id1 + 2;
$i = -1;
foreach ($weeks as $week) {
    if ($week == 1) {
        $ids = array($id1, $id2, $id3);
        $ids = implode(', ', $ids);
    } else {
        $id1 = $week * 2 + $i;
        $id2 = $id1 + 1;
        $id3 = $id1 + 2;
        $ids = array($id1, $id2, $id3);
        $ids = implode(', ', $ids);     
    }
    $output_arr[$week] = $ids;
    $i++;
}
$output_arr = Array ( [1] => 1, 2, 3 [2] => 4, 5, 6 [3] => 7, 8, 9 [4] => 10, 11, 12 [5] => 13, 14, 15 [6] => 16, 17, 18 [7] => 19, 20, 21 )
$ids = array(1,2,3,4,6,7,8,10);
function weekIds($pWeek){
    $wids = array();
    for($i=1;$i<=3;$i++)
        $wids[] = ($pWeek-1)*3+$i;
    return $wids;
}
$seq = weekIds(2);
foreach($seq as $s)
    $nonSeq[] = $ids[$s-1];
echo 'Sequential: ' .print_r($seq,true).PHP_EOL; 
echo 'Non-Sequential: ' .print_r($nonSeq,true); 
Sequential: Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)

Non-Sequential: Array
(
    [0] => 4
    [1] => 6
    [2] => 7
)
SELECT 
  CEIL(r / 3) AS WeekId, GROUP_CONCAT(id) AS Ids
FROM (
  SELECT  
    @rowid := @rowid + 1 AS r, id
  FROM tableA
  CROSS JOIN (
    SELECT @rowid := 0
  ) cjoin
) sub
GROUP BY WeekId
| WeekId | Ids   |
| ------ | ----- |
| 1      | 1,2,3 |
| 2      | 4,6,7 |
| 3      | 8,10  |
$limit_offset = ceil(date('W') / 3) - 1;
$query = "SELECT id FROM your_table ORDER BY id LIMIT $limit_offset, 3";