[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: list
Kukaramba
Ребят, помогите, туплю я. Есть код:
Свернутый текст
echo "<FORM>";
echo "<SELECT name=menu>";
while ($row = pg_fetch_row($result))
{
//<option value="out.php">Исходящие
$a1 = $row[0];
$a2 = $row[1];
//$subject = "<a href='dop_dop.php?id=".$row['0'].">".$row[1]."</a>";
$subject = "<option value='dop_dop.php?id={$row['0']}'>{$row['1']}";
echo $subject;
}
echo "</SELECT>";
echo "<input name='Кнопка' type=submit onClick='top.location.href = this.form.menu.options[this.form.menu.selectedIndex].value' value=Ok>";
echo "</FORM>";

// get the number of rows in the resultset
$rows = pg_num_rows($result);
echo "<br>";
// close database connection
pg_close($connection);
?>

Хочу сделать список объектов, где при выборе объекта открывалась бы еще одна таблица в этом же окне но с id выбранного объекта. В общем - проблема как проследить id выбираемого объекта из списка и как его обозначить чтобы использовать на этой же странице?...



Спустя 13 минут, 33 секунды (14.05.2010 - 11:15) Basili4 написал(а):
Все подобные взаимоотношения между клиентской частью и серверной принято решать с помощью AJAX есть конечно изврат типа onselect="var el=document.getElementById('H');
el.value=this.value;
forma.submit";" должна быть создана форма forma с скрытым элементом c id равному H. но это повторяю фигня. Я так в 1 классе делал.

Спустя 7 минут, 11 секунд (14.05.2010 - 11:22) Kukaramba написал(а):
Так как же лучше сделать то? Есть конечно еще вариант сделать дерево иерархии из 2 таблиц, но для меня это пока сложновато. Ну а по поводу списка - просто подставить

onselect="var el=document.getElementById('H');
el.value=this.value;
forma.submit"

echo "<input name='Кнопка' type=submit onselect="var el=document.getElementById('H');
el.value=this.value;' value=Ok>";
???

Спустя 11 минут, 19 секунд (14.05.2010 - 11:34) Basili4 написал(а):
Не замарачивайся юзай AJAX. могу посоветовать модуль SAJAX. очень просто позваляет организовать обмен между клиентом и сервером.

Спустя 44 минуты, 15 секунд (14.05.2010 - 12:18) Kukaramba написал(а):
Сделал я все таки переход:

Свернутый текст
<?php
// database access parameters
// alter this as per your configuration

$host = "192***";
$user = "user";
$pass = "123";
$db = "asu";
$table= "_dis";

//echo "<p align='right'><input type='text' name='date_123' id='123' size='6' maxlenght='40' value=$dy readonly='readonly'></p>";
//echo "<meta http-equiv='Refresh' content='5'>";
// open a connection to the database server

$connection = pg_pconnect ("host=$host dbname=$db user=$user password=$pass");
if (!$connection)
{
die("Could not open connection to database server");
}

// generate and execute a query
$query = "SELECT id,name,cut_name FROM $table";
$result = pg_query($connection, $query) or die("Error in query: $query.
"
. pg_last_error($connection));
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
echo "<form id='mainform' name='mainform' method='post' action='' >";
echo "<SELECT name='close' id='close'>";
while ($row = pg_fetch_row($result))
{
$subject = "<option value={$row['0']}>{$row['1']}";
echo $subject;
}
echo "</SELECT>";
echo "<input name='go' id='go' type='submit' value='Ok' >";
echo "</form>";

// get the number of rows in the resultset
$rows = pg_num_rows($result);
echo "<br>";
// close database connection
pg_close($connection);
?>
<?php

$host = "192.***";
$user = "userl";
$pass = "123";
$db = "asu";
$table= "_obj";
$c_pp="1";
if( isset($_POST['go'] ) )
{
$c_pp=$_POST['close'];
}
// open a connection to the database server
$connection = pg_pconnect ("host=$host dbname=$db user=$user password=$pass");
if (!$connection)
{
die("Could not open connection to database server");
}
$query = "SELECT object_name,object_district,object_address,id_district FROM $table WHERE id_district = '$c_pp'";

$result = pg_query($connection, $query) or die("Error in query: $query.
"
. pg_last_error($connection));

$result = pg_query($query) or die('Query failed: ' . pg_last_error());
echo "<h4>Район - {$row[1]}</h4>";
while ($row = pg_fetch_row($result)){
echo "<a href='dop_main.php?id={$row[3]}' target='DopMainFrame'>{$row[0]}</a>, ({$row[2]})";
echo "<br>";
echo "$row[3]";
}
// get the number of rows in the resultset
$rows = pg_num_rows($result);
echo "<br>";
echo "Всего $rows элементов";
// close database connection
pg_close($connection);
?>


Подскажите, как сделать так, чтобы после выбора объекта из списка - этот объект становился со свойством 'select'. То есть был выбран объект не по умолчанию (первый в списке), а действующий.

Спустя 1 час, 28 минут, 36 секунд (14.05.2010 - 13:47) waldicom написал(а):
В цикле, в котором выводятся <option> надо проверять равен ли текущий id тому, что пришел через GET/POST

Спустя 3 минуты, 38 секунд (14.05.2010 - 13:50) Kukaramba написал(а):
Нужно прописать через if в

echo "<form id='mainform' name='mainform' method='post' action='' >";
echo "<SELECT name='close' id='close'>";
while ($row = pg_fetch_row($result))
{
$subject = "<option value={$row['0']}>{$row['1']}";
echo $subject;
}
echo "</SELECT>";
echo "<input name='go' id='go' type='submit' value='Ok' >";
??

Спустя 1 минута, 40 секунд (14.05.2010 - 13:52) waldicom написал(а):
да, прописать через if. Когда выводите тег <option> проверяйте id, и если он равен тому, что пришло от пользователя, дополнительно выводите
selected="selected"

Спустя 4 минуты, 44 секунды (14.05.2010 - 13:57) Kukaramba написал(а):
if $id=$принятыйid
{.....selected="selected"}
else
...
Так?

Спустя 9 минут, 29 секунд (14.05.2010 - 14:06) waldicom написал(а):
да, только else тут не нужен...
В общем, думать нужно самому, но вот примерно так:

$id = $_GET['id'];
while ($row = pg_fetch_row($result)){
$subject = "<option value={$row['0']}";
if($id = $row['0']){
$subject .= " selected='selected'":
}
$subject = ">{$row['1']}";
echo $subject;
}

конечно можно написать все в одну строку или наоборот еще более раскидать, но, думаю, смысл понятен.

Спустя 9 минут, 46 секунд (14.05.2010 - 14:16) Kukaramba написал(а):
спасибо! ничего правда не вышло, но да ладно. есть направление, в котором можно мыслить)

Спустя 8 минут (14.05.2010 - 14:24) waldicom написал(а):
Переменные под свои переделали? Также надо смотреть сгенерированный код html (который уже в браузере).
Для проверки можно вывести тот id, с которым идет сравнение ($_GET['id']), чтобы быть уверенным, что приходят правильные переменные.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.