Ajax взимане на информация от базата данни

eddyy93

Registered
Здравейте имам един въпрос направил съм една форма която има едно drop-down меню, след като избереш категория от drop-down менюто се зарежда друго drop-down меню със информация която отговаря на първото drop-down menu. Това го правя със jquery.

Обаче проблема идва от там че като избера от тази под-категория друга категория, трябва да се зареди още едно drop-down меню което да взима информацията от базата данни динамично и да е показва.

Ето малко код:

Това е част от javascript кода, които имам до момента:


Променливата chosen съдържа valueto на главната категория.
Интерисува ме как да взема valuto на под категорията с която ще взимам резултатите от базата данни и ще ги показвам и разбира се с ajax как ще стане да зареди PHP, за да изкарам резултатите и да ги дам на другия drop-down.

Променливата markata е тази под категория с която искам да проверявам в базата данни и да вади резултата.

[js]
function setOptions(chosen){
var markata = document.tyrsene.marka;

markata.options.length = 0;

if (chosen == " ") {

}
if (chosen == "1") {

markata.options[markata.options.length] = new Option('audi','audi');
markata.options[markata.options.length] = new Option('Alfa romeo','Alfa romeo');

}
if (chosen == "2") {


}
if (chosen == "3") {


}
if (chosen == "4") {

}
}
[/js]
 
[js]function setOptions(chosen){
var markata = document.tyrsene.marka;

markata.options.length = 0;
$('#thirdSelect').load('selectOption.php?chosen='+chosen);//id-то на 3тия селект
}
[/js]
Съдържание на selectOption.php
PHP:
$get = $_GET['chosen'];
$query = mysql_query("SELECT FROM table WHERE chosen='$get'")or die(mysql_error());
while($row=mysql_fetch_assoc($query)) {
echo "<option value='".$row['value']."'>".$row['text']."</option>";
}

Така която value избереш, спрямо нея се търсят записи в базата и се връща един стринг с <option>-оните :) Дано съм ти помогнал! :)
 
Целта е без да презарежда страницата.

Ето какво е в момента:

http://jsfiddle.net/vaYuk/


Ето тук избирам от главната категория - дрехи или обувки.

След като избера дрехи > ми се зарежда другото drop-down menu в което ми излизат зимни и лятни. Сега целта ми е като избера едно от тези 2 категории лятни или зимни, да се проверява отново автоматично в базата данни и table2, да се запълни с видовете да кажем лятни дрехи в drop-down менюто.

Първо трябва да взема стойноста на <option> който е - лятни или зимни.

След като съм взел стойноста - трябва да проверя в базата данни за тази стойност (предполагам става с ajax) и да изкарам резултата в selecta - table2.
 
Добре, направих това да взима стойноста на 2 рият <option>, взима го като число 1 - отговаря за зимни дрехи, 2 - отговаря за лятни примерно.

Сега посредством още една фунцкия взимам резултатите и показвам 3 тия селект като под категория на 2рият.

Остава само как да направя проверката в базата данни със стойноста на chosen от фунцкията която се зарежда при 2 рия селект, такаче да ми зарежда динамично и 3 тия селект, стойностите отоговарящи на 2 ри селект.

Ето до къде съм:

Изберете дрехи > лятни , за да разберете какво имам предвид. С;ед като се избере лятни, 3 тият селект който се получава трябва да е от база данни.

http://jsfiddle.net/eusUC/
 
Мисля, че реших проблема по ето този начин:

http://www.w3schools.com/php/php_ajax_database.asp
 
eddyy93 каза:
Мисля, че реших проблема по ето този начин:

http://www.w3schools.com/php/php_ajax_database.asp

Моя код не точно такъв? само дет съм съкратил 10-те реда с едно load?

То JS-то трябва да е така по точно

[js]
$('#secondSelect').change(function() {
var chosen = $(this).val();
var markata = document.tyrsene.marka;

markata.options.length = 0;
$('#thirdSelect').load('selectOption.php?chosen='+chosen);//id-то на 3тия селект
});
[/js]

Иии само да кажа ако не си рабрал, че ползвам http://jquery.com ;)
 

Горе