解决方案 »
- PHP与数据库连接问题!~
- 请教:mysql如何只赋于用户insert权限,不允许更新,不允许删除
- 有没有人知道discuz限制置顶数量的方法(就像贴吧一样自动更换...)
- 刚学习smarty,为什么会显示{% $content %}?
- 求一mysql正则表达式
- 解释下@ini_set('include_path', '.;' . ROOT_PATH);
- PHP下放盗链问题
- ■■■Zend Framework addModuleDirectory
- 大家帮忙看一下这个递归函数哪里错了?
- PHP str_replace 替换多个敏感词 【急,在线等】
- pdo prepare语句中有in function该怎么用。
- 请教一个字符串替换的问题
你的意思是表达清楚了,但代码和表达的意思就相差很远了。
下面是改的,不知道是不是你要的。
按照你发的代码,根本就不需要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,下拉框变的很长,但是里面的文字全都不显示了,一片空白……