Итак, у меня есть базовый PHP-сайт, который отображает список продавцов с сервера MySQL, когда представлен выбор из раскрывающегося списка. Я установил кнопку, чтобы появляться рядом с каждым результатом, и я хочу, чтобы скрипт php запускался при нажатии кнопки с использованием данных MySQL из этого конкретного результата. Все работает, кроме кнопки, которая запускает второй запрос MySQL. Вот пример таблицы после первого запроса:? Выбрать клиенты из бэ WHERE Employeenumber = 'Отправка SQL-команды одним нажатием кнопки HTML через PHP
<table border="1">
<tr>
<td>Last name</td>
<td>First Name</td>
<td>Job Title</td>
<td>City</td>
<td>Client List</td>
</tr>
<tr>
<td>Bondur</td>
<td>Gerard</td>
<td>Sale Manager (EMEA)</td>
<td>Paris</td>
<td>
<form method="POST" action="empLookup.php">
<input type="submit" name="empLookup" value="Look up clients"
</td>
</tr>
</table>
При нажатии на кнопку я бы запустить команду MySQL, как
У меня нет проблем с этим, кроме передачи значения от кнопки к скрипту PHP.
Это то, что мой PHP-код выглядит для обработки отправки формы и отображения результатов. Соответствующая кнопка (ы) находится в таблице HTML в цикле foreach.
<?php #this is the default php file for looking up Employees
$page_title = 'Our Associates by City';
require ('./pdoConn.php');
$sql = "SELECT DISTINCT city from Offices";
echo '<h1>Our Associates by City</h1>';
Type in a Name to view Years</a><br>';
//create the form
echo 'Please select a year: <br>';
echo '<form action="index.php" method="post">';
echo '<select name= "city">';
foreach($conn->query($sql) as $row)
{
//each option in the drop down menu is each and every year
//brought up by the query
echo '<option value ="'. $row['city'].' ">'. $row['city']. '</option>';
} //end of foreach
echo '</select>'; //end drop down menu
//now to create the submit button
echo '<br><input type="submit" name="submit" value="List"><br>';
echo '</form>'; //end of form
//This if statement runs when the submit button is clicked
if ($_SERVER[REQUEST_METHOD] == 'POST')
{
$flit = $_POST[city]; //the city variable from the HTML form will be used
echo '<br><br>';
$sql2 = "SELECT employeeNumber,lastName,firstName,jobTitle,city
FROM Employees,Offices
WHERE Employees.officeCode = Offices.officeCode AND city = ?";
$stmt = $conn->prepare($sql2);
$stmt->execute(array($flit));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo 'Contact any of our local staff: <br>';
//create a table of employees
echo '<table border="1"><tr><td>Last name</td><td>First Name</td>';
echo '<td>Job Title</td><td>City</td></tr>';
//time to populate the table, this loop runs for each entry
foreach($rows as $r)
{
echo '<tr><td>'.$r[lastName].'</td><td>'.$r[firstName].'</td><td>';
echo $r[jobTitle].'</td><td>'.$r[city].'</td><td>';
echo '<form method="POST" action="empLookup.php">';
//now to make the button which will search the employee's client list
echo '<input type="submit" name="empLookup" value="Look up clients"</td></tr>';
} //end foreach
echo '</table>';
} //end if server request post thing
?>
Изменить '$ _POST [город]' в ' $ _POST [ 'город'] '. Является ли '?' В '$ sql2' тем, что вы хотите выяснить, как получить номер сотрудника? – Firedrake969
Это нормально, мне просто нужно добавить значение к кнопке в цикле foreach. Все остальное проверено и работает нормально. $ Sql2 является частью первого запроса. Я хочу запустить второй после него, используя результаты первого (в частности, employeeNumber) – user3856804