我有一个包含成员名称和一个字段与多个ID号码的表。我想创建一个查询,返回ID字段中的任何值与数组中的任何值重叠的结果。虽然循环阵列
例如:名字:史密斯 姓:约翰 ID: 101,103
我有阵列#1具有值101,102,103
我想要的查询以输出具有在其id域中列出的值101或102或103的所有成员,并具有列出的多个ID。
Array ( [0] => 101
[1] => 102
[2] => 103)
$sql="SELECT firstname, lastname, id
FROM members WHERE id LIKE '%".$array_num_1."%'";
$result=mysql_query($sql);
while ($rows=mysql_fetch_array($result)) {
echo $rows['lastname'].', '.$rows['firstname'].'-'.$rows['id'];
}
我试图简化它。这些ID实际上存储在另一个表中,并且我从该表中生成了该数组。
$array_num_1 = array();
$sql_id="SELECT id FROM id_table WHERE id < 200";
$result_id=mysql_query($sql_id);
while($rows_id=mysql_fetch_array($result_id)){;
$array_num_1[] = $rows_id['id'];
}
存储值的列表,然后尝试写反对一个查询,然后使用答案是造型的关系的* *可怕的方式。我的建议是将您的数据库用作数据库。为关系创建一个子表,然后查询很简单。 – cletus 2010-03-21 16:01:54
这些ID实际上存储在一个单独的表中。见上面的编辑。 – Michael 2010-03-21 16:16:14
所以,你必须摆脱成员表中的这些id – 2010-03-21 16:21:07