PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): « 1 [2]

> Найдено сообщений: 19
Doxtor Отправлено: 20 Апреля, 2011 - 13:33:12 • Тема: Не выводить строки из таб1 если SUM(столбец) из таб2 равен нулю • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 31
Перепробовал уже кажется всё, MySQLщики говорят делай через PHP

Речь идёт о вот этом запросе:

PHP:
скопировать код в буфер обмена
  1. $result_fakt = mysql_query($result_fakt = mysql_query("SELECT
  2. fakt.id,
  3. fakt.name FROM fakt
  4. LEFT JOIN fakt_cnt ON fakt.id = fakt_cnt.fakt_id
  5. GROUP BY fakt_cnt.fakt_id
  6. ORDER BY SUM(fakt_cnt.cnt) DESC", $db) OR die(mysql_error());
  7. $fakt = mysql_fetch_array($result_fakt);
  8.  
  9. do{
  10.   printf("<div>%s</div>",$fakt[name]);
  11. }
  12. while ($fakt = mysql_fetch_array($result_fakt));


Пока выводит все записи fakt.name

Так вот хотелось бы не выводить

fakt.name FROM fakt

если

SUM(fakt_cnt.cnt) FROM fakt_cnt

больше нуля.
Doxtor Отправлено: 14 Апреля, 2011 - 16:31:39 • Тема: Нулевые значения в цикле do while • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 43
Разобрался, большое спасибо.
Doxtor Отправлено: 14 Апреля, 2011 - 14:23:40 • Тема: Нулевые значения в цикле do while • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 43
OrmaJever пишет:
PHP:

$result = mysql_query("SELECT pole1, pole2 FROM tab1 ", $db);
$row = mysql_fetch_array($result);

do{
if($row["pole1"] == 0) continue;
printf("<div>%s</div>",$row["pole1"]);
}
while ($row = mysql_fetch_array($result));





Спасибо, оба варианта работают.
Хотел спросить для понимания вопроса: а почему не работает :
if($row["pole1"] > 0) continue;
Doxtor Отправлено: 14 Апреля, 2011 - 00:38:41 • Тема: Нулевые значения в цикле do while • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 43
Просмотрел все глаза и поломал всю голову, не могу найти/вспомнить решение.

PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT pole1, pole2 FROM tab1 ", $db);
  2. $row = mysql_fetch_array($result);
  3.  
  4. do{
  5. printf("<div>%s</div>",$row["pole1"]);
  6. }
  7.    while ($row = mysql_fetch_array($result));


В таблице есть значения равные "0".
В приведенном цикле выводятся все значения столбца pole1:
5
4
3
2
1
0

а нужно
5
4
3
2
1

Заранее спасибо

Страниц (2): « 1 [2]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB