За последние 24 часа нас посетили 16562 программиста и 1679 роботов. Сейчас ищут 799 программистов ...

Проблема с выводом данных

Тема в разделе "PHP для новичков", создана пользователем Serghter, 10 окт 2014.

  1. Serghter

    Serghter Новичок

    С нами с:
    7 сен 2013
    Сообщения:
    42
    Симпатии:
    0
    Здравствуйте,подскажите пожалуйста как правильно написать запрос с объединением двух таблиц?
    Например есть такая таблица.

    Нужно, чтобы например получилось так при выводе:

    Код (Text):
    1.  
    2. <?php  
    3.  
    4. // данные доступа к базе данных
    5. //...............................................
    6.  
    7.  //Соединяемся с базой данных.
    8.  $link = mysql_connect($mysql_host, $mysql_user, $mysql_password)
    9.  mysql_select_db($my_database) or die("Could not select database");  
    10.  
    11. $query="SELECT p.id_fio, GROUP_CONCAT(p.Plata SEPARATOR ' , ') as o
    12.                                             FROM plats p
    13.                                            GROUP BY p.id_fio
    14.                                            UNION
    15.                                            SELECT fio.id_fio, plats.Plata, fio.FIO
    16.                                            FROM plats
    17.                                            INNER JOIN fio ON plats.id_fio = fio.id_fio";
    18. $result = mysql_query($query);
    19.  
    20.  
    21. while ($reslevel = mysql_fetch_array($result, MYSQL_ASSOC)) {
    22.     echo '<pre>'; echo $reslevel['id_fio']."   ".$reslevel['FIO']."   ".$reslevel['o']; echo '</pre>';
    23. }
    24.    
    25. mysql_close($link);
    26. ?>
    28 строка начинается с:

     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    во-первых вы не показали вторую таблицу а просите помощи с объединением таблиц
    во-вторых судя по примеру вы пытаетесь сгруппировать значения ячеек и вдогонку еще и сгруппировать запросы. это так бы не таблицы объединяем.
    в-третьих фетч-эррей сказал вам что передан не ресурс а булен значит не выполнился запрос (квейри)
    вам нужно понять почему не выполнен запрос. для этого вполне есть mysql_error(). нужно просто научиться отлаживать свои приложения.
    в-четвертых вы используете устаревшее расширение mysql вместо современного mysqli
    в-пятых вы используете fetch_arrray с указанием _assoc - почему сразу не использовать fetch_assoc?

    ну и наконец в-шестых - вы пытаетесь объединить запросы с разными полями что запрещено и что скорее всего и вызывает ошибку.