Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> связаные списки 
V
    Опции темы
Snoooppy
Дата 19.9.2008, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.5.2006

Репутация: нет
Всего: нет



Доброго времени суток уважаемые форумчане!
Сори за возможно элементарный вопрос, но поиск по инету ничего не дал Огорчение
Собсвенно описываю трабл...

Есть база на mySQL следующего содержания:
Таблица отделов (id, depname)
Таблица должностей (id, position)
Таблица пользователей (id, lname, fname, mname, depid, posid, iphone, ephone)

Есть сайт где все это должно отображаться в виде:
ComboBox с названиями отделов
Таблица с данными на пользователей из текущего отдела выбранного в ComboBox-е

Так вот, все это я сделал на PHP кроме одного, не могу понять как сделать чтобы при выборе в ComboBox-е отдела автоматом перерисовывалась таблица пользователей...
Собственно текст скрипта:
Код

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
$host = "localhost";
$user = "vasy";
$password = "111";
$db = "users_data";
if (!mysql_connect($host, $user, $password))
{
echo "<h2>MySQL Error!</h2>";
exit;
}
mysql_select_db($db);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
$q = mysql_query ("SELECT * FROM department");

print '<form name=form1>';
print '<label>Выберете отдел :</label><select name=cbDep id=select>';
while($results = mysql_fetch_array($q))
{
print '<option value="'.$results['id'].'">'.$results['depname'].'</option>';
}
print '</select>';

mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
$comb=mysql_query("SELECT employ.lastname, employ.firstname, employ.middlename, position.posname, employ.intphone, employ.extphone FROM employ, position where (employ.posid=position.id) and (employ.depid=1)");
$q=mysql_query("SELECT employ.lastname, employ.firstname, employ.middlename, position.posname, employ.intphone, employ.extphone FROM employ, position where (employ.posid=position.id) and (employ.depid=1)");

// Выводим заголовок таблицы:
$num_results2 = mysql_num_rows($comb);
print "<table border=\"1\" width=\"100%\" bgcolor=\"#FFFFE1\">";
print "<tr><td>Имя</td><td>Фамилия</td><td>Отчество</td><td>Должность</td><td>Внутренний телефон</td><td>Городской телефон</td>";
for ($c=0; $c<mysql_num_rows($q); $c++)
{
print "<tr>";
$f = mysql_fetch_array($q);
print "<tr><td>$f[lastname]</td><td>$f[firstname]</td><td>$f[middlename]</td><td>$f[posname]</td><td>$f[intphone]</td><td>$f[extphone]</td>";
echo "</tr>";
}
echo "</table>";
print '</form>';

?>

Если я правильно понял надо передать значение выбора в запрос
Код

$q=mysql_query("SELECT employ.lastname, employ.firstname, employ.middlename, position.posname, employ.intphone, employ.extphone FROM employ, position where (employ.posid=position.id) and (employ.depid=1)");


и подставить вместо 1 в employ.depid=1 но как это сделать не могу въехать...
PM MAIL   Вверх
Snoooppy
Дата 19.9.2008, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.5.2006

Репутация: нет
Всего: нет



т.е. при выборе параметра из комбобокса перерисовывается таблица в соответствии с этим параметром.
Пример, в комбобоксе содержатся названия отделов, выбрав отдел - аппарат управления заново перерисовывается таблица  и выдает ФИО с телефонами для этоого отдела, как сделать такую фичу с кнопочкой запроса (ок, сеарч и т.д.) примерно ясно а вот без нее, непосредственно после выбора отдела, нет((((помогите пожалуйста!
PM MAIL   Вверх
bars80080
Дата 19.9.2008, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(Snoooppy @  19.9.2008,  15:49 Найти цитируемый пост)
как сделать такую фичу с кнопочкой запроса (ок, сеарч и т.д.) примерно ясно а вот без нее, непосредственно после выбора отдела, нет

в таком контексте это не вопрос по пхп, а вопрос по js

т.е. тебе надо получить position.id в последний запрос, если ты можешь сделать это с кнопочкой и тескстовым полем, то не проблема

было
Код

<input type="text" name="id" />
<input type="submit" value="send" />


получаем:
Код

<script>
function func() {
    var el = getElementById('select').getElementsByTagName('option');
    var ell = el.length;
    for(var i = 0; i < ell; i++) {
        if(el[i].selected) { var idn = el[i].value; break; }
    }
    if(idn) { window.location.href = 'http://server.ru/page.php?id=' + idn; }
}
</script>
...
<select name="cbDep" id="select" onchange="func();">
ну а дальше подставляешь, как там у тебя задумано из $_GET['id'];
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.