<?php /*-----------------Подключение к базе данных----------------*/ function db_connect() { $host='localhost'; // имя хоста (уточняется у провайдера) $database='data'; // имя базы данных, которую вы должны создать $user='user'; // заданное вами имя пользователя, либо определенное провайдером $pswd='123456'; // заданный вами пароль $connection = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL."); mysql_query("SET NAMES utf8"); mysql_select_db($database) or die("Не могу подключиться к базе."); return $connection; } /*-----------------////////////////////////----------------*/ /*-----------------Вывод стран на страницу страны----------------*/ function db_result_to_array($result) { $res_array = array(); $count = 0; while($row = mysql_fetch_array($result)) { $res_array[$count] = $row; $count++; } return $res_array; } function get_countries() { db_connect(); $query = "SELECT * FROM countries"; $result = mysql_query($query); $result = db_result_to_array($result); return $result; } /*-----------------////////////////////////----------------*/ /*-----------------Вывод страны на страницу страны----------------*/ function get_country($id) { db_connect(); /* $query = ("SELECT * FROM countries WHERE iso='$id' "); */ $query = ("SELECT c.iso AS iso, c.local_name AS local_name, ci.name AS name FROM countries AS c LEFT JOIN cities AS ci ON c.iso=ci.iso WHERE c.iso='$id' "); $result = mysql_query($query); $row = mysql_fetch_array($result); return $row; } /*-----------------////////////////////////----------------------*/ /*-----------------Вывод городов на страницу страны----------------*/ function get_city($id) { db_connect(); $query = ("SELECT * FROM cities WHERE name='$id' "); $result = mysql_query($query); $row = mysql_fetch_array($result); return $row; } ?>
Выводит вот такое
Array ( [0] => PT [iso] => PT [1] => Portugal [local_name] => Portugal [2] => [name] => )
Сделал, все как вы написали, но выводит только буквы B
Сделал как вы написали
$query = ("SELECT c.iso AS iso, c.local_name AS local_name, ci.iso AS iso, ci.name AS name FROM countries AS c LEFT JOIN cities AS ci ON c.iso=ci.iso WHERE c.iso='$id' ");
Но к сожалению выводит просто буквы(A и C) в списке вместо названий городов.
Для вывода использую
<?php $id = $_GET['id']; $country = get_country($id); foreach($country as $item):?> <li class="hl-list-list-item"><a href="<?php echo $item['name']?>"><?php echo $item['name']?></a></li> <?php endforeach;?>
Не могли бы вы написать, как обезопасить от взлома, где можно почитать про интвал