imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 07.04.2009, 12:51     # 1
kasha
Member
 
Аватар для kasha
 
Регистрация: 08.08.2005
Адрес: Прибалтика
Пол: Male
Сообщения: 217

kasha Известность не заставит себя ждать
БД выводит все стр. кроме одной...

Всем привет, подскажите пожалуйста, вот такой SQL query:

PHP код:
<?
$a
="SELECT id,period,kat,kand_kp,eek FROM sortering WHERE kat='$kat' && kand_kp between '$start_date' AND '$till' ";
$result=mysql_query($a);
$myrow=mysql_fetch_array($result);


?>
<table>
    <tr>
        <td>
            <table width='420px' bgcolor='#E1E1E1' class='second'>
            <?
            
while ($myrow=mysql_fetch_array($result))
            {
            
printf("    <tr>
                <td>
                    $myrow[0]
                </td>
                <td>
                    $myrow[1]
                </td>
                <td>
                    $myrow[2]
                </td>
                <td>
                    $myrow[3]
                </td>
                <td>
                    $myrow[4]
                </td>
            </tr>
            "
);}
            
            
?>
kand_kp в БД имеет вид данных DATE вида yyyy-mm-dd, и вот проблема в следующем. Я ввожу на странице две даты с какой по какую выбрать и выбираю категорию, всё это из формы посылается через POST в обработчик result.php и значит этот query дает такой вывод, что если в базе например этому промежутку дат и категории выбранной соответствуют 3 записи, то база на странице выводит только 2 записи, и так со всеми категориями, как бы на 1 стр. меньше дает результат.
Я пробовал непосредственно в phpmyadmin писать этот запрос, и все выдает нормально, сколько должен! Подскажите пожалуйста в чем причина может крыться?
kasha вне форума  
Старый 08.04.2009, 15:39     # 2
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
Уверен что запрос такойже? Попробуй без подстановки переменных. Из phpmyadmin запрос в скрипт скопировать и сравнить результаты.

А вообще, почему $myrow=mysql_fetch_array($result); в двух местах прописан? Первая команда вроде как раз проскакивает через одну запись.
EvroStandart вне форума  
Старый 10.04.2009, 23:18     # 3
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
Цитата:
Сообщение от EvroStandart Посмотреть сообщение
Уверен что запрос такойже? Попробуй без подстановки переменных. Из phpmyadmin запрос в скрипт скопировать и сравнить результаты.
нет, не в этом дело, действительно $myrow=mysql_fetch_array($result); - сначала выбирает запись и ничего с ней не делает, затем еще раз выбирает запись - соответственно просто вы всегда теряете первую запись из запроса - удалите первый раз вызов $myrow=mysql_fetch_array($result);
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 13.05.2009, 10:12     # 4
Рудко
Newbie
 
Регистрация: 03.05.2009
Сообщения: 16

Рудко Нуль без палочки
Не стал регистрировать новую тему, т.к. вопрос наверняка пустяковый. Просто БД только изучаю.
Вопрос такой. Как правильно сделать выборку из двух таблиц? Причем выборка из второй таблицы происходит по критериям из первой. Выборка множественная.
Нужен цикл?
Рудко вне форума  
Старый 13.05.2009, 11:11     # 5
rontommy
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС
 
Аватар для rontommy
 
Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010

rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
Цитата:
Сообщение от Рудко Посмотреть сообщение
Как правильно сделать выборку из двух таблиц? Причем выборка из второй таблицы происходит по критериям из первой. Выборка множественная.
Нужен цикл?
Нужен "LEFT JOIN", типа такого
Код:
SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.id=tab2.id WHERE tab1.id = '123' LIMIT 0, 10
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать.
rontommy вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:59.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.