result = mysql_query ("SELECT * FROM table1 WHERE name1,name2 like '%".$key."%'"); ????sql语句是这样写的吗?
感谢你的解答,但是我用了你的方法试了,还是出现了问题。 页面打开后没有报错,但是选择后按SUBMIT键,出现了 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\search.php on line 36 // name1,name2到table1里匹配输出结果 table1里name1,name2就是 table2里的name1和table3里的name2里的字,但是table1里的name3,name4,name5可能包含name1与name2的文字,比如name1:侦探,name2:日本,name3:名侦探柯南错误会不会是这个原因?
确定是这样写的吗?if($_POST["submit"]){ $cat1=$_POST["cat1"]; $cat2=$_POST["cat2"]; $where = "where 1"; $cat1!="" && $where .= " and name1 like '%".$cat1."%'"; $cat2!="" && $where .= " and name2 like '%".$cat2."%'"; $result = mysql_query("SELECT * FROM table1 $where",$db); while($row = mysql_fetch_array($result)){ echo "{$row['name3']}<br\> {$row['name4']}<br\> {$row['name5']}<hr/>"; } }前面的都可以,没道理后面的就不行了。 难道是表名或字段名不对???
你的意思是表达清楚了,但代码和表达的意思就相差很远了。
下面是改的,不知道是不是你要的。
按照你发的代码,根本就不需要JS。<?
require_once("conn.php"); //连接MYSQL
mysql_select_db("root", $db); //连接数据库
?>
<form name="name" method='POST'>
<select name=cat1>
<option value=''>Select name</option>
<?
$q=mysql_query("select name1 from table2",$db);
while($n=mysql_fetch_array($q)){
echo "<option value=$n[name1]>$n[name1]</option>";
}
?>
</select> // 下拉框1结束
<select name=cat2>
<option value=''>Select name</option>
<?
$q=mysql_query("select name2 from table3",$db);
while($n=mysql_fetch_array($q)){
echo "<option value=$n[name2]>$n[name2]</option>";
}
?>
</select> // 下拉框2结束
<input type=submit value=submit> //按钮
</form>
<?
$cat1=$_GET["cat1"];
$cat2=$_GET["cat2"];
$where = "where 1";
$cat1!="" && $where .= " and name1 like '%".$cat1."%'";
$cat2!="" && $where .= " and name2 like '%".$cat2."%'";
$result = mysql_query ("SELECT * FROM table1 $where",$db);
while($row = mysql_fetch_array($result))
{ echo "{$row['name3']}<br\> {$row['name4']}<br\> {$row['name5']}";}
?> // name1,name2到table1里匹配输出结果
<?
require_once("conn.php"); //连接MYSQL
mysql_select_db("root", $db); //连接数据库
?>
<form name="name" action="" method='POST'>
<select name=cat1>
<option value=''>Select name</option>
<?
$q=mysql_query("select name1 from table2",$db);
while($n=mysql_fetch_array($q)){
$selected = $_POST["cat1"]==$n['name1'] ?"selected":"";
echo "<option value='{$n['name1']}' $selected>{$n['name1']}</option>";
}
?>
</select> // 下拉框1结束
<select name=cat2>
<option value=''>Select name</option>
<?
$q=mysql_query("select name2 from table3",$db);
while($n=mysql_fetch_array($q)){
$selected = $_POST["cat2"]==$n['name2'] ?"selected":"";
echo "<option value='{$n['name2']}' $selected>{$n['name2']}</option>";
}
?>
</select> // 下拉框2结束
<input type=submit name="submit" value=submit> //按钮
</form>
<?
if($_POST["submit"]){$_POST["cat1"]
$cat1=$_POST["cat1"];
$cat2=$_POST["cat2"];
$where = "where 1";
$cat1!="" && $where .= " and name1 like '%".$cat1."%'";
$cat2!="" && $where .= " and name2 like '%".$cat2."%'";
$result = mysql_query ("SELECT * FROM table1 $where",$db);
while($row = mysql_fetch_array($result)){
echo "{$row['name3']}<br\> {$row['name4']}<br\> {$row['name5']}<hr/>";
}
}
?> // name1,name2到table1里匹配输出结果
页面打开后没有报错,但是选择后按SUBMIT键,出现了
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\search.php on line 36
// name1,name2到table1里匹配输出结果 table1里name1,name2就是 table2里的name1和table3里的name2里的字,但是table1里的name3,name4,name5可能包含name1与name2的文字,比如name1:侦探,name2:日本,name3:名侦探柯南错误会不会是这个原因?
$cat1=$_POST["cat1"];
$cat2=$_POST["cat2"];
$where = "where 1";
$cat1!="" && $where .= " and name1 like '%".$cat1."%'";
$cat2!="" && $where .= " and name2 like '%".$cat2."%'";
$result = mysql_query("SELECT * FROM table1 $where",$db);
while($row = mysql_fetch_array($result)){
echo "{$row['name3']}<br\> {$row['name4']}<br\> {$row['name5']}<hr/>";
}
}前面的都可以,没道理后面的就不行了。
难道是表名或字段名不对???
我把table2,table3全都换成table1,可以测试出结果。
但是全部代码里用3个不同的表就会出错。全都改成table1以后,我在上面2个下拉框的代码 select 后面加 distinct,下拉框变的很长,但是里面的文字全都不显示了,一片空白……