質問1:
MySQLテーブル
id | アレイ
1| 1,2,3
2 | 2
3 | 2,3
4 | 4,5,6
$_GET['id'] = 2;
$a = mysql_query("SELECT * FROM `table` WHERE `array` ??? '$_GET[id]'");
このステップでは、配列全体を実行して、$ _ GET ['id']と一致するかどうかを確認したいので、次のように出力する必要があります。
ids:1,2,3
質問2:
MySQLテーブル
id | アレイ
1| 4,5,6
2 | 3,4,7
$_GET['id'] = 4;
$a = mysql_query("SELECT * FROM `table` WHERE `array` ??? '$_GET[id]'");
このステップでは、配列の最初の要素とのみ照合したいので、次のように出力する必要があります。
id:4
これを行うためにPHPを使用することしか考えられませんが、可能であれば、MySQLクエリ内ですべてを実行したいと思います。
$a = mysql_query("SELECT * FROM `table`");
while($b = mysql_fetch_assoc($a))
{
$elements = explode(',', $b['array']);
foreach($elements as $element)
{
if($element == $_GET['id'])
{
echo $b['id'].'<br />';
}
}
}
また
$a = mysql_query("SELECT * FROM `table`");
while($b = mysql_fetch_assoc($a))
{
$array = $b['array'];
if(in_array($_GET['id'], $array))
{
echo $b['id'].'<br />';
}
}
それはひどいように見えるでしょう。