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 :: Помогите оформить селект в php страничку

 PHP.SU

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


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

> Описание: Селект в php
disprokz
Отправлено: 17 Сентября, 2015 - 22:40:40
Post Id


Новичок


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


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




Добрый вечер всем.
В языках программирования опыта вообще нет. Есть уже готовый селект из Mysql, который нужно грамотно оформить в php страницу.
Времени изучать язык к сожалению нет. Взамен могу помочь с настройкой ОС Windows, FreeBSD,Centos, Ubuntu.

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT zayavki.create_time, zayavki.a_subject, zayavki.a_to, zayavki.a_body,  'В обработке',  'В обработке'  ,  'В обработке'
  3. FROM article zayavki
  4. WHERE (SELECT count(ticket_id) FROM article zayavki_1 WHERE zayavki.ticket_id=zayavki_1.ticket_id GROUP BY ticket_id) = 1
  5.  
  6. UNION ALL
  7.  
  8.  
  9. SELECT zayavki.create_time, zayavki.a_subject, zayavki.a_to, zayavki.a_body,  reshenia.a_subject, reshenia.change_time  , reshenia.a_body
  10. FROM article zayavki, article reshenia
  11. WHERE zayavki.ticket_id = reshenia.ticket_id
  12. AND zayavki.id < reshenia.id
  13.  

(Отредактировано автором: 17 Сентября, 2015 - 22:44:41)

 
 Top
andrewkard
Отправлено: 17 Сентября, 2015 - 22:46:29
Post Id


Участник


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


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




disprokz
В каком виде приходят данные из БД?
 
 Top
disprokz
Отправлено: 17 Сентября, 2015 - 22:48:24
Post Id


Новичок


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


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




andrewkard пишет:
disprokz
В каком виде приходят данные из БД?

Добрый вечер.
Данные из БД - дата и текст на русском.
 
 Top
andrewkard
Отправлено: 17 Сентября, 2015 - 23:41:44
Post Id


Участник


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


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




disprokz
Код не тестировал, учитывая скудность исходных данных, как то так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $html = '<select>';
  4. while ($row = mysql_fetch_assoc($result)) {
  5.     $html .= '<option value='.$row["create_time"].'>'.$row["a_subject"].'</option>';
  6. }
  7. $html .= '</select>';
  8.  
  9. echo $html;
  10.  
 
 Top
Panoptik
Отправлено: 18 Сентября, 2015 - 00:23:30
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $dbHost = 'localhost';
  3. $dbUser = 'root';
  4. $dbPass = '';
  5. $dbName = 'testdb';
  6. $db = new PDO('mysql:dbname=' . $dbName . ';host=' . $dbHost, $dbUser, $dbPass);
  7.  
  8. $sql = <<<SQL
  9. SELECT zayavki.create_time, zayavki.a_subject, zayavki.a_to, zayavki.a_body,  'В обработке',  'В обработке'  ,  'В обработке'
  10. FROM article zayavki
  11. WHERE (SELECT count(ticket_id) FROM article zayavki_1 WHERE zayavki.ticket_id=zayavki_1.ticket_id GROUP BY ticket_id) = 1
  12.  
  13. UNION ALL
  14.  
  15.  
  16. SELECT zayavki.create_time, zayavki.a_subject, zayavki.a_to, zayavki.a_body,  reshenia.a_subject, reshenia.change_time  , reshenia.a_body
  17. FROM article zayavki, article reshenia
  18. WHERE zayavki.ticket_id = reshenia.ticket_id
  19. AND zayavki.id < reshenia.id';
  20. SQL;
  21.  
  22. $result = $db->prepare($sql)->execute();
  23.  
  24. $rows = $result->fetchAll(PDO::FETCH_ASSOC);
  25.  
  26. ?>
  27.  
  28. <?PHP if($rows): ?>
  29.   <table>
  30.   <thead>
  31.     <tr>
  32.     <?PHP foreach(array_keys($rows[0]) as $colName): ?>
  33.       <th><?=$colName;?></th>
  34.     <?PHP endforeach; ?>
  35.     </tr>
  36.   </thead>
  37.   <tbody>
  38.   <?PHP foreach($rows as $row): ?>
  39.     <tr>
  40.       <td>
  41.         <?=implode('</td><td>', $row);?>
  42.       </td>
  43.     </tr>
  44.   <?PHP endforeach; ?>
  45.   </tbody>
  46.   </table>
  47. <?PHP endif; ?>
  48.  
  49.  

(Отредактировано автором: 18 Сентября, 2015 - 00:24:57)



-----
Just do it
 
 Top
disprokz
Отправлено: 18 Сентября, 2015 - 00:39:01
Post Id


Новичок


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


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




andrewkard пишет:
disprokz
Код не тестировал, учитывая скудность исходных данных, как то так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $html = '<select>';
  4. while ($row = mysql_fetch_assoc($result)) {
  5.     $html .= '<option value='.$row["create_time"].'>'.$row["a_subject"].'</option>';
  6. }
  7. $html .= '</select>';
  8.  
  9. echo $html;
  10.  

Пустая страница выходит
(Добавление)
Panoptik пишет:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $dbHost = 'localhost';
  3. $dbUser = 'root';
  4. $dbPass = '';
  5. $dbName = 'testdb';
  6. $db = new PDO('mysql:dbname=' . $dbName . ';host=' . $dbHost, $dbUser, $dbPass);
  7.  
  8. $sql = <<<SQL
  9. SELECT zayavki.create_time, zayavki.a_subject, zayavki.a_to, zayavki.a_body,  'В обработке',  'В обработке'  ,  'В обработке'
  10. FROM article zayavki
  11. WHERE (SELECT count(ticket_id) FROM article zayavki_1 WHERE zayavki.ticket_id=zayavki_1.ticket_id GROUP BY ticket_id) = 1
  12.  
  13. UNION ALL
  14.  
  15.  
  16. SELECT zayavki.create_time, zayavki.a_subject, zayavki.a_to, zayavki.a_body,  reshenia.a_subject, reshenia.change_time  , reshenia.a_body
  17. FROM article zayavki, article reshenia
  18. WHERE zayavki.ticket_id = reshenia.ticket_id
  19. AND zayavki.id < reshenia.id';
  20. SQL;
  21.  
  22. $result = $db->prepare($sql)->execute();
  23.  
  24. $rows = $result->fetchAll(PDO::FETCH_ASSOC);
  25.  
  26. ?>
  27.  
  28. <?PHP if($rows): ?>
  29.   <table>
  30.   <thead>
  31.     <tr>
  32.     <?PHP foreach(array_keys($rows[0]) as $colName): ?>
  33.       <th><?=$colName;?></th>
  34.     <?PHP endforeach; ?>
  35.     </tr>
  36.   </thead>
  37.   <tbody>
  38.   <?PHP foreach($rows as $row): ?>
  39.     <tr>
  40.       <td>
  41.         <?=implode('</td><td>', $row);?>
  42.       </td>
  43.     </tr>
  44.   <?PHP endforeach; ?>
  45.   </tbody>
  46.   </table>
  47. <?PHP endif; ?>
  48.  
  49.  

прописал базу и пароль, но результат тот же.
 
 Top
Panoptik
Отправлено: 18 Сентября, 2015 - 00:48:49
Post Id



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


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


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




в начало после <?php
добавьте ini_set('display_errors',1); error_reporting(E_ALL | E_STRICT);

и выхлоп сюда


-----
Just do it
 
 Top
disprokz
Отправлено: 18 Сентября, 2015 - 00:56:42
Post Id


Новичок


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


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




Panoptik пишет:
в начало после <?php
добавьте ini_set('display_errors',1); error_reporting(E_ALL | E_STRICT);

и выхлоп сюда

пусто :-/
Хотя мой вариант php отрабатывался
 
 Top
Panoptik
Отправлено: 18 Сентября, 2015 - 01:01:49
Post Id



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


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


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




значит мускул возвращает пустой результат

тю, вроде как ошибся

нужно вот это

PHP:
скопировать код в буфер обмена
  1. $result = $db->prepare($sql)->execute();
  2.  
  3. $rows = $result->fetchAll(PDO::FETCH_ASSOC);


заменить на

PHP:
скопировать код в буфер обмена
  1. $stmt = $db->prepare($sql);
  2.  
  3. $result = $stmt->execute();
  4.  
  5. var_dump($result); // это убрать если вернет тру
  6.  
  7. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  8.  
  9. var_dump($rows);
  10.  
  11. var_dump($stmt->errorInfo());
  12.  


если отработает все ок то вардампы убрать из кода, если будет ошибка, то выхлоп сюда


-----
Just do it
 
 Top
disprokz
Отправлено: 18 Сентября, 2015 - 01:08:34
Post Id


Новичок


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


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




Panoptik пишет:
значит мускул возвращает пустой результат

тю, вроде как ошибся

нужно вот это

PHP:
скопировать код в буфер обмена
  1. $result = $db->prepare($sql)->execute();
  2.  
  3. $rows = $result->fetchAll(PDO::FETCH_ASSOC);


заменить на

PHP:
скопировать код в буфер обмена
  1. $stmt = $db->prepare($sql);
  2.  
  3. $result = $stmt->execute();
  4.  
  5. var_dump($result); // это убрать если вернет тру
  6.  
  7. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  8.  
  9. var_dump($rows);
  10.  
  11. var_dump($stmt->errorInfo());
  12.  


если отработает все ок то вардампы убрать из кода, если будет ошибка, то выхлоп сюда

Не отработал... мож как нить удаленно подключитесь? я покажу в phpmyadmin как мне нужно вытащить?
 
 Top
Panoptik
Отправлено: 18 Сентября, 2015 - 01:09:21
Post Id



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


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


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




почту проверь


-----
Just do it
 
 Top
disprokz
Отправлено: 18 Сентября, 2015 - 01:55:33
Post Id


Новичок


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


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




Panoptik пишет:
почту проверь

СПАСИБО ОГРОМНОЕ!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB