Vladqq
@Vladqq
Новичок в web-программировании

Выпадающий список на PHP+ проблема с кодировкой и реализацией метода POST?

Есть выпадающий список, который заполняется путем запроса. При смене кодировки самого файла получается либо так, но в раскрывающемся списке отображается кириллица нормально :f0225121c3a84294aa79b97757558725.JPG
Либо так, все нормально, кроме самого списка:aad0369dcb6142ebbeb884c4f1de09da.jpg
Изменение кодировки в IIS не помогло.Еще не могу додуматься как отправить запрос без кнопки "выбрать", И еще не могу реализовать, чтобы при выборе из списка с БД вытягивались данные, которые к тому же должны выводится не как одна переменная, а как несколько, каждая ячейка.(чтобы заключить потом их в гиперссылки для перехода на другие страницы). Да и POST у меня не работает почему то для вывода целого столбца из таблицы на страницу.
<html>
<?php
$servername = "VLADISLAV-ПК\SQLEXPRESS"; 
$uid = "Vlad";   
$pwd = "Aa1";  
$databaseName = "TDM";
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>$databaseName);
$dbcon = sqlsrv_connect($servername, $connectionInfo);

?>
<div id="content"> 

    
    <form action="" method="POST">
        <select name="UID_OU" size="1">
        <option value="0" selected="selected">Выберите учреждение:</option>
<?php
        
    // Запрос к БД для вывода данных в select   
    $query = "SELECT * FROM spr.OU";
    
    // Выполняем запрос к БД
    $result = sqlsrv_query($dbcon, $query);
    
    // При ошибке запроса
    if ( !$result ) die ( mysql_error() );
    
    // В цикле выводим данные в OPTION
    while ($row = sqlsrv_fetch_array($result))
    {
		if(!($row[0] === '')){
        echo "<option value='".$row['UID_OU']."'>".$row['Name_Sokr']."</option>";
		}
    }
 
	?>

        </select></br>
        <input type="submit" value="Выбрать"/>      
    </form>
	<?php   
    // Если отсутствует $_POST['UID_OU']    
    if(isset($_POST['UID_OU']))
    {
		// Номер учреждения
        $UID_OU = $_POST['UID_OU'];
        
        // Выбираем соответствующие данные из БД
        $que = "SELECT * FROM spr.FGOS where NameFgos='$UID_OU'";
        
        // Делаем запрос к БД
        $res = sqlsrv_query($dbcon, $que);
		
        // При ошибке запроса
        if ( !$res ) die ( sqlsrv_error() );
        
        // В цикле выводим данные
        while ( $res_lab = sqlsrv_fetch_array($res) )
        {
			echo $res_lab['NameFgos'];
        }
    }
    else
    {
		echo"<p>Учреждение не выбрано.</p><br>";
    }
	sqlsrv_close($dbcon);
?>
  • Вопрос задан
  • 456 просмотров
Пригласить эксперта
Ответы на вопрос 1
EvolMate
@EvolMate
Developer
Скорее всего, беда происходит с хранением и вытягиванием кириллических данных из БД.
В какой кодировке хранятся данные в таблице?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы