Я хочу иметь возможность получать только значения, когда в нескольких столбцах есть "1". Однако имена столбцов хранятся динамически в переменной. Как я могу это сделать?
Это то, что у меня есть. Столбцы выложены следующим образом $Columns = "Computer, Science, Algebra, Biology, Networking";
//This is Dynamic so $Columns may be like this next time
$Columns = "Biology, Networking";
$SQL = "SELECT * FROM users WHERE '1' IN(".$Columns.")";
Прямо сейчас он выбирает всех пользователей, у которых есть "1" в любом из столбцов
Я только хочу получить пользователей, которые имеют "1" во ALL
из переменных в массиве $Columns
не только один из них
Поскольку переменная $ column может быть разных размеров, вам нужно будет создать свою инструкцию sql на основе количества столбцов в массиве в цикле for:
// SET your first column IN
$sql = "SELECT * FROM users WHERE '1' IN (".$Columns(0).")"
//Run the for loop to build sql on all subsequent columns
// size of will give you the number of columns in your array
$max = sizeof($columns);
for($i = 1; $i < $max;$i++)
{
//Use the "AND" to make sure "1" is in all columns
$sql.=" AND '1' IN (".$Columns($i).")
}
$sql.=";"
Мой код может быть не идеальным, но должен помочь вам в правильном направлении.