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.SU

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


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

> Без описания
alexstassov
Отправлено: 04 Июля, 2017 - 13:56:40
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2017  


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




Дорогие друзья, Есть таблица tbl_uploads где хранятся пути к изображениям (рентгенам). Есть таблица priem где хранится записи приёма пациента. Надо сделать так если есть в таблице tbl_uploads снимок рентгена которая относится к данному приёму то вывести ссылку. А если нет то просто текст что нет рентгена. Делаю так сначала пихаю в массив поле sessid (поле где хранится номер приёма) из таблицы tbl_uploads
PHP:
скопировать код в буфер обмена
  1. $rentresult =  mysqli_query($con, "SELECT sessid FROM tbl_uploads WHERE card_id= $id ;" );
  2. $rent = array();
  3. while( $rowr = mysqli_fetch_assoc($rentresult ) ) {
  4. $rent[] = $rowr['sessid'] ;

PHP:
скопировать код в буфер обмена
  1. Потом вторым запросом когда вытаскиваю все записи из таблицы priem проверяю есть ли номер сессии в массиве $rent[] и если нет то текст нет рентгена а если есть то ссылка

PHP:
скопировать код в буфер обмена
  1. $result2 = mysqli_query($con,"SELECT * FROM priem WHERE card_id=$id")  or
  2. die("<p>Не удается выбрать запись из базы данных</p>". mysqli_error($con));
  3. ?><?PHP    while($row2 = mysqli_fetch_assoc($result2 )) {
  4.  $has_xray='Нет рентгена'; if (in_array($row2['sessid'] , $rent))  { $has_xray='Есть
  5. рентген'; }


И наконецто таким образом вывожу на экран
PHP:
скопировать код в буфер обмена
  1. <td>  
  2. <?PHP echo $has_xray ; ?>
  3. </td>


Вся беда в том что даже когда в таблице есть рентген он всё равно показывает что нет рентгена. Где я допускаю ошибку ?

PS var_dump($rent); показывает что есть значение

(Отредактировано автором: 04 Июля, 2017 - 13:58:37)

 
 Top
arbuzmaster
Отправлено: 04 Июля, 2017 - 14:32:58
Post Id


Новичок


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


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




Может быть сделать все одним запросом, примерно такого вида?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `tbl_uploads`.`img_url` FROM `tbl_uploads`,`priem` WHERE `tbl_uploads`.`card_id`= '$id' AND `priem`.`sessid`='$sessid'
'
Поправите как Вам нужно, просто немного не понял структуру таблиц. То есть сразу одним запросом проверяете по двум таблицам, есть ли у данного пациента рентгеновский снимок.

(Отредактировано автором: 04 Июля, 2017 - 14:42:38)

 
 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