PHP按ID循环输出内容

来源:百度知道 编辑:UC知道 时间:2024/07/02 10:34:05
我现在的代码如下.. 但是什么结果都调用不出来.. 去掉foreach后能出来结果, 但是只有一条.. 我要的效果是 比如访问 aa.php?id=1,2,3 就循环输出ID1的标题.. ID2的标题.. 这样子的...
$ids=$_POST['id'];
$song_list = "";
//循环获得各ID的歌名和地址并连成字符串

foreach($ids as $id){
$sql = "select title from archives where id = '".$id."';";

$song_list .= "<h1>".iconv("gbk","UTF-8", $row['title'])."</h1>\n";
}
//打印结果
echo "".$song_list."";
不要循环查询
$sql = "select title from archives where id in($ids)";
这句根本就不行啊.. 我查询aa.php?id=3605,3606
根本就不是分别输出两个ID的内容..

不能不说两句了,有点误导在里面
a.php?id=1,2,3
这个写法是正常的,可以使用
a.php?id1=1&id2=2&id3=3这种写法不常见你可以想如果我要100个id进来,这个url会不会非常的长,你获取的id值的时候会疯掉的。

a.php?id=1,2,3

$ids = $_GET['id'];
$sql = "select title from archives where id in($ids)";

这样就应该可以执行了

你这写法,唉,题外话,不说了,说正经的
首先你想用a.php?id=1,2,3这个是什么意思?一次接3个id?用get方式也没有这个么写的呀,a.php?id1=1&id2=2&id3=3
其次,你到底想用get方式,还是post方式接受参数,
最后,无论你用哪种方式接收参数,下面的写法很另类,一般都是mysql用id in(1,2,3)这样的写法
你再补充补充吧

不要循环查询
$sql = "select title from archives where id in($ids)";