0

数値が与えられた場合、MySql 関数内で、その数値に基づいて一連の数値をループするにはどうすればよいですか?

より明確な全体像を得るために、このようなことをphpでどのように行うことができるかを尋ねた私の質問をご覧ください。ここで質問します。

やりますselect myfunction(thenumber)。その数に基づいて、ループする必要がありました。

今のところ、

If thenumber = 1 then loop backward thru 1,4,7 only
If thenumber = 2 then loop thru 3
If thenumber = 3 then loop thru 10 

これが私がいじっていた機能です。

CREATE DEFINER=`root`@`localhost` FUNCTION `whileloop`(`danum` VARCHAR(2050))
    RETURNS varchar(1500)
    LANGUAGE SQL
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN
DECLARE x  INT;
DECLARE str  VARCHAR(255);
SET x = danum;
SET str =  '';
#If x = 1, while = 1, 4, 7////////
WHILE x  >= 1 DO //I'm stuck here
SET  str = CONCAT(str,x,',');
SET  x = x - 1; 
END WHILE;
RETURN str;
END

MySql 関数内でどのようにすればよいでしょうか。PHP では、配列に格納していました。ここでこれを行うにはどうすればよいですか?

編集

結果

私が最終的に得ようとしているのはリンクです。

So if `thenumber = 1`
`<a href=foo.php?id=1> <a href=foo.php?id=4> <a href=foo.php?id=7>` //3 Links Output in a single row
If `thenumber = 2`
`<a href=foo.php?id=3>` //Same as above. Output in a single row.
If `thenumber = 10`
`<a href=foo.php?id=10>`
4

1 に答える 1