I have an array with 6 random id. How can I perform
select * where id not equal to from my array in php?
I’m trying with a for loop but at first it returns everything except id[0], the second time everything except id[1] and so on.
My query look like this
select * from challenges where id <> id[i]
my array is catogary_id and looks like
Array ( [0] => 6 [1] => 2 [2] => 4 [3] => 10 [4] => 3 [5] => 5 [6] => 8 [7] => 1 [8] => 7 )
The loop
for($cnt=0;$cnt<count($cat_id);$cnt++)
{
$task_id=$catogary_id[$cnt];
$result = mysqli_query($connection,"select * from task id <> $task_id");
$Qno=1;
while($row=mysqli_fetch_assoc($result))
{
do something here
}
}
Advertisement
Answer
$sql = "SELECT *
FROM task
WHERE id NOT IN ( '" . implode( "', '" , $cat_id ) . "' )";
$result = mysqli_query($connection, $sql);