SELECT クエリの値をチェックする関数を mySQL 内に記述し、それが != 0 の場合、関数の実行を続行して結果配列に追加することは可能ですか?
related_id
=としてマークされたエントリがいくつかあります0
。残りには実際の正の数値が添付されています。
SQL関数を継続的にループする単一のクエリを作成しようとしています。取得したrelated_id
結果が0であるかどうかを確認して確認します。そうでない場合は、再度実行され、新しくチェックされた行が結果配列に追加され、見つかるまで続行されます0。
DB のセットアップ方法では、常に 0 が発生し、id を介して検索されるため、結果は 1 つだけになります。
少し変更されたタグ付けシステムを使用しています。
keywords_id | keyword | related_id
------------------------------------
1 | sports | 0
2 | baseball | 1
3 | football | 1
4 | pitchers | 2
related_id
=を渡すと、次2
のような配列が返されます。
array
[0]
keyword => 'sports'
keywords_id => '1'
related_id => '0'
[1]
keyword => 'baseball'
keywords_id => '2'
related_id => '1'
[2]
keyword => 'pitcher'
keywords_id => '4'
related_id => '2'
私は IF と THEN を使って運を試しましたが、十分な例を見たことがなく、オンラインで堅実なチュートリアルを見つけるのは難しいです。ありがとう!
SELECT k.*
FROM keywords k
WHERE keywords_id = 2
上記のクエリは、本質的にそれを開始します。は渡されたものですkeywords_id
。related_id
したがって、上記は戻りますkeywords_id: 2 |keyword: baseball |related_id: 1
related_id 1 は 0 ではないため、もう一度実行する必要があります。
これは、いくつかの追加のクエリを使用して PHP で実行できることを認識しています...それは私がこれを行うべき方法ですか? 関数について読んだ後、mySQLで実行できると思います。私はそれを理解できませんでした。