У меня есть база данных, содержащая элементы запаса и веб-страницу, которая позволяет вам искать в базе данных тип элемента или определенный номер позиции. Результаты возвращаются и отображаются в таблице в форме поиска.Сделать результаты поиска базы данных mysql по выбору
В настоящее время я делаю это, сохраняя результаты запроса mysql в массиве, а затем печатаю результаты массива в таблицу.
Как сделать результат, который можно выбрать, а затем нажать кнопку «добавить», чтобы я мог получать информацию из базы данных только на выбранном элементе.
Edit -
<?php
require("header.php");
if(isset($_REQUEST['searching'])){ //check if form has been submitted
connect('final');//connect to DB
//set the values from search form
$field = $_POST['field'];
$query = $_POST['query'];
$query = htmlspecialchars($query); // stop HTML characters
$query = mysql_real_escape_string($query); //stop SQL injection
$data = mysql_query("SELECT *
FROM stock
WHERE stock.Part_Number IN (SELECT stock.Part_Number
FROM stock
WHERE upper(stock.$field) LIKE'%$query%')") ;//query the DB with search field in colleumn selected//
//$data = mysql_query("SELECT * FROM customer INNER JOIN address ON customer.ID = address.Customer_ID LEFT OUTER JOIN sites ON address.ID = sites.address_ID WHERE upper(customer.$field) LIKE'%$query%'") ;
if($data === FALSE) {
$error = 'Query error:'.mysql_error();
echo $error;
}
else
{
$test = array();
$colNames = array();
while($results = mysql_fetch_assoc($data)){// puts data from database into array, loops until no more
$test[] = $results;
}
$colNames = array_keys(reset($test));
$anymatches=mysql_num_rows($data); //checks if the querys returned any results
if ($anymatches == 0)
{
echo "Sorry, but we can not find an entry to match your query<br><br>";
}
}
затем ниже в моем HTML форме я создаю таблицу и имеют
<?php
//print the header
foreach($colNames as $colName)
{
echo "<th>$colName</th>";
}
?>
и
<?php
//print the rows
foreach($test as $results)
{
echo "<tr>";
foreach($colNames as $colName)
{
echo "<td>".$results[$colName]."</td>";
}
echo "</tr>";
}
?>
Я не был уверен, с чего начать, но Я попробую метод checkbox.
Не могли бы вы добавить свой код на вопрос, пожалуйста? Что вы пробовали, и почему это не сработало? – andrewsi
[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (http://j.mp/XqV7Lp). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. – Kermit