0

我在 php 中有 3 页。第 1 页包含一个搜索表单,用户在其中输入要在我的数据库中搜索的名称:

<form method="get[value]" name="go" action="search_form_all.php"  >
    <input name="value" type="text" id="search_form_1" size="65"  autocomplete="off" placeholder=" Search People ..." />
    <input type="submit" value="" name="submit" />
</form> 

第 2 页包含一个 php 脚本,该脚本获取用户在搜索表单(第 1 页)中输入的值,并成功返回我的数据库中的所有名称。

$value = mysql_real_escape_string($_GET['value']);

$name_and_surname = explode(" ", "$value ");
$name = $name_and_surname[0];
$surname = $name_and_surname[1]; 

$sql = " SELECT `name`, `surname`, `email`, `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%') ";

$result = mysql_query($sql);
while($run = mysql_fetch_array($result)){
  $surname = $run['surname'];
  $name = $run['name'];

echo"<a href='profile_full.php?email=$email'>  $surname  $name  </a>"; 
}
//page until now prints all names that user enters in search form.

//In order to give user the option to display all names that are from a certain country, bellow I use this code:

<form method="get[value]" name="go" action="location.php"  >        
    <select name="country"> 
    <option value=" "> select </option> 
    <option value="Afganistan">Afghanistan</option>
    <option value="Albania">Albania</option>
    </select>
<input type="submit" value="go" />

问题从第 3 页开始,它应该显示用户在第 1 页的搜索表单中输入的所有名称以及在第 2 页中选择的国家/地区。

第 3 页如下:

$value = mysql_real_escape_string($_GET['value']);

$name_and_surname = explode(" ", "$value ");
$name = $name_and_surname[0];
$surname = $name_and_surname[1]; 

$sql = " SELECT u.name, 
            u.surname, 
            u.email, 
            u.user_id,
            p.user_id
            FROM users u 
            INNER JOIN profile p ON p.country = '$value'
            WHERE u.surname LIKE '$surname%' AND u.user_id = p.user_id ";

$result = mysql_query($sql);

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

        $surname = $run['surname'];
        $name = $run['name'];
    echo"<a href='profile_full.php?email=$email'>  $surname   $name  "; 
    }

如何修改第 3 页中的代码,以便它从第 1 页(用户想要查找的名称)和第 2 页(这些名称所在的国家/地区)中获取值。

4

2 回答 2

0

或者您需要进行会话,或者您还必须解析第二页中的第一个值。

第一页没问题

2en 页中的表格必须。

<form method="get[value]" name="go" action="location.php"  >        
<select name="country"> 
<option value=" "> select </option> 
<option value="Afganistan">Afghanistan</option>
<option value="Albania">Albania</option>
</select>
<input type="hidden" name="valuep1" value="<?=$value?>">
<input type="submit" value="go" />

您的代码确实有更多错误。但是,如果您想在第 3 页中获取所有信息,则必须在第 3 页中进行

$value = mysql_real_escape_string($_GET['valuep1']);
$countryu = mysql_real_escape_string($_GET['country']);

表单中的名称是您如何获取值的名称。在第一页上,您获得它的价值就是价值。这令人困惑,您最好将其称为搜索。如果您然后执行 $_GET['search'] 那么您将获得价值。

首先要做的是更好地理解表单的工作原理并使用更好的名称,这样您就不会混淆自己。更多信息在这里http://www.w3schools.com/php/php_forms.asp

于 2013-07-26T11:54:26.897 回答
0

在 page2 中,您只需添加:

<input type="hidden" name="surname" value="<?=$namevalue?>">

会话是处理这种简单用法的复杂方式。

此外,最好在带有文本字段的页面中处理所有这些,并选择带有国家/地区的框,然后根据您输入的信息从表中进行选择。

于 2013-07-26T12:00:08.580 回答