Вывести список юзеров зарегистрированных в таблице `cw_users` и перед ними было бы КОЛИЧЕСТВО (число

Тема в разделе "Как сделать...", создана пользователем karen12, 14 сен 2014.

  1. karen12

    karen12 Постоялец

    Регистр.:
    26 фев 2012
    Сообщения:
    73
    Симпатии:
    1
    Имеются 2 таблицы
    PHP:

    CREATE TABLE 
    IF NOT EXISTS `cw_users` (
      `
    useridint(25NOT NULL AUTO_INCREMENT,
      `
    first_namevarchar(25CHARACTER SET utf8 NOT NULL DEFAULT '',
      `
    last_namevarchar(25CHARACTER SET utf8 NOT NULL DEFAULT '',
      `
    email_addressvarchar(50CHARACTER SET utf8 NOT NULL DEFAULT '',
      `
    usernamevarchar(25CHARACTER SET utf8 NOT NULL DEFAULT '',
      `
    passwordvarchar(255CHARACTER SET utf8 NOT NULL DEFAULT '',
      `
    infovarchar(50CHARACTER SET utf8 NOT NULL,
      `
    last_loggedinvarchar(100CHARACTER SET utf8 NOT NULL DEFAULT 'never',
      `
    user_levelenum('1','2','3','4','5'CHARACTER SET utf8 NOT NULL DEFAULT '1',
      `
    forgotvarchar(100CHARACTER SET utf8 DEFAULT NULL,
      `
    statusenum('live','suspended','pending'CHARACTER SET utf8 NOT NULL DEFAULT 'live',
      
    PRIMARY KEY (`userid`)
    )



    PHP:
    CREATE TABLE IF NOT EXISTS `reception` (
      `
    idint(11NOT NULL AUTO_INCREMENT,
      `
    patient_useridint(11NOT NULL,
      `
    doctor_nametext NOT NULL,
      `
    fill_datedate NOT NULL,
      `
    send_placetext NOT NULL,
      `
    carttext NOT NULL,
      `
    date_re_out_selecttext NOT NULL,
      `
    date_intext NOT NULL,
      `
    recomendedtext NOT NULL,
      `
    director_typetext NOT NULL,
      `
    director_nametext NOT NULL,
      `
    datetext NOT NULL,
      
    PRIMARY KEY (`id`)
    )

    таблица `reception` связана с таблицей `cw_users` соотвественно по `patient_userid` и `userid`.
    Юзер, зарегистрировавшийся в таблице cw_users может добавлять материалы в таблицу `reception`,
    Задача создать запрос, чтобы вывелся список юзеров зарегистрированных в таблице `cw_users` и перед ними было бы КОЛИЧЕСТВО (число) материалов, которые они добавили в таблицу `reсeption`. Ни как не могу сформировать запрос, помогите пожалуйста конкретным примером.
     
  2. Demian12

    Demian12 Создатель

    Регистр.:
    13 авг 2014
    Сообщения:
    12
    Симпатии:
    9
    Код:
    SELECT first_name,last_name,
    (SELECT count(*) FROM reception WHERE patient_userid=userid) FROM cw_users
     
  3. karen12

    karen12 Постоялец

    Регистр.:
    26 фев 2012
    Сообщения:
    73
    Симпатии:
    1
    как ввести имена юзеров я понел, а как вывести количество записей для каждого узера?
     
  4. Demian12

    Demian12 Создатель

    Регистр.:
    13 авг 2014
    Сообщения:
    12
    Симпатии:
    9
    Там же есть: (SELECT count(*) FROM reception WHERE patient_userid=userid) - это и есть количество записей в reception с данным userid
     
  5. karen12

    karen12 Постоялец

    Регистр.:
    26 фев 2012
    Сообщения:
    73
    Симпатии:
    1
    сделал вот так
    PHP:
    <?
    include 
    'config.php';

    ?>
    <html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title></title>

    <link href="include/css/style.css" rel="stylesheet" type="text/css">
       <link  href="include/css/icon-butt.css" rel="stylesheet">

       </head>

    <body>
    <table  class="zebra">
           <tr>
             <th>Имя</th>
             <th width="20%">Записи</th>
             
           </tr>
           
           
    <?

    $query = "SELECT first_name,last_name,
    (SELECT count(*) FROM reception WHERE patient_userid=userid) FROM cw_users";

    $result = mysql_query($query);
    while($row = mysql_fetch_array($result))
    {

    echo"
    <tr>
    <td>
    $row[first_name]
     </td>
    <td>
    тут должен быть каличество

    ";
    }

    echo"
         </table>   

       ";




    ?>
     </body>
    </html>

    как поставить число?
     
  6. Demian12

    Demian12 Создатель

    Регистр.:
    13 авг 2014
    Сообщения:
    12
    Симпатии:
    9
    Обращайтесь к столбцу результата по номеру.
     
  7. karen12

    karen12 Постоялец

    Регистр.:
    26 фев 2012
    Сообщения:
    73
    Симпатии:
    1
    прошу ,если не трудно напишите на этом примере?
     
  8. Demian12

    Demian12 Создатель

    Регистр.:
    13 авг 2014
    Сообщения:
    12
    Симпатии:
    9
    $row[2]
     
  9. Girt

    Girt Постоялец

    Регистр.:
    11 фев 2012
    Сообщения:
    87
    Симпатии:
    62
    Вариант без подзапроса (GROUP BY)
    Код:
    SELECT `first_name`, `last_name`, count(`patient_userid`) AS number 
    FROM `cw_users`, `reception`
    WHERE `patient_userid` = `userid`
    GROUP BY `userid`
    
    В этом случае можно обращаться по имени, которое мы дали - number
    $row[number]
     
  10. karen12

    karen12 Постоялец

    Регистр.:
    26 фев 2012
    Сообщения:
    73
    Симпатии:
    1
    Мне нужно чтобы вывелис и имена юзеров и перед ними стояли количество постов