2014-10-20 2 views
-2

У меня есть один проект, разработанный с использованием рамки codeigniter.Как отобразить информацию о выбранной опции выпадающего списка в php

В этом случае у меня есть один раскрывающийся список всех стран.

Когда пользователь выбирает один из страны из выпадающего списка, мне нужно, чтобы отобразить информацию о той или иной стране ...

Как я могу это сделать?

+0

Вы уточните свой запрос? Это очень расплывчато! –

+0

саморазвитие этот код –

+0

где вы хотите отобразить информацию о стране? – Sandesh

ответ

0

Вы можете сделать это в JQuery, например, используя .change().

Это будет отображаться при каждом изменении страны, вам нужно будет указать название страны, а затем отобразить необходимую информацию.

Если вы хотите использовать vanilla JS, вы можете использовать onChange.

0

Это не может быть сделано исключительно с PHP, вам понадобится JavaScript (example) и дополнительно AJAX, если «информация об этой конкретной стране» поступает из внешнего сервера. Добавьте прослушиватель изменений в раскрывающийся список, и если он запускает обновление HTML соответственно.

2

Я хотел бы предложить вам сделать этот путь, независимо от структуры вы используете:

  1. Разработка стороне сервера PHP скрипт, который отвечает с информацией о выбранной стране, с входом Вашего параметра страны ,
  2. Когда вы вызываете событие onChange в своем пользовательском интерфейсе, запустите вызов AJAX, набрав ответ скрипта на стороне сервера и показывая его в <div> или в какой-либо области в пользовательском интерфейсе.

Если вам разрешено использовать jQuery, это можно сделать простым. Доверьте ID для <select> тега:

<select id="countries"> 
    <!-- Options populated by php --> 
</select> 

Когда вы делаете onChange события, связать ниже функцию:

$("#countries").change(function(){ 
    countryValue = $(this).val(); 
    $.ajax("countries-info.php", {country: countryValue}, function(message){ 
     $("#countryInfo").html(message); 
    }); 
}); 

В конце концов, вы должны иметь структуру, похожую на это в HTML:

<select id="countries"> 
    <!-- Options populated by php --> 
</select> 
<div id="countryInfo"></div> 

И в вашем countries-info.php у вас должно получиться примерно следующее:

<?php 
    $country = clean($_GET["country"]); 
    // Connect to the DB 
    databaseConnect($username, $password, $database); 
    $results = $databaseObject->query("SELECT `info` FROM `countries` WHERE `country`='$country'"); 
    $countryInfo = $results["info"]; 
    die($countryInfo); 
?> 

выше является псевдо-кодом, что вам нужно сделать:

  • clean() используется для очистки ответа от любого SQL Injection. Вы можете использовать что-то вроде mysqli_real_escape_string(), если вы используете MySQL.
  • databaseConnect() используется для подключения к серверу базы данных и выбора базы данных.
  • $databaseObject - объект подключения к базе данных.
  • $databaseObject->query() Функция выполняет запрос на сервере базы данных и извлекает одну строку в зависимости от страны.

Надеюсь, что это поможет вам в правильном направлении!

+0

Без использования javascript я могу получить доступ к значению выпадающего списка? –

+0

@SwathiS Вам нужно использовать JavaScript, чтобы получить содержимое DOM и манипулировать им. Если нет, вам нужно больше обработки на стороне сервера, чтобы принять текущее состояние и все такое. Простота работы с JavaScript. –

+1

Зачем внедрять новое подключение (как уже упоминалось, он был разработан с использованием CI, Connection может быть получен): P .. Однако я ценю способ обработки PHP-MYSQLI –

Смежные вопросы