Я создал оператор выбора, используя php, чтобы возвращать результаты в HTML на основе пользовательского ввода. Обратная связь возвращается на основании полей ввода, соответствующих полям в заполненной вручную таблице. Оператор выбора должен возвращать самый высокий идентификатор. Форма вставляет данные в таблицу «принятия». Затем результаты возвращают строку из таблицы 'dogs' на основе полей, приведенных ниже в таблице 'принятие'.
<?php
$connect = mysqli_connect("localhost", "root", "", "ncdr_first", "3308");
$sql = "SELECT dogs.name, dogs.breed, dogs.age, dogs.sex, dogs.image, adoption.adoption_id
FROM dogs
INNER JOIN adoption ON dogs.adultRadio = adoption.adultRadio
AND dogs.child = adoption.child
AND dogs.petRadio = adoption.petRadio
AND dogs.pet = adoption.pet
AND dogs.activity = adoption.activity
AND dogs.home = adoption.home
AND dogs.environment = adoption.environment
ORDER BY adoption.adoption_id DESC
LIMIT 0, 1";
$result = mysqli_query($connect, $sql);
?>
Результаты затем отображаются в таблице в разделе HTML раздела page.
<div class="table">
<center><table id="feedback">
<tr>
<th>Name</th>
<th>Breed</th>
<th>Age</th>
<th>Sex</th>
<th>Image</th>
</tr>
<?php
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
?>
<tr>
<td><?php echo $row["name"];?></td>
<td><?php echo $row["breed"];?></td>
<td><?php echo $row["age"];?></td>
<td><?php echo $row["sex"];?></td>
<td><img src="<?php echo $row["image"];?>"/></td>
</tr>
<?php
}
} else {
echo "Unfortunately you have not been a match for any of our furry friends! Please try again soon.";
}
?>
</center></table>
CREATE TABLE dogs (dog_id int, name varchar, breed varchar, age varchar, sex
varchar, adultRadio varchar, child varchar, petRadio varchar, pet varchar,
activity varchar, home varchar, environment varchar, image varchar );
CREATE TABLE adoption (adoption_id int, name varchar, address varchar,
adultRadio varchar, child varchar, petRadio varchar, pet varchar, activity
varchar, home varchar, environment varchar, image varchar );
Однако, если я введу данные в таблицу «принятие», которые не соответствуют ни одной из строк в таблице «собак», он вернет строку, которая была последней, вместо заявление в остальном. У кого-нибудь есть советы, как это исправить?
SQL результат запроса