|
|
|
|
|
для: cheops
(15.07.2004 в 22:32)
| | ВОТ! ОНО! :))))))))
Пашет!!!!
Спасибо! Mille grazie! Danke!
AAAAAAAAAAA!
:-)))))
| |
|
|
|
|
|
|
|
для: Andron
(15.07.2004 в 21:35)
| | Вот правильный вариант, массивы JavaScript - это настоящие массивы здесь за 0 должна следовать 1 и т.д. Поэтому введём ещё одну временную переменную $counter:
<form name=form action=second.php method=post>
<?php
//////////////////////////////////////////////////
// Здесь соединение с базой данных
//////////////////////////////////////////////////
// Это уже сделано, но для полноты картины приведём
$query = "SELECT * FROM list";
$lst = mysql_query($query);
if(!$lst)
{
echo "Ошибка при выполенении выборки из таблицы LIST";
exit();
}
// Если в таблице есть хоть одна запись - формируем список
if(mysql_num_rows($lst)>0)
{
echo "<select multiple size=".mysql_num_rows($lst)."
name=id_theme onClick=\"javascript:click_first()\">";
while($list = mysql_fetch_array($lst))
{
// Формируем элементы списка
echo "<option value=".$list['id_theme'].">".$list['name'];
}
}
?>
</select>
<select name=second_list multiple size="3" name=id_category showempty>
</select>
<br><input type=submit value="Выбрать категорию">
</form>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function click_first()
{
<?php
// Формируем тело скрипта JavaScript средствами PHP
$query = "SELECT * FROM list";
$lst = mysql_query($query);
if(!$lst)
{
echo "Ошибка при выполенении выборки из таблицы LIST";
exit();
}
// Если в таблице есть хоть одна запись - формируем список
if(mysql_num_rows($lst)>0)
{
$counter = 0;
while($list = mysql_fetch_array($lst))
{
// Тут нужно быть внимательным: массивы в JavaScript начинаются
// с 0, а в таблице нумерация первичного ключа может начинаться
// с 1 - в этом случае от значения $list['id_theme'] нужно вычесть 1
echo "if(this.form.id_theme.options[".($counter++)."].selected){\n";
//echo "if(this.form.id_theme.options[".$list['id_theme']."].selected){\n";
// Формируем и выполняем SQL-зарос на выборку из таблицы SUBLIST
$query = "SELECT * FROM sublist WHERE id_theme=".$list['id_theme'];
$sbl = mysql_query($query);
if(!$sbl)
{
echo "Ошибка при выполенении выборки из таблицы SUBLIST";
exit();
}
//
if(mysql_num_rows($sbl)>0)
{
$tmpnum = 0;
echo "this.form.second_list.length = 0;\n";
while($sublist = mysql_fetch_array($sbl))
{
echo "this.form.second_list.options[$tmpnum] = new Option(\"".$sublist['name']."\",\"".$sublist['id_subtheme']."\");\n";
$tmpnum++;
}
}
echo "}";
}
}
?>
}
//-->
</script>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.07.2004 в 22:12)
| | УПС -прикольная штука. У меня где-то 4 года. А то пару раз вырубили свет, и вся робота пошла к... Ок.
Я вот что хотел спросить (:-))-как с функцией? Где может быть ошибка? Грррррр. Забить на неё? | |
|
|
|
|
|
|
|
для: Andron
(15.07.2004 в 22:02)
| | >8-(
Вот и я так же сидел :) - уже темно, даже не почитаешь, завтра же UPS куплю... | |
|
|
|
|
|
|
|
для: Кузнецов М.В.
(15.07.2004 в 21:51)
| | >Cheops'у отключили свет, так что ждите :)
8-(
> А по типам БД я постараюсь Вам ответить в
>отдельном топике, чтобы не нарушать вашу беседу :)
Ок. Спасибо. | |
|
|
|
|
|
|
|
для: Andron
(15.07.2004 в 21:37)
| | Возможно, так и сделаем. | |
|
|
|
|
|
|
|
для: Andron
(15.07.2004 в 21:35)
| | Cheops'у отключили свет, так что ждите :) (У нас очень сильные грозы). А по типам БД я постараюсь Вам ответить в отдельном топике, чтобы не нарушать вашу беседу :) | |
|
|
|
|
|
|
|
для: cheops
(15.07.2004 в 21:33)
| | Да, я бы вас попросил вставит в учебник выше написанное. Очень пригодится для начинающих! | |
|
|
|
|
|
|
|
для: cheops
(15.07.2004 в 21:33)
| | :-)
Вот еще 1 вопросик созрел: что-то не нашел инфо о типах бд (в примерах вы/мы писали type=MyIsam) а какие они есть и для чего их писать?
Или может я пропустил где-то?
PS. А интересная штука mysqldump! | |
|
|
|
|
|
|
|
для: Andron
(15.07.2004 в 20:48)
| | Это не сложно, нужно найти в дистрибутиве утилиту mysqldump, и выполнить в командной строке:
где basa - имя базы данных, а basa.sql - имя файла куда запишется дамп базы данных, потом если что-то случится c базой данных или нужно будет переместить её на другой сервер, можно будет выполнить команду:
Последнее я и собираюсь сделать с файлом, который вы пришлёте :)
PS Кстати, почему вы себя ламером называете? Ламер, в первоначальном понимании этого слова, человек который ничего не знает и не понимает, но считает, что знает очень много, даёт всем советы и убедить его в его неправоте не представляется возможным. А вы очень восприимчивы к советам :) | |
|
|
|
|