Я знаю, что эта тема обсуждалась до смерти, и я прошу прощения за причиненные неудобства. Я не хочу никого обидеть. Я просто не смог применить ни одну из предложенных стратегий решения для моего кода.
Вот что у меня есть: MySQL-DB на веб-сервере, который запущен и работает. Эта БД содержит таблицу с именем worldcities, в которой хранятся страны, города и их значения широт / долгот.
У меня есть PHP-файл на моем сервере, который успешно устанавливает соединение, считывает все страны и заполняет первое поле выбора. Мой второй блок выбора должен содержать все города на основе выбора страны в первом блоке. В настоящее время мой код содержит заполнитель SQL-запроса.
Я понимаю, что PHP - это серверная технология, которая нуждается в помощи для взаимодействия с пользовательским вводом на стороне клиента. Я просто не понимаю, как решить мою проблему здесь.
Может ли кто-нибудь быть таким любезным, чтобы помочь / направить меня в решении моей проблемы? Это будет означать мир для меня. Заранее большое спасибо.
Код:
<?php
$dbhost = "xxx";
$dbname = "xxx";
$dbtable = "xxx";
$dbuser = "xxx";
$dbpass = "xxx";
try{
$pdo = new PDO( "mysql:host=$dbhost;dbname=$dbname;charset=UTF8", "$dbuser", "$dbpass" );
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch( PDOException $e ){
echo $e->getMessage();
die();
}
$query_country_start = $pdo->query( "SELECT Country FROM $dbtable GROUP BY Country" );
$query_city_start = $pdo->query( "SELECT City FROM $dbtable ORDER BY City" );
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Select Country and City</title>
</head>
<body>
<h1>Select Country and City</h1>
<div id="cities">
<p>Start Country</p>
<?php
echo '<select name="country_start">';
while ($row = $query_country_start->fetch(PDO::FETCH_ASSOC)) {
echo '<option value="'.$row['Country'].'">'.$row['Country'].'</option>';
}
echo '</select><br><br>';
?>
<p>Start City</p>
<?php
echo '<select name="city_start">';
while ($row = $query_city_start->fetch(PDO::FETCH_ASSOC)) {
echo '<option value="'.$row['City'].'">'.$row['City'].'</option>';
}
echo '</select>';
?>
</div>
<script>
</script>
</body>
</html>