SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 31.01.2008 18:45:57

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

уважаемые, в очередной раз прошу, выручите пожалуйста

делаю онлайн сервис ИНФОРМАЦИЯ ОБ ОБЪЕКТЕ ПОЧТОВОЙ СВЯЗИ ПО МЕСТУ РАСПОЛОЖЕНИЯ
для своей домашней страницы
а вось кому понадобится)

вот ссылка: http://80.73.90.3/post/index.php?action … rty=678330
если начать с отдаленной деревни - то можно проследить весь путь до самого вышестоящего в том регионе

проблема у меня вот с чем: не смог сделать запрос на выборку из таблицы одинаковых записей и их обобщение
что бы в итоге иметь только одно значение - это что бы сделать выпадающий список

базу индексов взял отсюда: http://info.russianpost.ru/database/ops.html
пожалуста посмотрите эту базу и посоветуйте какой же запрос написать - что бы генерировать выпадающее меню

ЗАРАНЕЕ СПАСИБО!!!

Неактивен

 

#2 31.01.2008 18:48:31

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3873

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

Повторная тема удалена (случайно удалил обе, одну восстановил), прошу не дублировать темы в будущем.

Чтобы упростить задачу собеседникам, опишите пожалуйста структуру базу (например в виде SHOW CREATE TABLE). Кроме того, пояснить подробнее что именно должен делать запрос.

Неактивен

 

#3 31.01.2008 18:53:37

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

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

итак: в общем это - выборка из таблицы одинаковых записей и их обобщение

как сделать запрос на выборку из таблицы одинаковых записей и их обобщение
что бы в итоге иметь только одно значение - это что бы сделать выпадающий список

таблица выглядит примерно так

регион1 - район12 - деревня31
регион2 - район22 - деревня52
регион1 - район13 - деревня32
регион2 - район23 - деревня53
регион3 - район11 - деревня71
регион3 - район10 - деревня72
регион3 - район09 - деревня73

хочу вывести список:
регион1
регион2
регион3

ЗАРАНЕЕ СПАСИБО!!!

Неактивен

 

#4 31.01.2008 18:58:33

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3873

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

я наверное причитал тему до того, как Вы ее удалили, а потом удалил дубликат.

Код:

SELECT DISTINCT region FROM T;
SELECT DISTINCT rayon FROM T WHERE region='регион1';
SELECT DISTINCT derevnya FROM T WHERE region='регион1' AND rayon='район1';

Неактивен

 

#5 31.01.2008 19:01:46

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

щас попробую. по результатам - отпишусь.

Отредактированно vladimirov (31.01.2008 19:02:02)

Неактивен

 

#6 31.01.2008 19:20:53

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

сделал так: $query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
вываливается список... все оке, но...

обнаружилось что некоторые "rayon" не имеют "region" то есть в поле "region" - пусто
в основном это "автономные округа"

теперь необходимо вывести еще и эти записи
то есть те у кого отсутствует значение в поле  "region"

потом как то смешать с результатом предыдущего запроса и отсортировать типа order by post_5 asc";

Неактивен

 

#7 31.01.2008 19:24:55

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3873

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

Можно сделать как на сайте налоговой, то есть предусмотреть выбор пустого региона. Если хотите объединиь 2 запроса, испрользуйте UNION;

(SELECT DISTINCT post_5 from post WHERE smth1) UNION (SELECT DISTINCT post_6 from posts WHERE smth2)

Неактивен

 

#8 31.01.2008 20:10:43

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

function searchform(){
    $query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
    $result = mysql_query($query);
    $query2 = "SELECT post_5, post_7 DISTINCT post_7 FROM post WHERE post_5='.$region.' order by post_7 asc";
    $result2 = mysql_query($query2);
    $text = '<FORM name=DepSearchForm action=/post/index.php method=GET>';
    $text .= '<INPUT type=hidden value=search name=action>';
    $text .= '<TABLE cellSpacing=1 cellPadding=2 align=center border=0 width="100%">';
    $text .= '<TBODY>';
    $text .= '<TR align=left>';
    $text .= '<TD vAlign=center>Регион / область:</TD>';
    $text .= '</TR>';
    $text .= '<TR vAlign=center align=left>';
    $text .= '<TD>';
    $text .= '<SELECT class=page_INPUT style="WIDTH: 100%" name=region>';
    $text .= '<OPTION value=0 selected>Выберите...</OPTION>';
while($row = mysql_fetch_array($result)){
    $text .= '<OPTION value='.$row["post_5"].'>'.$row["post_5"].'</OPTION>';
    }
    $text .= '</SELECT>';
    $text .= '</TD>';
    $text .= '</TR>';
    $text .= '<TR vAlign=center align=left>';
    $text .= '<TD>Район / райцентр:</TD>';
    $text .= '</TR>';
    $text .= '<TR vAlign=center align=left>';
    $text .= '<TD>';
    $text .= '<SELECT class=page_INPUT style="WIDTH: 100%" name=rayon>';
    $text .= '<OPTION value=0 selected>Любой...</OPTION>';
if ($row2 = mysql_fetch_array($result2)){
    $text .= '<OPTION value=0'.$row2["post_7"].'>'.$row2["post_7"].'</OPTION>';
    }
    $text .= '</SELECT>';
    $text .= '</TD>';
    $text .= '</TR>';
    $text .= '<TR vAlign=center align=left>';
    $text .= '<TD>Населённый пункт:</TD>';
    $text .= '</TR>';
    $text .= '<TR vAlign=center align=left>';
    $text .= '<TD>';
    $text .= '<SELECT class=page_INPUT style="WIDTH: 100%" name=derevnya>';
    $text .= '<OPTION value=0  selected>Любой...</OPTION>';
    $text .= '</SELECT>';
    $text .= '</TD>';
    $text .= '</TR>';
    $text .= '<TR vAlign=center align=left>';
    $text .= '<TD>';
    $text .= '<INPUT class=page_INPUT style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value=Показать>';
    $text .= '</TD>';
    $text .= '</TR>';
    $text .= '</TBODY>';
    $text .= '</TABLE>';
    $text .= '</FORM>';
    $text .= '</table>';
    return $text;
}

чо та тут не тоsad помогите разобратся. спасибо.

Неактивен

 

#9 31.01.2008 20:50:35

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3873

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

переменная $region используется до того, как ей присвоено значение

Вам следует генерировать список районов только после того, как пользователь выберет регион. Это можно делать либо через отправку формы при выборе района либо через AJAX

Неактивен

 

#10 03.02.2008 10:36:28

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

итак. решил все начать с начала.

переменные передаю в УРЛ
типа так: /?action=search&x=noselected&y=noselected&z=noselected

function select($x,$y,$z){
    if ($x == 'noselected') {
            $query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/index.php method=GET>';
        $text .= '<INPUT type="hidden" name=y value='.$y.'>';
        $text .= '<INPUT type="hidden" name=z value='.$z.'>';
        $text .= '<SELECT onChange="form.submit();" class=page_INPUT style="WIDTH: 100%" name=x>';
        $text .= '<OPTION value='.$x.' selected>'.$x.'</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_5"].'>'.$row["post_5"].'</OPTION>';
            }
    }else{
        $query = "SELECT DISTINCT post_7 FROM post WHERE post5='$x' order by post_7 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/index.php method=GET>';
        $text .= '<INPUT type="hidden" name=y value='.$y.'>';
        $text .= '<INPUT type="hidden" name=z value='.$z.'>';
        $text .= '<SELECT onChange="form.submit();" class=page_INPUT style="WIDTH: 100%" name=y>';
        $text .= '<OPTION value='.$y.' selected>'.$y.'</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_7"].'>'.$row["post_7"].'</OPTION>';
            }
    }
        $text .= '</SELECT>';
        $text .= '<INPUT class=page_INPUT style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value=Показать>';
        $text .= '</FORM>';
    return $text;
}

что тут неправильНО?

я хочу если $x=noselected -> $query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
если $x имеет значение отличное от noselected -> $query = "SELECT DISTINCT post_7 FROM post WHERE post5='$x' order by post_7 asc";
и потом - какой будет селект что бы вывести список уникальных "деревня" если известны "регион" и "район"

такой?
$query = "SELECT DISTINCT post_8 FROM post WHERE post5='$x', post7='$y'  order by post_8 asc";

Отредактированно vladimirov (03.02.2008 10:37:45)

Неактивен

 

#11 03.02.2008 10:58:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3873

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

что тут неправильНО?

Логика нормальная. Реализация сильно недоделана. Во первых не обязательно скрывыть поле совсем, во вторых я не вижу где скрытым параметрам присваивается значение 'noselected'. Проще не передавать невыбранные параметры и проверять if(!isset($_GET['x'])). В разделе else два поля с именем y.

Хотел привести пример как сделала налоговая, но он сейчас вообще не работает http://sbk.fcod.nalog.ru/addrfind.do?level=0

Код:

$query = "SELECT DISTINCT post_8 FROM post WHERE post5='$x', post7='$y'  order by post_8 asc";

Да, это правильно

Неактивен

 

#12 03.02.2008 11:56:59

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

function select($x,$y,$z){

if (!isset($_GET['х'])){
$query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/index.php method=GET>';
        $text .= '<INPUT type="hidden" name=y value='.$y.'>';
        $text .= '<INPUT type="hidden" name=z value='.$z.'>';
        $text .= '<SELECT onChange="form.submit();" class=page_INPUT style="WIDTH: 100%" name=x>';
        $text .= '<OPTION value='' selected>Выбирите регион</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_5"].'>'.$row["post_5"].'</OPTION>';
            }
    }elseif{
        $query = "SELECT DISTINCT post_7 FROM post WHERE post5='$x' order by post_7 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/index.php method=GET>';
        $text .= '<INPUT type="hidden" name=z value='.$z.'>';
        $text .= '<SELECT onChange="form.submit();" class=page_INPUT style="WIDTH: 100%" name=y>';
        $text .= '<OPTION value='' selected>Выбирите район</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_7"].'>'.$row["post_7"].'</OPTION>';
            }
    }else{
        $query = "SELECT DISTINCT post_8 FROM post WHERE post5='$x', post7='$y' order by post_8 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/index.php method=GET>';
        $text .= '<SELECT onChange="form.submit();" class=page_INPUT style="WIDTH: 100%" name=z>';
        $text .= '<OPTION value='' selected>Выберите деревню</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_8"].'>'.$row["post_8"].'</OPTION>';
            }
    }
        $text .= '</SELECT>';
        $text .= '<INPUT class=page_INPUT style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value=Показать>';
        $text .= '</FORM>';
    return $text;
}

ну вот. вроде уложился в три шага. что скажете?

Отредактированно vladimirov (03.02.2008 12:00:39)

Неактивен

 

#13 03.02.2008 12:08:02

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3873

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

пример все-таки не дописан, например "}elseif{", логично было бы видеть elseif(!isset($_GET['y']))
доведите программу до работоспособного состояния и задайте вопрос

Неактивен

 

#14 03.02.2008 13:21:09

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

да. это исправил. но дальнейших продвижений нет.

Неактивен

 

#15 03.02.2008 13:55:13

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

немного переделал. например вот эту строку
        $text .= '<INPUT type="hidden" name=action value="select">';
вставляю в конце. чтобы ссылка имела вид /post/?action=select&x=noselected&y=noselected&z=noselected

function select($x,$y,$z){
    if(!isset($_GET['х'])){
      $query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/?action=select method=GET>';
        $text .= '<INPUT type="hidden" name=action value="select">';
        $text .= '<SELECT class=page_INPUT style="WIDTH: 100%" name=x>';
        if(!isset($_GET['х'])){
            $text .= '<OPTION value='.$x.' selected>'.$x.'</OPTION>';
        }else{
        $text .= '<OPTION value=0 selected>Выбирите регион</OPTION>';
        }
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_5"].'>'.$row["post_5"].'</OPTION>';
            }
        $text .= '<INPUT type="hidden" name=y value="noselected">';
        $text .= '<INPUT type="hidden" name=z value="noselected">';
    }elseif(!isset($_GET['x'],$_GET['y'])){
      $x = $_GET['x'];
      $y = $_GET['y'];
        $query = "SELECT DISTINCT post_7 FROM post WHERE post_5='$x' order by post_7 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/?action=select method=GET>';
        $text .= '<INPUT type="hidden" name=action value="select">';
        $text .= '<SELECT class=page_INPUT style="WIDTH: 100%" name=x>';
        $text .= '<OPTION value=0 selected>'.$x.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class=page_INPUT style="WIDTH: 100%" name=y>';
        $text .= '<OPTION value=0 selected>Выбирите район</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_7"].'>'.$row["post_7"].'</OPTION>';
            }
        $text .= '<INPUT type="hidden" name=z value="noselected">';
    }elseif(!isset($_GET['x'],$_GET['y'],$_GET['z'])){
      $x = $_GET['x'];
      $y = $_GET['y'];
      $z = $_GET['z'];
        $query = "SELECT DISTINCT post_8 FROM post WHERE post_5='$x', post_7='$y' order by post_8 asc";
        $result = mysql_query($query);
        $text = '<FORM name=select action=/post/?action=select method=GET>';
        $text .= '<INPUT type="hidden" name=action value="select">';
        $text .= '<OPTION value=0 selected>Выберите деревню</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value='.$row["post_8"].'>'.$row["post_8"].'</OPTION>';
            }
    }
        $text .= '</SELECT>';
        $text .= '<INPUT class=page_INPUT style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value=Показать>';
        $text .= '</FORM>';
    return $text;
}

напомню что я хочу сделать:
я стараюсь поочереди вытащить три поля типа селект
с выбором "регион", "район", "деревня"
что бы при выборе регион - выскочило некликабельное меню регион и кликабельное (вернее с выбором) район

сейчас первая ифка пашет, но...
но если переменная Х например равно "АЛТАЙСКИЙ КРАЙ", то после нажатия кнопки возвращается только значинеи "АЛТАЙСКИЙ"



помоему тут логика немного не та...
мозгов видимо не хватает) чо та я не так делаю...

Отредактированно vladimirov (03.02.2008 14:28:38)

Неактивен

 

#16 03.02.2008 19:05:29

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

vladimirov написал:

сейчас первая ифка пашет, но...
но если переменная Х например равно "АЛТАЙСКИЙ КРАЙ", то после нажатия кнопки возвращается только значинеи "АЛТАЙСКИЙ"

эту проблему решил. дело было в вот этих кавычках)))

$text .= '<OPTION value="'.$x.'" selected>'.$x.'</OPTION>';

вернее не в них, а в их отсутствии...

функция все еще не работает...
первый выпадающий список вроде генерируется и показывается, но если чо нить выбираю и нажимаю - втрое меню по прежнему не выскакиваетsad
хотя какое значение было выбрано - стало помнить.

жду ваших советов! заранее спасибо!

Неактивен

 

#17 03.02.2008 20:04:15

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3873

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

function select($x,$y,$z)

у Вас функция от трех аргументов, которые не используются
Логика isset должна быть наоборот
сначала проверить, что нет x нет y и нет z, затем, проверить, что не y и нет z (но есть x), затем, что нет z, но есть x и y

Мы не можем написать программу за Вас. Вам предстоит самостоятельно ее отладить. Отлаживайте программу, вставляя echo "Точка 11"; в разные места программы, тогда Вы увидите что именно выполняется
Полезная функция print_r($_GET), выведет Вам что в массиве $_GET

Неактивен

 

#18 04.02.2008 07:40:00

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

пошел другим путем)

сдела три отдельных функции. поочереди передаю значения от одной к другой)

1. function q1(){
      $query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
        $result = mysql_query($query);
        $text = '<FORM name="q1" action="/post/?action=q2" method="GET">';
        $text .= '<INPUT type="hidden" name="action" value="q2">';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="x">';
        $text .= '<OPTION value="0" selected>Выбирите регион</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value="'.$row["post_5"].'">'.$row["post_5"].'</OPTION>';
            }
        $text .= '</SELECT>';
        $text .= '<INPUT class="page_INPUT" style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value="Показать">';
        $text .= '</FORM>';
        $text .= print_r($_GET); // для проверки
    return $text;
}


2. function q2($x){
      $x = $_GET['x'];
      $query = "SELECT DISTINCT post_7 FROM post WHERE post_5='.$x.' order by post_7 asc";
        $result = mysql_query($query);
        $text = '<FORM name="q2" action="/post/?action=q3" method="GET">';
        $text .= '<INPUT type="hidden" name="action" value="q3">';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="y">';
        $text .= '<OPTION value="0" "selected">'.$x.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="y">';
        $text .= '<OPTION value="0" selected>Выбирите район</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value="'.$row["post_7"].'">'.$row["post_7"].'</OPTION>';
            }
        $text .= '</SELECT>';
        $text .= '<INPUT class="page_INPUT" style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value="Показать">';
        $text .= '</FORM>';
        $text .= print_r($_GET); // для проверки
    return $text;
}

скажите пожалуйста, почему во второй функции селект не работает? кавычки как то надо поставить?

Неактивен

 

#19 04.02.2008 10:03:19

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

нашол одну ошибку
$query = "SELECT DISTINCT post_7 FROM post WHERE post_5='.$x.' order by post_7 asc";
заменил на
$query = "SELECT DISTINCT post_7 FROM post WHERE post_5=".$x." order by post_7 asc";

теперь в браузер вываливается ошибка Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\192.168.0.2\www\post\function.php on line 31
а в 31-й строке у меня while($row = mysql_fetch_array($result)){

я так и не понял в чем проблема

Неактивен

 

#20 04.02.2008 10:07:02

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

йес. заработало!!!

function q2($x){
      $x = $_GET['x'];
      $query = "SELECT DISTINCT post_7 FROM post WHERE post_5='".$x."' order by post_7 asc";
        $result = mysql_query($query);
        $text = '<FORM name="q2" action="/post/?action=q3" method="GET">';
        $text .= '<INPUT type="hidden" name="action" value="q3">';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="y">';
        $text .= '<OPTION value="0" selected>'.$x.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="y">';
        $text .= '<OPTION value="0" selected>Выбирите район</OPTION>';
            while($row = mysql_fetch_array($result)){
        $text .= '<OPTION value="'.$row["post_7"].'">'.$row["post_7"].'</OPTION>';
            }
        $text .= '</SELECT>';
        $text .= '<INPUT class="page_INPUT" style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value="Показать">';
        $text .= '</FORM>';
        $text .= print_r($_GET);  // для проверки
    return $text;
}

кавычки кавычкиsad

Неактивен

 

#21 04.02.2008 10:24:12

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

третья функция тоже заработало. супер!


function q1(){
      $query = "SELECT DISTINCT post_5 FROM post order by post_5 asc";
        $result = mysql_query($query);
        $text = '<FORM name="q1" action="/post/?action=q2" method="GET">';
        $text .= '<INPUT type="hidden" name="action" value="q2">';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="x">';
        $text .= '<OPTION value="0" selected>Выбирите регион</OPTION>';
            while($row = mysql_fetch_array($result)){
            $text .= '<OPTION value="'.$row["post_5"].'">'.$row["post_5"].'</OPTION>';
            }
        $text .= '</SELECT>';
        $text .= '<INPUT class="page_INPUT" style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value="Показать">';
        $text .= '</FORM>';
    return $text;
}

function q2($x){
      $x = $_GET["x"];
      $query = "SELECT DISTINCT post_7 FROM post WHERE post_5='".$x."' order by post_7 asc";
        $result = mysql_query($query);
        $text = '<FORM name="q2" action="/post/?action=q3" method="GET">';
        $text .= '<INPUT type="hidden" name="action" value="q3">';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="x">';
        $text .= '<OPTION value="'.$x.'" selected>'.$x.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="y">';
        $text .= '<OPTION value="0" selected>Выбирите район</OPTION>';
            while($row = mysql_fetch_array($result)){
        $text .= '<OPTION value="'.$row["post_7"].'">'.$row["post_7"].'</OPTION>';
            }
        $text .= '</SELECT>';
        $text .= '<INPUT class="page_INPUT" style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value="Показать">';
        $text .= '</FORM>';
    return $text;
}

function q3($x,$y){
      $x = $_GET["x"];
      $y = $_GET["y"];
      $query = "SELECT DISTINCT post_8 FROM post WHERE post_5='".$x."' and post_7='".$y."' order by post_8 asc";
        $result = mysql_query($query);
        $text = '<FORM name="q2" action="/post/?action=q3" method="GET">';
        $text .= '<INPUT type="hidden" name="action" value="q3">';
        $text .= '<INPUT type="hidden" name="x" value="'.$x.'">';
        $text .= '<INPUT type="hidden" name="y" value="'.$y.'">';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="x">';
        $text .= '<OPTION selected>'.$x.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="y">';
        $text .= '<OPTION selected>'.$y.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%" name="z">';
        $text .= '<OPTION value="0" selected>Выберите населенный пункт</OPTION>';
            while($row = mysql_fetch_array($result)){
        $text .= '<OPTION value="'.$row["post_8"].'">'.$row["post_8"].'</OPTION>';
            }
        $text .= '</SELECT>';
        $text .= '<INPUT class="page_INPUT" style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value="Показать">';
        $text .= '</FORM>';
    return $text;
}

теперь надо сделать так - что бы никто не придирался)))

кто что посоветует?

Отредактированно vladimirov (04.02.2008 10:29:44)

Неактивен

 

#22 04.02.2008 10:52:30

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

ой. стоп. савсем забыл вот про что...

в последней функции мне надо выдернуть еще и $row["post_1"]
но если у меня селект с конструкцией DISTINCT - как мне быть?

Неактивен

 

#23 04.02.2008 14:08:25

vladimirov
Завсегдатай
Зарегистрирован: 16.12.2007
Сообщений: 69

Re: уважаемые, в очередной раз прошу, выручите пожалуйста

третью функцию отредактировать так и не удалось.
сделал четвертую))) ничо что много раз надо нажимать кнопкуо, но раз уж три раза нажали)))

function q4($x,$y,$z){
      $x = $_GET["x"];
      $y = $_GET["y"];
      $z = $_GET["z"];
      $query = "SELECT post_1, post_8 FROM post WHERE post_8='".$z."'";
        $result = mysql_query($query);
        $row=mysql_fetch_array($result);
        $text = '<FORM class="form-common" name="q4" action="/hudaev/" method="GET">';
        $text .= '<INPUT type="hidden" name="action" value="search">';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%">';
        $text .= '<OPTION selected>'.$x.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%">';
        $text .= '<OPTION selected>'.$y.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<SELECT class="page_INPUT" style="WIDTH: 100%">';
        $text .= '<OPTION selected>'.$z.'</OPTION>';
        $text .= '</SELECT>';
        $text .= '<INPUT type="hidden" name="qwerty" value="'.$row["post_1"].'">';
        $text .= '<INPUT class="page_INPUT" style="FONT: bold 8pt Verdana, Arial; COLOR: #555555" type="submit" value="Показать всю имеющуюся информацию">';
        $text .= '</FORM>';
    return $text;
}

потом передаю на пятую функцию которая по $qwerty выдергивает все данные по искомой строке из БД и формирует информационную таблицу.

вроде немного неправильно (слишком много раз надо нажимать кнопки) но работает...

вопрос закрыт. спасибо всем кто помог.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson