Как сделать так, чтобы результаты поиска появлялись на другой странице? - PullRequest
0 голосов
/ 25 августа 2011

У меня большой поиск на моей домашней странице, и когда пользователь вводит текстовые поля и нажимает кнопку "Отправить", я хочу, чтобы результаты из моей базы данных отображались на другом сайте, в данном случае - searchresults.php. В этом случае «again.html» - моя домашняя страница.

Вот мой код:

Что я делаю не так?

Really.html

<center>
<form action="searchresults.php" method="post">
<input type="text" size="35" value="Job Title e.g. Assistant Manager" 
style="background-    color:white; border: 
solid 1px #6E6E6E; height: 30px; font-size:18px; 
vertical-align:9px;color:#bbb" 
onfocus="if(this.value == 'Job Title e.g. Assistant Manager'){this.value = 
'';this.style.color='#000'}" />
<input type="text" size="35" value="Location e.g. Manchester"
style="background-    color:white; border: 
solid 1px #6E6E6E; height: 30px; font-size:18px; 
vertical-align:9px;color:#bbb" 
onfocus="if(this.value == 'Location e.g. Manchester'){this.value = 
'';this.style.color='#000'}" />
<input type="image" src="but.tiff" alt="Submit" width="60">
</form>

Searchresults.php

<html>
<body>
<?php
if(strlen(trim($_POST['search'])) > 0) {
//all of your php code for the search

$search = "%" . $_POST["search"] . "%";
$searchterm = "%" . $_POST["searchterm"] . "%";

    mysql_connect ("", "", "");
      mysql_select_db ("");
    if (!empty($_POST["search_string"])) 
    { 

    }  

  $query = "SELECT name,location,msg FROM contact WHERE name LIKE '$search' AND 
location      LIKE '$searchterm'";

  $result = mysql_query ($query);
if ($result) {
    while ($row = mysql_fetch_array ($result)) {
      echo "<br>$row[0]<br>";
      echo "$row[1]<br>";
      echo "$row[2]<br>";
    }
  }
}
?>
</body>
</html>

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 августа 2011

Вы должны добавить attr name к вашему входу. Например,

<input type="text" name="search" ... />

<input type="text" name="searchterm" ... />

Также не забудьте об экранировании входных данных с помощью функции mysqL_escape_string

0 голосов
/ 25 августа 2011

Запрос, вероятно, возвращает 0 результатов.Вместо

if ($result) {

Попробуйте

if (mysql_num_rows($result) >= 1) {

И в вашем запросе попробуйте ...

$query = "SELECT name,location,msg FROM contact WHERE name LIKE '%$search%' AND 
location      LIKE '%$searchterm%'";

Это будет менее строго и вернет лучший набор результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...