плавающее количество условий Where?

Corvin

Новичок
плавающее количество условий Where?

Как можно с помощью php задать плавающее количество условий WHERE

$res = mysql_query("SELECT a, b, c FROM base WHERE id='$n1' OR id='$n2' OR .... ",$db);

Дело в том что я не знаю заранее какое количество условий при разных запросах надо ставить в запрос SELECT.

Можно ли записать нечто вроде(как пример, заранее знаю что не правильно):
$res = mysql_query("SELECT a, b, c FROM base
WHERE
for ($n=0; $n<$k; $n++){
if ($n>0){echo " OR ";};
echo "id=".$name[$n];
};
",$db);

Помогите плз.
 

Рома

был тут
Re: плавающее количество условий Where?

Автор оригинала: Corvin
Как можно с помощью php задать плавающее количество условий WHERE
$res = mysql_query("SELECT a, b, c FROM base WHERE id='$n1' OR id='$n2' OR .... ",$db);
Дело в том что я не знаю заранее какое количество условий при разных запросах надо ставить в запрос SELECT.
Можно ли записать нечто вроде(как пример, заранее знаю что не правильно):
$res = mysql_query("SELECT a, b, c FROM base
WHERE
for ($n=0; $n<$k; $n++){
if ($n>0){echo " OR ";};
echo "id=".$name[$n];
};
",$db);
Помогите плз.
Делай, например, так

PHP:
 for ($n=0; $n<$k; $n++)
{
  if ($n>0)$zapros.="id=$name[$n] OR"; 
}


$res = mysql_query("SELECT a, b, c FROM base 
 WHERE $zapros");
ну или примерно так...

Только вот последний OR придется отрезать...
 

_Fester_Adams

Guest
Так устроит?
PHP:
$sql = "SELECT a, b, c FROM myTable WHERE ";

foreach ($any_array as $key=>$val) {
 $sql .= " a='$val' OR";
}

$sql = substr($sql, 0, -2) . " ORDER BY b"
 
Сверху