Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用下拉菜单在php中搜索表单_Php_Jquery - Fatal编程技术网

使用下拉菜单在php中搜索表单

使用下拉菜单在php中搜索表单,php,jquery,Php,Jquery,你好!我只是一个php编程的新手,所以我需要有人帮我做这个。我仍然找不到这个代码有什么问题。我创建了一个带有下拉菜单的搜索表单来过滤结果。但是当我搜索的时候什么也没发生。要么只是刷新页面,要么显示错误信息。任何答案都将不胜感激!:)提前谢谢!代码如下: <html> <head> <basefont face="Arial"> </head> <body> <?php error_reporting(E_ALL);

你好!我只是一个php编程的新手,所以我需要有人帮我做这个。我仍然找不到这个代码有什么问题。我创建了一个带有下拉菜单的搜索表单来过滤结果。但是当我搜索的时候什么也没发生。要么只是刷新页面,要么显示错误信息。任何答案都将不胜感激!:)提前谢谢!代码如下:

   <html>
    <head>
<basefont face="Arial">
</head>
<body>

<?php
error_reporting(E_ALL); 
if (!isset($_POST['Submit'])) {
// form not submitted
?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
search  
  <input type="text" name="search">
   <select size="1" name="dropdown">
    <option value="" selected>search By...</option>
    <option value="first">Company</option>
    <option value="last">Address</option>  
  </select>
  <input type="Submit" value="Submit" name="Submit"> 
</form>

<?php
}

else {

// Server Variables
$host = "localhost";
$user = "mdti";
$pass = "tnet";
$db = "ojt";

$search = empty($_POST['search'])? die ("ERROR: Enter search Criteria") : mysql_escape_string($_POST['search']);
$dropdown = empty($_POST['dropdown'])? die ("ERROR: Select from dropdown") : mysql_escape_string($_POST['dropdown']);


// Open Connection

$connect = mysql_connect($host, $user, $pass) or die ("Unable to connect to host");

//Select Database

mysql_select_db($db) or die ("Unable to connect to database");

//Create query

$query = "SELECT arCompanyname, arAddress FROM ar WHERE $dropdown like'$search'" or die (mysql_error());


$result = mysql_query($query) or die (mysql_error());

$num=mysql_numrows($result);

mysql_close($connect);

echo "<b><center>Database Output</center></b><br><br>";

$i=0;
while ($i < $num) {

$company=mysql_result($result,$i,"arCompanyname");
$address=mysql_result($result,$i,"arAddress");


echo "<br>Company: $company<br><br>Address: $address<hr><br>";

$i++;

}
}
?>
</body>
</html>


查看代码,最初的想法是:

change like'$search' with like '%$search%'

change mysql_numrows to mysql_num_rows

check the dropdwon option values 'arCompanyname' and 'arAddress' matching your field names.

change <?=$_SERVER['PHP_SELF']?> to <?php echo $_SERVER['PHP_SELF']; ?>
将类似“$search”的内容更改为类似“%$search%”
将mysql\u numrows更改为mysql\u num\u行
检查DropdOn选项值“arCompanyname”和“arAddress”是否与字段名匹配。
改为

您正在调用
mysql\u real\u escape\u string
,而没有打开
mysql\u connect
。。您需要调用
mysql\u real\u escape\u字符串上方的连接代码

// Open Connection

$connect = mysql_connect($host, $user, $pass) or die ("Unable to connect to host");

$search = empty($_POST['search'])? die ("ERROR: Enter search Criteria") : mysql_real_escape_string($_POST['search']);
$dropdown = empty($_POST['dropdown'])? die ("ERROR: Select from dropdown") : mysql_real_escape_string($_POST['dropdown']);
您还需要更改选择选项的值

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
search  
  <input type="text" name="search">
   <select size="1" name="dropdown">
    <option value="" selected>search By...</option>
    <option value="arCompanyname">Company</option>
    <option value="arAddress">Address</option>  
  </select>
  <input type="Submit" value="Submit" name="Submit"> 
</form>

检查更新的代码:

更新了搜索查询mysql\u numrows->,添加了循环

尝试使用函数编写脚本。因为mysql_*函数将被弃用

<html>
    <head>
<basefont face="Arial">
</head>
<body>

<?php
error_reporting(E_ALL); 
if (!isset($_POST['Submit'])) {
// form not submitted
?>

<form action="" method="post">
search  
  <input type="text" name="search">
   <select size="1" name="dropdown">
    <option value="" selected>search By...</option>
    <option value="first">Company</option>
    <option value="last">Address</option>  
  </select>
  <input type="Submit" value="Submit" name="Submit"> 
</form>

<?php
}

else {

    // Server Variables
    $host = "localhost";
    $user = "mdti";
    $pass = "tnet";
    $db = "ojt";

    // Open Connection

    $connect = mysql_connect($host, $user, $pass) or die ("Unable to connect to host");

    $search = empty($_POST['search'])? die ("ERROR: Enter search Criteria") : mysql_escape_string($_POST['search']);
    $dropdown = empty($_POST['dropdown'])? die ("ERROR: Select from dropdown") : mysql_escape_string($_POST['dropdown']);


    //Select Database

    mysql_select_db($db) or die ("Unable to connect to database");

    //Create query

    $query = "SELECT arCompanyname, arAddress FROM ar WHERE $dropdown like '%$search%'";


    $result = mysql_query($query) or die (mysql_error());

    $num=mysql_num_rows($result);

    if($num > 0) {


        echo "<b><center>Database Output</center></b><br><br>";


        while ($row = mysql_fetch_array($result)) {

            $company = $row['arCompanyname'];
            $address = $row['arAddress'];


            echo "<br>Company: $company<br><br>Address: $address<hr><br>";


        }


    } else {

        echo "No rows found";
    }

    mysql_close($connect);  
}
?>
</body>
</html>

搜寻
按…搜索。。。
单位
地址
使用“mysql\u real\u escape\u string”

并将“$search”更改为“%$search%”

$query = "SELECT arCompanyname, arAddress FROM ar WHERE $dropdown like'%$search%'" or die (mysql_error());

将mysql\u numrows更改为mysql\u num\u行

也请将显示的“%$search%”等
更改为“%$search%”
“where子句”中的未知列“first”错误。我确实执行了“%$seach%”,但它输出了相同的错误消息@ZZLLALANIPLESE请检查我的答案和我建议的查询,我不完全确定您是否正在查找此项,但这可能有助于您理解我仍然收到一条错误消息,说找不到该网址的网页:file:///C:/xampp/htdocs/MDTIFINAL/webpages/\尝试将
更改为
,或者将表单的action属性保持为空,如
action=“”
这也会将表单发布到同一页。我仍然收到一条错误消息,说找不到该网址的网页:file:///C:/xampp/htdocs/MDTIFINAL/webpages/\ –
$search = empty($_POST['search'])? die ("ERROR: Enter search Criteria") : mysql_real_escape_string($_POST['search']);
$dropdown = empty($_POST['dropdown'])? die ("ERROR: Select from dropdown") : mysql_real_escape_string($_POST['dropdown']);
$query = "SELECT arCompanyname, arAddress FROM ar WHERE $dropdown like'%$search%'" or die (mysql_error());