gpt4 book ai didi

php - 以不同的间隔选择多行

转载 作者:行者123 更新时间:2023-11-29 07:03:16 25 4
gpt4 key购买 nike

是否可以在 MySQL 中选择一行,然后错过 4 行,然后错过 3 行,然后错过 5 行,然后循环直到表的末尾?

我在网上找到了一些 LIMIT 和 OFFSET 教程,它们有效,但仅适用于一次偏移。我需要多个。

我目前有这个设置可以在 PHP 中工作,但我觉得我的 PHP 代码很臃肿,因为我只知道实现它的基本方法。

我的PHP代码如下

    $int_count = 0;
$result = mysql_query("SELECT * FROM guitar_tunings_chords WHERE note_id >= '27'");
while ( $row = mysql_fetch_array($result) ) {

if ($int_count == 0)$n_1 = ($row["note"]);
if ($int_count == 4)$n_2 = ($row["note"]);
if ($int_count == 7)$n_3 = ($row["note"]);
if ($int_count == 12)$n_4 = ($row["note"]);
if ($int_count == 16)$n_5 = ($row["note"]);
if ($int_count == 19)$n_6 = ($row["note"]);
if ($int_count == 24)$n_7 = ($row["note"]);
if ($int_count == 28)$n_8 = ($row["note"]);
if ($int_count == 31)$n_9 = ($row["note"]);
if ($int_count == 36)$n_10 = ($row["note"]);
if ($int_count == 40)$n_11 = ($row["note"]);
if ($int_count == 43)$n_12 = ($row["note"]);
if ($int_count == 48)$n_13 = ($row["note"]);
if ($int_count == 52)$n_14 = ($row["note"]);

$int_count++;

}

我要做的是仅从大音阶中选择大三和弦音符。

我需要能够从表格中选择一个基音,然后选择 3 个不同的音程来创建和弦。


更新

            $result2 = mysql_query("SELECT * 
FROM `guitar_tunings_links`
JOIN guitar_tunings_chords ON guitar_tunings_links.".$funtion_string." = guitar_tunings_chords.note
WHERE tuning = '".$chrd_tn."'") or die(mysql_error());

while ( $row = mysql_fetch_array($result2) ) {
$bridge_note = ($row["note_id"]);
}/*
var_dump ($key_note);
var_dump ($bridge_note);
var_dump ($funtion_string);
var_dump ($chrd_tn);*/
// SELECT * FROM `guitar_tunings_chords` WHERE `note_id` >= 28 LIMIT 0,8
$result4 = mysql_query("SELECT * FROM `guitar_tunings_chords` WHERE `note_id` >= ".$bridge_note." LIMIT ".$tuning_capo.",8") or die(mysql_error());
while ( $row = mysql_fetch_array($result4) ) {

//Notes
$note = ($row["note"]);

// Replace # with z
$note = str_replace("#", "z", $note);

// Distinguish nut notes on or off
if (preg_match("/\b".$note."\b/i", $notes_array)) {
$n_nut_style = 'note_nut_on';
} else { $n_nut_style = 'note_nut_off';
}

// Distinguish fretboard notes on or off
if (preg_match("/\b".$note."\b/i", $notes_array)) {
$n_style = 'note_on';
} else { $n_style = 'note_off';
}

最佳答案

您必须将它应用到您的确切表格,但它应该工作得很好。

select * 
from (select @i := @i+1 as count,
gtc.* from guitar_tunings_chords gtc
where note_id >= 27) counts
join (select @i := -1 as counter) dummy
where count % 12 = 0
or (count-4) % 12 = 0
or (count-7) % 12 = 0;

%12给出一个完整的跳过循环,-4和-7(和-0)是每个循环内的内部偏移量。

关于php - 以不同的间隔选择多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com