Question1:MySQL (взрываются/соответствие массив)
MySQL таблица
идентификатор | массив
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»], поэтому он должен выводить:
идентификаторами: 1,2,3
question2:
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 />';
}
}
, что будет выглядеть просто ужасно.
нормализовать дб схему – knittl