Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Задачка с запросом
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 26 дней
Карма: 1




бьюсь 3 дня с запросом все не могу решить.
Нужно вытащить поля
name_item,rare_item,price_item,price_ticket,img,count_tickets,lot_status,user_id,ticket_number, COUNT(ticket_number)

Из двух таблиц.
Запрос такой
$query = mysqli_query($link,"SELECT l.name_item,l.rare_item,l.price_item,l.price_ticket,l.img,
l.count_tickets,l.lot_status,s.user_id,s.ticket_number, COUNT(s.ticket_number) as count
FROM lottery l
LEFT JOIN start_lot s USING(lot_id)
WHERE l.lot_id='2'
GROUP BY s.ticket_number
"
)or die(mysqli_error($link));

Получаю 16 записей, все вроде бы ничего, но поле count содержит "1' А нужно что бы содержало сколько всего записей т.е - 16.
user posted image

Делаю по другому
$query = mysqli_query($link,"SELECT l.name_item,l.rare_item,l.price_item,l.price_ticket,l.img,
l.count_tickets,l.lot_status,s.user_id,s.ticket_number, COUNT(s.lot_id) as count
FROM lottery l
LEFT JOIN start_lot s USING(lot_id)
WHERE l.lot_id='2'
GROUP BY s.lot_id
"
)or die(mysqli_error($link));

Тут все не очень хорошо, получаю 1 запись, но поле count то что надо.
user posted image

Это конечно не все, но если решу эту задачу, мб и со второй справлюсь
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Arh  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2110
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев, 7 дней
Карма: 70




А если GROUP BY l.lot_id?


--------------------
:)
PMСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 26 дней
Карма: 1




Arh
тоже самое что и s.lot_id
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 299
Пользователь №: 40589
На форуме: 2 года, 5 дней
Карма: 20




ну так ты группируешь по тикет намбер. а на каждую выводимую запись у тебя по одному тикет намберу. вот он тебе и показывает 1. если хочешь общий каунт посчитать - то лучше тут вторым запросом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14978
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 3 дня
Карма: 444




Цитата (maruo @ 18.03.2016 - 23:40)
Получаю 16 записей, все вроде бы ничего, но поле count содержит "1' А нужно что бы содержало сколько всего записей т.е - 16.

Ну так логично smile.gif Что запросил, то и получил.

А что тебе мешает просто потом получить количество строк?


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 26 дней
Карма: 1




sergeiss
Да так и было раньше, отдельный запрос был, который подсчитывает
Просто и так запросов на странице по 3-4 штуки сразу делается хотел как то объеденить
покомпактнее что ле)

вообще у меня проблема посерьезнее есть

Как такое же сделать через аякс)

for ($i=1; $i < $max_count_tick+1 ; $i++) {


if(in_array($i, $ticket)){

$id_us = $new_arr[$i];
// Подгружаем иконки пользователей //
$select_avatar = mysqli_query($link,"SELECT avatar FROM users
WHERE user_id='
$id_us'
"
)or die(mysqli_error($link));
$mini_ava = mysqli_fetch_assoc($select_avatar);

echo '<div class="div-img">
<a class="minimg" href="profile.php?id='
.$id_us.'">
<img class="minimg" src="'
.$DIR_IMG.$mini_ava['avatar'].'" ></a>
</div>'
;
}else{

$a['arr'] = $i;
echo '<a class="div" href="action.php?by_ticket='.$a['arr'].'&lot='.$lot_id.'">'.$a['arr'].'</a>';
}
}



вообще хочу избавиться от этого запроса в цикле

Это сообщение отредактировал maruo - 19.03.2016 - 01:42
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14978
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 3 дня
Карма: 444




Цитата (sergeiss @ 19.03.2016 - 01:28)
А что тебе мешает просто потом получить количество строк?

Цитата (maruo @ 19.03.2016 - 01:34)
Да так и было раньше, отдельный запрос был, который подсчитывает

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

http://php.net/manual/ru/mysqli-result.num-rows.php я вот про это говорил


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 26 дней
Карма: 1




sergeiss
Мне нужен точный подсчет, а num_rows всегда возвращает 1
Даже если записей не вытащил

Это сообщение отредактировал maruo - 19.03.2016 - 19:20
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5497
Пользователь №: 35718
На форуме: 4 года, 20 дней
Карма: 167




Цитата (maruo @ 19.03.2016 - 18:19)
Мне нужен точный подсчет, а num_rows все возвращает 1

если результат одна строка то да


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 26 дней
Карма: 1




А все ладно , я ступил, запрос по любому вытаскивает 1 запись
А что есть наподобие такого цикла? или как сделать так что бы он отработал только 1 раз?
$.each(jsondata[3], function(i, b) {


Это сообщение отредактировал maruo - 19.03.2016 - 19:37
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 26 дней
Карма: 13




Цитата (maruo @ 19.03.2016 - 21:35)
А что есть наподобие такого цикла?

Такие циклы и есть :D
$.each(jsondata[3], function(i, b) {
if ( i > 0 ) {
return false;
} else {
// тут выполняем код
}
}
);

Пример специально большой, что бы было понятно, можно сделать короче.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса