之前代碼驗證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 "$info[0]
";
}
}
}
謝謝各位大神的指教.
回複討論(解決方案)
出錯了!
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] }'"
出錯了!
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中有代碼如下:
Activités gymniques
Activités gymniques aquatiques
Activités fitness/forme
Activités douces/ bien-être
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 "$info[0]
";
}
}
}
按照版主大人說的改了下,其中在1.php中單選了Activités gymniques 選項,上面代碼結果輸出為:
select n_naps from activage where famille='activités gymniques'0
不知道為什麼查詢結果是0,我複製粘貼的這段話放到mysql中,找到了4個結果.
這裡是0,不知道為啥...
引用 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的......
字元 é 在中文作業系統中是2位元組的,其內碼與所用字元集有關