|
|
|
| Есть массив a[n]. И нужно сделать из базы выборку, где name равно элементам этого массива. Подскажите, как такое сделать.
select * from base where name=a[1] or name=a[2] .... не прокатит, т.к. кол-во элементов не постоянно. | |
|
|
|
|
|
|
|
для: master
(25.03.2005 в 14:58)
| | а если сделать запрос с BETWEEN и перечислить номера элементов.. | |
|
|
|
|
|
|
|
для: elenaki
(25.03.2005 в 15:05)
| | а подробнее можно? это как? | |
|
|
|
|
|
|
|
для: master
(25.03.2005 в 15:07)
| | Сделал сам.
Кому надо:
<?
$abc = a,b,c
$out_str=explode(",", $abc);
$num = count($out_str) - 1;
$sql="";
$a=0;
while ($a<=$num)
{
if($a==$num) $sql.="name='$out_str[$a]'";
else $sql.="name='$out_str[$a]' or ";
$a=$a+1;
}
$query = mysql_query("SELECT * FROM base WHERE ".$sql.";");
$row = mysql_fetch_array($query);
?>
|
| |
|
|
|
|
|
|
|
для: master
(25.03.2005 в 17:39)
| | Приколист однако! А если намов у тебя будет 200?
Укоротить бы не мешало твой запрос:
$abc="'a', 'b', 'c'"
$sql="SELECT * FROM TableName WHERE name IN (" . $abc . ")" | |
|
|
|