Страница 1 из 1

Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-02 15:56:27
svmt
Помогите люди добры!
Чтото голову сломал а в инете както особо не распостраняется никто

Код: Выделить всё

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>

<body>
<select name="Name">
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>
</body>
</html>

Смысл такой
Есть база пускай с именем base
Таблица с именем table
В поле name допустим есть какие нить Петя, Вася, Ваня
Как запихать в выпадающее чтоб в меню вместо 1,2,3 Были данные из поля name

И как потом сделать запрос в зависимости от выбранного в списке
SELECT * FROM table WHERE name ='' < здесь как????

Прошу не пинать ибо учусь пока обложившись книжками..... тксксть познаю мир :oops:

Спасибо

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-02 16:13:48
hizel
тобличка
table
id,name

select id,name from table
потом генерируем html
<option value="<id>" > <name></option>

при обработке запроса после отправки формы пыху получаем id

select name from table where id=<id>

незабываем проверять перед тем как суемся в мускул, хацкеры не дремлют

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-02 16:38:20
dikens3
hizel хочет сказать что на html этого сделать нельзя и необходимо воспользоваться другим языком, тем же php и т.п.

К тому же неизвестно сколько будет данных (1, 2, 3 ,4 и т.п.) и потребуется цикл. К примеру у меня в базе mysql хранится список с годами (количество записей неизвестно).
Вывод делается на PHP так:

Код: Выделить всё

# Список годов в базе
$sql = "SELECT DISTINCT YEAR(`date`) FROM log ORDER BY `date`";
$result = mysql_query($sql);
echo    "<select name='useryear' size=1>\n";

while ($row = mysql_fetch_array($result)) {
    if ( $row['YEAR(`date`)'] == "$year" ) { echo "<option value='$year' Selected>$year</option>\n"; } else {echo "<option value='".$row['YEAR(`date`)']."'>".$row['YEAR(`date`)']."</option>\n";}
                                            }
...
...;
Что в итоге выглядит примерно так:

Код: Выделить всё

<form method='POST' action=''>
<select name='useryear' size=1>
<option value='2007'>2007</option>
<option value='2008' Selected>2008</option>
</select>
<input type='submit' name='action' value='Отчёт' class='button'>
</form>

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-02 19:11:41
hizel
а я еще hizel хотел бы сказать, что православнее использовать парадигму MVC :"":

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-03 7:42:56
svmt
ёшкин свет....
вотэт dikens3 грузанул....
мне до такого ишшо как минимум с месяц ковырятся....
не получается вещь гораздо проще:

Код: Выделить всё

<?php
  $host = "localhost";
  $user = "user";
  $passwd = "pass";
  $db = "base";
?>
<?php
if(!mysql_connect($host,$user,$passwd))
{echo "<br><br><BIG><CENTER>Не могу соединится с вервером</CENTER></BIG>";
exit;
}
mysql_select_db($db);
$sql = mysql_query("SELECT id,name FROM table");
$result = mysql_query($sql);
?>

<?php
echo "<select name='name' size=1>\n";
echo "<option value='$name' Selected>$name</option>\n";   
?>
заблудился окончательно..... :crazy:
видимо книжки придется читать с начала и повнимательней :st: :st:

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-03 11:35:45
zg
у тебя сколько в базе значений лежит?
а сколько выводится? чего не хватает твоему коду?

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-03 11:59:51
svmt
Да смысл такой что пытаюсь считать трафик по предприятию....
общий трафик какбы получилось по IP считать....
а на нашей территории сидит ещё одна контора которая хочет знать за каждый день сколько и откуда
+ ко всему этому есть еще и штрафники которые понакачают а потом безобидными котенками притворяются...
вот и хотелось бы сделать выбираемые поля в которых бы
1 выпадающее меню по запросу бы заполняло бы себя IP которые есть у меня в таблице.... 192.168.1.1-200
2 выпадающее меню по запросу бы заполняло бы себя датой которая есть у меня в таблице.... 01-09-2008............ 31-01-2000001г :smile:

и в зависимости от того что я выбираю уже все строилось бы дальше......
в SQL запрос:

Код: Выделить всё

$sql = mysql_query("SELECT * FROM rl0_2008 WHERE toip ='192.168.1.50' 
					AND date = '2008-09-02'
					GROUP BY `fromip` ORDER BY `bytes` DESC"
					);
все устраивает но как бы этот злобный toip ='192.168.1.50' и date = '2008-09-02' и им подобные запихать в меню а потом на основании выбранного сделать запрос..... ну никак не соображу

извиняюсь за простые воросы которые не можу побороть :pardon:

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-03 12:12:15
zg
а сколько выводится? чего не хватает твоему коду?[/quote] ок, раз не хочешь думать
zg писал(а):у тебя сколько в базе значений лежит?
надо было ответить: много
zg писал(а):а сколько выводится?
пральный ответ: одно
zg писал(а):чего не хватает твоему коду?
цикла :roll:

вообщем http://ru.php.net/manual/ru/function.my ... -assoc.php

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-03 12:20:40
svmt
нискока не выводится
просто пусто

за ссылку спасибо
пошел грызть :smile:

Re: Как запрос затолкать в выпадающее меню?

Добавлено: 2008-09-03 12:42:24
zg
svmt писал(а):нискока не выводится
просто пусто
8) выводится, только ты не там и не то смотришь