KDES70
Well-Known Member
- Регистрация
- 16.02.2012
- Сообщения
- 73
Доброго времени суток!!!
Нужна помощь переделать скрипт который состоит из двух связанных списков [страна]->[город]
мне нужно получить [категория]->[подкатегория] притом значения <option> подставлялись из БД
в БД есть вот такие таблицы:
вот нашел вот такой скрипт
начал переделывать и застопорился на одном моменте очень нужна помощь сам справится не смогу опыта очень мало.
вот структура формы:
потом это все как я понимаю идет вот сюда <script type="text/javascript" src="ajax.js"></script>
и теперь следующий файл который и вызвал у меня всю проблему это getcities.php
не знаю как вывести из БД подкатегории , умоляю напишите как это зделать!!!! или если есть решение моей задачи другим способом покажите плиз!!!! Уже второй день бьюсь над этим все что выдал мне google это самый наипростейший способ
getcities.php выглядит он так:
Нужна помощь переделать скрипт который состоит из двух связанных списков [страна]->[город]
мне нужно получить [категория]->[подкатегория] притом значения <option> подставлялись из БД
в БД есть вот такие таблицы:
Код:
CREATE TABLE `categories` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(255) default NULL,
`meta_d` varchar(255) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
CREATE TABLE `sub_categories` (
`id` int(4) NOT NULL auto_increment,
`cat_id` int(4) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`meta_d` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
начал переделывать и застопорился на одном моменте очень нужна помощь сам справится не смогу опыта очень мало.
вот структура формы:
Код:
<form action="" method="post">
<table>
<tr>
<td>Страна: </td>
<td><select id="cat" name="cat" onchange="getCatList(this)">
<option value="">Выберите страну</option>
<? $result = mysql_query("SELECT title,id FROM categories",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<option value='%s'>%s</option>",$myrow["id"],$myrow["title"]);[/left][/size][/font][/color]
[color=#000000][font=Verdana][size=3][left]}
while ($myrow = mysql_fetch_array($result));
}
?>
</select>
</td>
</tr>
<tr>
<td>Город: </td>
<td><select id="subcat" name="subcat">
</select>
</td>
</tr>
</table>
</form>
Здесь я вывел первый список ,второй должен подставляться из внешнего файла.
После в файле <script type="text/javascript" src="chained.js"></script>
подставил свои значения (правда не уверен что все сделал правильно)
Код:
var ajax = new Array();
function getCatList(sel)
{
var catCode = sel.options[sel.selectedIndex].value;
document.getElementById('subcat').options.length = 0; // Empty city select box
if(catCode.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'getcities.php?catCode='+catCode; // Specifying which file to get
ajax[index].onCompletion = function(){ createCities(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createCities(index)
{
var obj = document.getElementById('subcat');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
потом это все как я понимаю идет вот сюда <script type="text/javascript" src="ajax.js"></script>
и теперь следующий файл который и вызвал у меня всю проблему это getcities.php
не знаю как вывести из БД подкатегории , умоляю напишите как это зделать!!!! или если есть решение моей задачи другим способом покажите плиз!!!! Уже второй день бьюсь над этим все что выдал мне google это самый наипростейший способ
getcities.php выглядит он так:
Код:
<?php
if(isset($_GET['catCode'])){ ..это пришло из [color=#333333]chained.js[/color]
switch($_GET['catCode']){
case "ru":
echo "obj.options[obj.options.length] = new Option('Москва','1');\n";
echo "obj.options[obj.options.length] = new Option('Санкт-Петербург','2');\n";
echo "obj.options[obj.options.length] = new Option('Волгоград','3');\n";
echo "obj.options[obj.options.length] = new Option('Владивосток','4');\n";
break;
case "ua":
echo "obj.options[obj.options.length] = new Option('Киев','11');\n";
echo "obj.options[obj.options.length] = new Option('Одесса','12');\n";
echo "obj.options[obj.options.length] = new Option('Львов','13');\n";
break;
case "us":
echo "obj.options[obj.options.length] = new Option('Нью-Йорк','21');\n";
echo "obj.options[obj.options.length] = new Option('Чикаго','22');\n";
echo "obj.options[obj.options.length] = new Option('Вашингтон','23');\n";
break;
}
}
?>