大神请进:php代码循环问题.

davenport 2013-04-19 02:28:05
之前代码验证mysql连接无误.
这里我想实现的是:activite返回1个以上的参数的话,对每个参数进行sql查询,然后把每个查询结果显示出来,可是我的是个死循环,可且就是返回一个参数,也不显示结果,请问是这么回事呢?
mysql_select_db($mysql_database,$link);
if (isset($_POST["activite"])) {
for($i=0;$i< count($activite);$i++){
$strsql="select n_naps from activage where famille='$activite[$i]'";
echo $strsql;
$result=mysql_query($strsql);
$nb=mysql_num_rows($result);
for($i=1;$i<=$nb;$i++){
$info=mysql_fetch_row($result);
echo "<input type=\"radio\" name=\"res\" value=$info[0]>$info[0]<br>";
}
}
}
谢谢各位大神的指教.
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2013-04-20
  • 打赏
  • 举报
回复
字符 é 在中文操作系统中是2字节的,其内码与所用字符集有关
davenport 2013-04-20
  • 打赏
  • 举报
回复
引用 2 楼 davenport 的回复:
引用 1 楼 xuzuning 的回复:出错了! 1、for($i=0;$i< count($activite);$i++){ 没有看到对 $activite 赋值 2、$strsql="select n_naps from activage where famille='$activite[$i]'" 应写作 $strsql="select n_naps f……
对2楼的补充啊,如果把where之后的都去掉,就显示出所有的n_naps了,就是说问题出在where哪里了,但是我实在找不出哪里有错啊....就是写$strsql="select n_naps from activage where famille='activités gymniques'还是说是0的......
davenport 2013-04-20
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
出错了!
1、for($i=0;$i< count($activite);$i++){
没有看到对 $activite 赋值
2、$strsql="select n_naps from activage where famille='$activite[$i]'"
应写作
$strsql="select n_naps from activage where f……

版主大人,谢谢你每次都有回答我的一些白痴问题啊,我把问题说的在细点吧:
在1.php中有代码如下:
<input type="checkbox" name="activite[]" value="activités gymniques">Activités gymniques <br>
<input type="checkbox" name="activite[]" value="activités gymniques aquatiques">Activités gymniques aquatiques<br>
<input type="checkbox" name="activite[]" value="activités fitness /forme">Activités fitness/forme<br>
<input type="checkbox" name="activite[]" value="activités douces /bien-être">Activités douces/ bien-être <br>
2.php接收1.php中的参数:局部代码如下:
之前验证连接数据库无误。
$activite=isset($_POST["activite"])?$_POST["activite"]:"";
if (isset($_POST["activite"])) {
for($i=0;$i< count($activite);$i++){
$strsql="select n_naps from activage where famille='{$activite[$i]}'" ;
echo $strsql;
$result=mysql_query($strsql);
$nb=mysql_num_rows($result);
echo $nb;
for($i=1;$i<=$nb;$i++){
$info=mysql_fetch_row($result);
echo "<input type=\"radio\" name=\"res\" value=$info[0]>$info[0]<br>";
}
}
}
按照版主大人说的改了下,其中在1.php中单选了Activités gymniques 选项,上面代码结果输出为:
select n_naps from activage where famille='activités gymniques'0
不知道为什么查询结果是0,我复制粘贴的这段话放到mysql中,找到了4个结果.

这里是0,不知道为啥...
xuzuning 2013-04-19
  • 打赏
  • 举报
回复
出错了! 1、for($i=0;$i< count($activite);$i++){ 没有看到对 $activite 赋值 2、$strsql="select n_naps from activage where famille='$activite[$i]'" 应写作 $strsql="select n_naps from activage where famille='{$activite[$i]}'"

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧