[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ORDER BY
westgiggs
здравствуйте почему не рабоет ORDER BY ?

при ORDER BY vasecena ASC выводит 55, 89, 1 , 0 (((((


$filtr_kat = $_GET['filtr_kat'];
$filtr_pr = $_GET['filtr_pr'];
$filtr_sr = $_GET['filtr_sr'];
$filtr_typ = $_GET['filtr_typ'];
$filtr_jazyk = $_GET['filtr_jazyk'];
$filtr_sort2 = $_GET['filtr_sort2'];


if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$filtr_kat)) {
echo "invalid";

}if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$filtr_pr)) {
echo "invalid";

}

$ressa = mysql_query("SELECT * FROM site WHERE (`kategorie` LIKE '%$filtr_kat%' && `pagerank` LIKE '%$filtr_pr%' && `srank` LIKE '%$filtr_sr%') AND`aktiv`='0'");
while ($resla = mysql_fetch_array($ressa)) {

$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='{$resla['id']}' && `typreklamy` LIKE '%$filtr_typ%' AND`aktiv`='0' ORDER BY vasecena ASC");
while($row = mysql_fetch_array($result)) {




Спустя 9 минут, 50 секунд (30.09.2010 - 21:29) vasa_c написал(а):
что это за месево?

55, 89 - это значения столбца vasecena?

Спустя 6 минут, 14 секунд (30.09.2010 - 21:35) westgiggs написал(а):
да


Спустя 1 час, 17 минут, 50 секунд (30.09.2010 - 22:53) KonstantinK написал(а):
а как вообще вот это работает?
Цитата
$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='{$resla['id']}' && `typreklamy` LIKE '%$filtr_typ%' AND`aktiv`='0' ORDER BY vasecena ASC");

Может хотя бы вот так
$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='.{$resla['id']}.' && `typreklamy` LIKE '%.$filtr_typ.'% AND`aktiv`='0' ORDER BY vasecena ASC");


Спустя 9 минут, 36 секунд (30.09.2010 - 23:02) westgiggs написал(а):
выдает:



$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='.{$resla['id']}.' && `typreklamy` LIKE '%.$filtr_typ.'% AND`aktiv`='0' ORDER BY vasecena ASC");

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web2/tubecz.com/tubecz.com/reklamy.php on line 434

Спустя 6 минут, 2 секунды (30.09.2010 - 23:08) westgiggs написал(а):
там наверное проблем из за первого while , может путается ORDER BY

Спустя 22 минуты, 47 секунд (30.09.2010 - 23:31) waldicom написал(а):
Цитата (westgiggs @ 30.09.2010 - 22:08)
там наверное проблем из за первого while , может путается ORDER BY

Это наверное из-за того, что сам запрос не выполняется. Выполните запрос так:

$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='.{$resla['id']}.' && `typreklamy` LIKE '%.$filtr_typ.'% AND`aktiv`='0' ORDER BY vasecena ASC") or die(mysql_error());

Спустя 1 минута, 31 секунда (30.09.2010 - 23:33) KonstantinK написал(а):
Ну а тут то точки поставил?
Цитата
$ressa = mysql_query("SELECT * FROM site WHERE (`kategorie` LIKE '%$filtr_kat%' && `pagerank` LIKE '%$filtr_pr%' && `srank` LIKE '%$filtr_sr%') AND`aktiv`='0'");


Да стоит подумать над тем чтоб второй запрос делать не в цикле а вот с таким условием
WHERE `stranka` IN (' тут собрать через запятую $resla['id'] ') 


да еще зачем там в запросе фигурные скобки не пойму?
И на какую строку ругается укажи а то я не знаю какая у тебя 434

Спустя 6 минут, 48 секунд (30.09.2010 - 23:39) westgiggs написал(а):
Цитата (waldicom @ 30.09.2010 - 20:31)
Цитата (westgiggs @ 30.09.2010 - 22:08)
там наверное проблем из за первого while , может путается ORDER BY

Это наверное из-за того, что сам запрос не выполняется. Выполните запрос так:

$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='.{$resla['id']}.' && `typreklamy` LIKE '%.$filtr_typ.'% AND`aktiv`='0' ORDER BY vasecena ASC") or die(mysql_error());

вот ошибка

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '% AND`aktiv`='0' ORDER BY vasecena ASC' at line 1

Спустя 2 минуты, 10 секунд (30.09.2010 - 23:41) waldicom написал(а):
Знак процента в одинарные кавычки, а не за ними.
&& заменить на AND

Спустя 3 минуты, 53 секунды (30.09.2010 - 23:45) westgiggs написал(а):
Цитата (KonstantinK @ 30.09.2010 - 20:33)
Ну а тут то точки поставил?
Цитата
$ressa = mysql_query("SELECT * FROM site WHERE (`kategorie` LIKE '%$filtr_kat%' && `pagerank` LIKE '%$filtr_pr%' && `srank` LIKE '%$filtr_sr%') AND`aktiv`='0'");


Да стоит подумать над тем чтоб второй запрос делать не в цикле а вот с таким условием
WHERE `stranka` IN (' тут собрать через запятую $resla['id'] ') 


да еще зачем там в запросе фигурные скобки не пойму?
И на какую строку ругается укажи а то я не знаю какая у тебя 434

oшибкa указывает на строку вот эту:

$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='.{$resla['id']}.' && `typreklamy` LIKE '%.$filtr_typ.'% AND`aktiv`='0' ORDER BY vasecena ASC");

Спустя 5 минут, 46 секунд (30.09.2010 - 23:51) westgiggs написал(а):
Цитата (waldicom @ 30.09.2010 - 20:41)
Знак процента в одинарные кавычки, а не за ними.
&& заменить на AND

ошибки нeту но зато экран пустой (

Спустя 3 минуты, 30 секунд (30.09.2010 - 23:55) waldicom написал(а):
А что Вы ожидаете?

Спустя 1 минута, 44 секунды (30.09.2010 - 23:56) KonstantinK написал(а):
может там 0 без кавычек должен быть?

Спустя 1 минута, 22 секунды (30.09.2010 - 23:58) inpost написал(а):
.{$resla['id']}.
Зачем и фигурные скобки и выделение точками?

Спустя 5 минут, 8 секунд (1.10.2010 - 00:03) westgiggs написал(а):
Цитата (waldicom @ 30.09.2010 - 20:55)
А что Вы ожидаете?

мне надо чтобы нашедшие дата сортировались по таблице vasecena (цена)
перед этим все работало , толька несортировались дата а выводились как в Mysql поочереди то есть например id=1 цена=5, id=2 цена = 8, id=3 цена = 1, a а должно вот так id=3 cena =1 , id= 1 cena = 5, id=2 цена = 8

Спустя 1 минута, 22 секунды (1.10.2010 - 00:04) westgiggs написал(а):
Цитата (inpost @ 30.09.2010 - 20:58)
.{$resla['id']}.
Зачем и фигурные скобки и выделение точками?

так подсказали )

Спустя 3 минуты, 32 секунды (1.10.2010 - 00:08) westgiggs написал(а):
пробовал по id сортировать и все равно в разнобой кидает (2,1,5,9), пробовал первый запрос сортировать ($ressa) все норм , а второй ....(

Спустя 13 минут, 34 секунды (1.10.2010 - 00:21) inpost написал(а):
westgiggs
надо или так или так

Спустя 10 часов, 33 минуты, 17 секунд (1.10.2010 - 10:55) SlavaFr написал(а):
Цитата (westgiggs @ 30.09.2010 - 21:04)
Цитата (inpost @ 30.09.2010 - 20:58)
.{$resla['id']}.
Зачем и фигурные скобки и выделение точками?

так подсказали )

ну так к сожалению KonstantinK тебе не правильно подсказал.

Спустя 4 часа, 24 минуты, 36 секунд (1.10.2010 - 15:19) westgiggs написал(а):
KAK HAДO?

Спустя 19 минут, 2 секунды (1.10.2010 - 15:38) inpost написал(а):
westgiggs
"надо или так или так":
mysql_query("SELECT * FROM `".$resla['id']."`");
mysql_query("SELECT * FROM `{$resla['id']}`");

Спустя 5 минут, 6 секунд (1.10.2010 - 15:43) westgiggs написал(а):
Цитата (inpost @ 1.10.2010 - 12:38)
westgiggs
"надо или так или так":
mysql_query("SELECT * FROM `".$resla['id']."`");
mysql_query("SELECT * FROM `{$resla['id']}`");

работает скрипт без ошибок а сортировка не идет

Спустя 4 минуты, 14 секунд (1.10.2010 - 15:48) SlavaFr написал(а):
1) давах дамп твоей таблицы вместе с содержимым
2) твой запрос которым ты не доволен, но только не в пхп с переменными, а так, как он действительно отсылается.

Спустя 28 минут, 48 секунд (1.10.2010 - 16:16) westgiggs написал(а):
Mysql 1

user posted image

Спустя 1 минута, 12 секунд (1.10.2010 - 16:18) westgiggs написал(а):
mysql 2 mysql 3 , 4


user posted image



user posted image



user posted image

Спустя 2 минуты, 17 секунд (1.10.2010 - 16:20) linker написал(а):
Перезалей в нормальном качестве, а то нифига не видно, что у тебя там.

Спустя 50 минут, 46 секунд (1.10.2010 - 17:11) westgiggs написал(а):
вот как выводит (((



user posted image

Спустя 56 минут, 24 секунды (1.10.2010 - 18:07) inpost написал(а):
А теперь ещё сам запрос, как сейчас у тебя выглядит, чтоб по страницам не бегать =)

Спустя 6 часов, 36 минут, 46 секунд (2.10.2010 - 00:44) westgiggs написал(а):
Цитата (inpost @ 1.10.2010 - 15:07)
А теперь ещё сам запрос, как сейчас у тебя выглядит, чтоб по страницам не бегать =)

$filtr_kat = $_GET['filtr_kat'];
$filtr_pr = $_GET['filtr_pr'];
$filtr_sr = $_GET['filtr_sr'];
$filtr_typ = $_GET['filtr_typ'];
$filtr_jazyk = $_GET['filtr_jazyk'];
$filtr_sort2 = $_GET['filtr_sort2'];


if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$filtr_kat)) {
echo "invalid";

}if (preg_match("/[^(\w)|(\x7F-\xFF)|(\s)]/",$filtr_pr)) {
echo "invalid";

}

$ressa = mysql_query("SELECT * FROM site WHERE (`kategorie` LIKE '%$filtr_kat%' && `pagerank` LIKE '%$filtr_pr%' && `srank` LIKE '%$filtr_sr%') AND`aktiv`='0'");
while ($resla = mysql_fetch_array($ressa)) {

$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='{$resla['id']}' && `typreklamy` LIKE '%$filtr_typ%' AND`aktiv`='0' ORDER BY vasecena ASC");
while($row = mysql_fetch_array($result)) {

Спустя 9 часов, 57 минут, 17 секунд (2.10.2010 - 10:41) SlavaFr написал(а):
1) я ведь sql дамп хотел увидеть а не картинки.
2) я попросил без переменных, то что конкретно посылается в mysql_query.

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

//написано на лету, могут быть ошибки.

SELECT * FROM site left join reklama
ON reklama.stranka=site.id
AND reklama.`typreklamy` LIKE '%$filtr_typ%'
AND reklama.`aktiv`='0'
WHERE site.`kategorie` LIKE '%$filtr_kat%'
AND site.`pagerank` LIKE '%$filtr_pr%'
AND site.`srank` LIKE '%$filtr_sr%'
AND site.`aktiv`='0'

Спустя 50 минут, 46 секунд (2.10.2010 - 11:32) westgiggs написал(а):
Цитата (SlavaFr @ 2.10.2010 - 07:41)
1) я ведь sql дамп хотел увидеть а не картинки.
2) я попросил без переменных, то что конкретно посылается в mysql_query.

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

//написано на лету, могут быть ошибки.

SELECT * FROM site left join reklama
ON reklama.stranka=site.id
AND reklama.`typreklamy` LIKE '%$filtr_typ%'
AND reklama.`aktiv`='0'
WHERE site.`kategorie` LIKE '%$filtr_kat%'
AND site.`pagerank` LIKE '%$filtr_pr%'
AND site.`srank` LIKE '%$filtr_sr%'
AND site.`aktiv`='0'

наконец то получилось biggrin.gif biggrin.gif biggrin.gif спасибо большое +++++++

Спустя 2 часа, 37 минут, 45 секунд (2.10.2010 - 14:10) linker написал(а):
$ressa = mysql_query("SELECT * FROM site WHERE `kategorie` LIKE '%$filtr_kat%' AND `pagerank` LIKE '%$filtr_pr%' AND `srank` LIKE '%$filtr_sr%' AND`aktiv`='0'");
while ($resla = mysql_fetch_array($ressa))
{
$result = mysql_query("SELECT * FROM reklama WHERE `stranka`='{$resla['id']}' AND `typreklamy` LIKE '%$filtr_typ%' AND`aktiv`='0' ORDER BY vasecena ASC");
while($row = mysql_fetch_array($result))
{
...
}
...
}
Вопрос, намбер ван, почему поле reklama.stranka текстовое, а site.id целочисленное? Надо привести в соответствие имхо. Тогда
$Query = "SELECT * FROM reklama "
. = "WHERE `stranka` IN ( "
. = "SELECT id FROM site "
. = "WHERE `kategorie` LIKE '%$filtr_kat%' AND `pagerank` LIKE '%$filtr_pr%' AND `srank` LIKE '%$filtr_sr%' AND`aktiv`='0' "
. = ") AND `typreklamy` LIKE '%$filtr_typ%' AND`aktiv`='0' "
. = "ORDER BY vasecena ASC";
$result = mysql_query($Query);
while($row = mysql_fetch_array($result))
{
...
}
Быстрый ответ:

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