Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с UNION

 PHP.SU

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


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

> Без описания
riv
Отправлено: 10 Января, 2012 - 13:54:50
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




Всем здрасте!!!
Не могу понять почему не работает помогите плизз
PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $host = "localhost";
  4. $db_username = "username";
  5. $db_password = "password";
  6. $db_name = "dbname";
  7.  
  8. $connect = @ mysql_pconnect($host, $db_username, $db_password) or die('Cannot connect to server');
  9. @ mysql_select_db($db_username) or die('Cannot connect to db');
  10. @ mysql_query("SET NAMES 'windows-1251'", $connect);
  11.  
  12.  
  13. $korrekt_time=time()+$portal_time*3600;
  14.  
  15. $query = "(SELECT title, ntext FROM video WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  16. UNION
  17. (SELECT title, ntext FROM game WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  18. UNION
  19. (SELECT title, ntext FROM pictures WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  20. UNION
  21. (SELECT title, ntext FROM upload WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  22. UNION
  23. (SELECT title, ntext FROM anecdote WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  24. ORDER BY datetime DESC LIMIT 20";
  25. $res = mysql_query($query);
  26.  
  27. echo '<table border=\"0\">';
  28. while ($row = mysql_fetch_array($res))
  29. {
  30. echo '<tr><td><div class=\"art-post-inner\"><h3 class=\"art-postheaderIcon-wrapper\" style=\"text-align:center\"><span class=\"postheader\">'.$row['title'].'</span></h3><div class=\"art-blockcontent\"><div class=\"art-blockcontent-tl\"></div><div class=\"art-blockcontent-tr\"><div></div></div><div class=\"art-blockcontent-bl\"><div></div></div><div class=\"art-blockcontent-br\"><div></div></div><div class=\"art-blockcontent-tc\"><div></div></div><div class=\"art-blockcontent-bc\"><div></div></div><div class=\"art-blockcontent-cl\"><div></div></div><div class=\"art-blockcontent-cr\"><div></div></div><div class=\"art-blockcontent-cc\"></div><div class=\"art-blockcontent-body\"><div class=\"art-postmetadataheader\"><div class=\"art-postheaderIcons art-metadata-icons\" style=\"text-align:center\"></div></div><br /><div class=\"postContent\" style=\"text-align:center\">'.$row['ntext'].'</div><br /><div class=\"cleared\"></div>  <div class=\"art-postFooterIcons art-metadata-icons\" style=\"text-align:center\"></div></div></div></div></td></tr>';
  31. }
  32. echo '</table>';
  33. ?>
 
 Top
Viper
Отправлено: 10 Января, 2012 - 14:16:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




riv вместо каши лучше приведите структуру таблицы + примерные данные из неё(буквально пару-тройку строк) и что вы хотите из неё получить.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
riv
Отправлено: 10 Января, 2012 - 14:25:07
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




Таблици идентичны структура такая

CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE video (
  2.    id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  3.    datetime datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
  4.    dobavil varchar(80),
  5.    title varchar(120) NOT NULL,
  6.    mtext text NOT NULL,
  7.    text text,
  8.    lang varchar(40) DEFAULT 'russian',
  9.    PRIMARY KEY (id),
  10.    KEY lang (lang),
  11. );
  12.  

PHP:
скопировать код в буфер обмена
  1.     <?
  2.      
  3.     $host = "localhost";
  4.     $db_username = "username";
  5.     $db_password = "password";
  6.     $db_name = "dbname";
  7.      
  8.     $connect = @ mysql_pconnect($host, $db_username, $db_password) or die('Cannot connect to server');
  9.     @ mysql_select_db($db_username) or die('Cannot connect to db');
  10.     @ mysql_query("SET NAMES 'windows-1251'", $connect);
  11.      
  12.      
  13.     $korrekt_time=time()+$portal_time*3600;
  14.      
  15.     $query = "(SELECT title, text FROM video WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  16.    UNION
  17.    (SELECT title, mtext FROM game WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  18.    UNION
  19.    (SELECT title, mtext FROM pictures WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  20.    UNION
  21.    (SELECT title, mtext FROM upload WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  22.    UNION
  23.    (SELECT title, mtext FROM anecdote WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  24.    ORDER BY datetime DESC LIMIT 20";
  25.     $res = mysql_query($query);
  26.      
  27.     echo '<table border=\"0\">';
  28.     while ($row = mysql_fetch_array($res))
  29.     {
  30.     echo '<tr><td>'.$row['title'].'</td></tr><tr><td>'.$row['mtext'].'</td></tr>';
  31.     }
  32.     echo '</table>';
  33.     ?>

(Отредактировано автором: 10 Января, 2012 - 14:27:17)

 
 Top
LIME
Отправлено: 10 Января, 2012 - 14:27:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




riv в курсе что зарезервированные слова в качестве имен полей берутся в обратные кавычки типа `datetime`
 
 Top
riv
Отправлено: 10 Января, 2012 - 14:31:38
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




LIME вы про это???
PHP:
скопировать код в буфер обмена
  1. ORDER BY `datetime` DESC LIMIT 20
 
 Top
LIME
Отправлено: 10 Января, 2012 - 14:33:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




везде
а лучше не называть поля так
 
 Top
riv
Отправлено: 10 Января, 2012 - 14:36:37
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




LIME ок это понятно мне толко не понятно почему скрипт не пашет.... Недовольство, огорчение что у меня не так?
 
 Top
DlTA
Отправлено: 10 Января, 2012 - 14:50:18
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




надо искать до какого места все правильно а где уже нет
и уже от этого плясать
 
 Top
riv
Отправлено: 10 Января, 2012 - 14:54:10
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




выводится вот так в html если смотреть исходный код страници
CODE (html):
скопировать код в буфер обмена
  1. <table border=\"0\"></table>

Если я делайю так
PHP:
скопировать код в буфер обмена
  1.         <?
  2.          
  3.         $host = "localhost";
  4.         $db_username = "username";
  5.         $db_password = "password";
  6.         $db_name = "dbname";
  7.          
  8.         $connect = @ mysql_pconnect($host, $db_username, $db_password) or die('Cannot connect to server');
  9.         @ mysql_select_db($db_username) or die('Cannot connect to db');
  10.         @ mysql_query("SET NAMES 'windows-1251'", $connect);
  11.          
  12.          
  13.         $korrekt_time=time()+$portal_time*3600;
  14.          
  15.         $query = "(SELECT title, text FROM video WHERE UNIX_TIMESTAMP(datetime)<'$korrekt_time')
  16.       ORDER BY datetime DESC LIMIT 20";
  17.         $res = mysql_query($query);
  18.          
  19.         echo '<table border=\"0\">';
  20.         while ($row = mysql_fetch_array($res))
  21.         {
  22.         echo '<tr><td>'.$row['title'].'</td></tr><tr><td>'.$row['mtext'].'</td></tr>';
  23.         }
  24.         echo '</table>';
  25.         ?>

т.е. вывожу только из одной таблицы то выводится все отлично...
 
 Top
Мелкий Супермодератор
Отправлено: 10 Января, 2012 - 14:56:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Варианта 2:
0) ошибка запроса и отключён вывод ошибок
1) запрос вернул 0 строк


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 10 Января, 2012 - 14:58:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
DlTA
Отправлено: 10 Января, 2012 - 15:00:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




точно не уверен
но возможно проблема в том что возвращается несколько полей с однинаковым назнванием
что не допустимо
вариант действий:
повторы
SELECT title, заменить
SELECT title AS title1,
SELECT title AS title2,
...
 
 Top
riv
Отправлено: 10 Января, 2012 - 15:04:07
Post Id



Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Сент. 2011  
Откуда: Краснодар


Помог: 0 раз(а)




Врубил ошибки ругается на

Цитата:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
 
 Top
DlTA
Отправлено: 10 Января, 2012 - 15:06:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




а что говорит mysql_error()
после $res = mysql_query($query);?
 
 Top
LIME
Отправлено: 10 Января, 2012 - 15:06:45
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




riv я же говорил про обр кавычки
повторить?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB