Привет Я работаю над созданием формы для подключения к базе данных. Пока это работает. Он отображает информацию. Однако я хочу включить более одного поля.
Как будто я только должен был ввести «Окленд» в форме «Расположение».
Я думаю, что поле isset - это часть, на которую я застреваю. Я попытался включить '&!' или '||' без эффекта. Или, может быть, мой html. Я попытался включить некоторый код в «isset», и в нем возникла ошибка «Нет данных, извлеченных из сервера» в браузере. Потому что я только вошел в одно поле. Я хочу сделать это на основе того, где пользователь вводит информацию. Кстати, у меня есть включение в него других файлов. Это просто фрагмент. Просто я думаю, что это мои ошибки. Вот мой html-код. Если вы, ребята, можете помочь мне разобраться, как это сделать.Сделайте форму поиска, где пользователь не должен вводить каждое поле
echo "<html>";
echo "<head>";
echo "<title>Your Title Here</title>";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />";
echo "</head>";
echo "<body onLoad=\"self.focus();document.searchform.search.focus()\">";
echo "<center>";
echo "<br /><form name=\"searchform\" method=\"GET\" action=\"search.php\">";
echo "<input type=\"text\" name=\"search\" size=\"20\" TABINDEX=\"1\" />";
echo "<input type=\"text\" name=\"Institution\" size=\"20\" TABINDEX=\"1\" />";
echo "<input type=\"text\" name=\"Location\" size=\"20\" TABINDEX=\"1\" />";
echo "<input type=\"text\" name=\"ProjectNotes\" size=\"20\" TABINDEX=\"1\" />";
echo "<input type=\"text\" name=\"TotalFunding\" size=\"20\" TABINDEX=\"1\" />";
echo "<input type=\"text\" name=\"ActiveYear\" size=\"20\" TABINDEX=\"1\" />";
echo " <input type=\"submit\" value=\"Search\" />";
echo "</form>";
//search variable = data in search box or url
if (isset($_GET['search'])) {
$search = $_GET['search'];
Investigator($search);
}
функция Следователь
function Investigator($search)
{
$search = trim($search);
$search = preg_replace('/\s+/', ' ', $search);
//seperate multiple keywords into array space delimited
$keywords = explode(" ", $search);
//Clean empty arrays so they don't get every row as result
$keywords = array_diff($keywords, array(
""
));
//Set the MySQL query
if ($search == NULL or $search == '%') {
} else {
for ($i = 0; $i < count($keywords); $i++) {
$query = "SELECT * FROM Studies " . "WHERE Investigator LIKE '%$keywords[$i]%'" . " OR Location LIKE '%$keywords[$i]%'" . " OR TotalFundingAmount LIKE '%$keywords[$i]%'" . " OR Institution LIKE '%$keywords[$i]%'" . " ORDER BY Location";
}
//Store the results in a variable or die if query fails
$result = mysql_query($query) or die(mysql_error());
}
if ($search == NULL or $search == '%') {
} else {
//Count the rows retrived
$count = mysql_num_rows($result);
echo $count;
}
//If search variable is null do nothing, else print it.
if ($search == NULL) {
} else {
echo "You searched for <b><FONT COLOR=\"blue\">";
foreach ($keywords as $value) {
print "$value ";
}
echo "</font></b>";
}
echo "<p> </p><br />";
echo "</center>";
//If users doesn't enter anything into search box tell them to.
if ($search == NULL) {
echo "<center><b><FONT COLOR=\"red\">Please enter a search parameter to continue.</font></b><br /></center>";
} elseif ($search == '%') {
echo "<center><b><FONT COLOR=\"red\">Please enter a search parameter to continue.</font></b><br /></center>";
//If no results are returned print it
} elseif ($count <= 0) {
echo "<center><b><FONT COLOR=\"red\">Your query returned no results from the database.</font></b><br /></center>";
//ELSE print the data in a table
} else {
//Table header
echo "<center>";
echo "</center>";
//Colors for alternation of row color on results table
$color1 = "#d5d5d5";
$color2 = "#e5e5e5";
//While there are rows, print it.
while ($row = mysql_fetch_array($result)) {
//Row color alternates for each row
$row_color = ($row_count % 2) ? $color1 : $color2;
//table background color = row_color variable
echo "<center><table bgcolor=" . $row_color . ">";
echo "<tr>";
echo "<td>" . $row['Investigator'] . "</td>";
echo "<td>" . $row['TotalFundingAmount'] . "</td>";
echo "<td>" . $row['Institution'] . "</td>";
echo "</tr>";
echo "</table></center>";
$row_count++;
//end while
}
//end if
}
echo "</body>";
echo "</html>";
if ($search == NULL or $search == '%') {
} else {
//clear memory
mysql_free_result($result);
}
}
?>
Нужно ли вам одновременно искать несколько полей? – Jacques
Вы не должны обертывать весь ваш HTML в эхо. Это сделает ваш HTML более читаемым и более легким для декодирования. И я не вижу ничего неправильного в этом коде, вы должны включить свой полный источник, особенно часть с «Нет данных, полученных с сервера». – Tchoupi
Yea Jack Мне нужно найти несколько полей. – Snewman8771