Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 9
1

запутался с выводом PHP+MySQL

18.12.2012, 10:18. Показов 882. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется бд с двумя столбцами date(дата) и name(имя). Необходимо вывести данные за указанный период времени, в следующем формате:
name - кол-во повторений
Вывод 10 записей начиная с наиболее повторяемой. Никак не соображу, запутался с циклами где сравниваются строки. Прошу помощи.



PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$link = mysql_connect($host, $user, $pass) // Соединение с MySQL 
   or die ("Невозможно подключиться к MySQL"); 
   $a = mysql_select_db($dbname); // Выбор базы данных 
   $date1 = '2011-03-13';
   $date2 = '2011-03-14';
$result = mysql_query(" SELECT * FROM $table WHERE date BETWEEN '$date1' AND '$date2' ") or die (mysql_error());
$row = mysql_num_rows($result); //считаем кол-во строк
echo  "  Найдено записей ВСЕГО: ".$row." </br>";
//while ($res = mysql_fetch_array($result)) {
    for($i=0; $i<$row; $i++) {
    $res = mysql_fetch_array($result);
    $name[$i] = $res["name"];}
    
     $a = 1;
    for($r=0; $r<$row; $r++){
        for($z=1; $z<$row; $z++){
     $x = strcmp($name[$r], $name[$z]); }
     if( $x == 0)
     {$a = $a+1;}
    echo  "  Имя: ".$name[$r]." кол-во: ".$a." </br>"; 
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2012, 10:18
Ответы с готовыми решениями:

PHP-экспорт из Mysql в CSV с выводом значений по столбцам
Доброго всем времени суток. Делаю выборку из таблицы БД MYSQL на сервере. Файлом export.php (ниже...

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\localhost\www\php\mysql.php on line 16
Не могу подключиться к базе...устал все перепроверять переписывать и пересоздавать... Я недавно...

Как изучать mysql и php? Сначала php, а потом mysql или наоборот, или сразу?
Хочу изучить mysql и php. Как их изучать? Сначала php, а потом mysql или наоборот, или сразу и то и...

ошибка с выводом из mysql
всем привет. помогите пожалуйста пытаюсь вывести данные из бд. создала файл rate.php (лежит в...

4
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,803
18.12.2012, 11:31 2
всмысле имена повторяются ,а даты разные ?
0
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 9
18.12.2012, 11:53  [ТС] 3
Даты тоже повторяются, поэтому за определенный период и считается.Пример приведу, может понятней будет:
вот несколько записей из бд

date name
2011-03-13 Sergey
2011-03-13 Ivan
2011-03-13 Sergey
2011-03-14 Alex
2011-03-14 Alex
2011-03-14 Sergey
2011-03-15 Sergey

Задача: вывести 10 записей, начиная с самой повторяющейся и заканчивая записью с наименьшим количеством повторений, за определенный период(например с 2011-03-13 по 2011-03-14)
Форма вывода: name - количество повторений имени
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,803
18.12.2012, 12:03 4
данные в табличке
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
mysql> SELECT * FROM test;
+--------+---------------------+
| name   | DATE                |
+--------+---------------------+
| Sergey | 2011-03-13 00:00:00 |
| Sergey | 2011-03-13 00:00:00 |
| Sergey | 2011-03-13 00:00:00 |
| Sergey | 2011-03-13 00:00:00 |
| Ivan   | 2011-03-13 00:00:00 |
| Alex   | 2011-03-14 00:00:00 |
| Alex   | 2011-03-14 00:00:00 |
+--------+---------------------+
7 ROWS IN SET (0.00 sec)
групируем по числу записей
SQL
1
2
3
4
5
6
7
8
9
mysql> SELECT `name` ,`date` , COUNT(*) FROM `test` GROUP BY `name` , `date` ;
+--------+---------------------+----------+
| name   | DATE                | COUNT(*) |
+--------+---------------------+----------+
| Alex   | 2011-03-14 00:00:00 |        2 |
| Ivan   | 2011-03-13 00:00:00 |        1 |
| Sergey | 2011-03-13 00:00:00 |        4 |
+--------+---------------------+----------+
3 ROWS IN SET (0.01 sec)
сортируем по числу записей
SQL
1
2
3
4
5
6
7
8
9
mysql> SELECT `name` ,`date` , COUNT(*) AS `FieldCount` FROM `test` GROUP BY `name` , `date` ORDER BY COUNT(*) DESC;
+--------+---------------------+------------+
| name   | DATE                | FieldCount |
+--------+---------------------+------------+
| Sergey | 2011-03-13 00:00:00 |          4 |
| Alex   | 2011-03-14 00:00:00 |          2 |
| Ivan   | 2011-03-13 00:00:00 |          1 |
+--------+---------------------+------------+
3 ROWS IN SET (0.00 sec)
условие насчет даты и лимит сам допишешь
0
0 / 0 / 0
Регистрация: 28.04.2010
Сообщений: 9
18.12.2012, 13:00  [ТС] 5
crautcher, спасибо, попробую.
0
18.12.2012, 13:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2012, 13:00
Помогаю со студенческими работами здесь

Как подключить бд mysql с выводом
Не получается вывести таблицы из бд mysql на сайт через php скрипты? Помогите,пожалуйста!

Неувязка с выводом шрифта из MySQL на сайт
вот код &lt;? mysql_query(&quot;SET NAME UTF8&quot;); $db = mysql_connect (&quot;localhost&quot;,&quot;Tema&quot;,&quot;123&quot;);...

Поиск по строке в таблице MySQL с выводом строк в браузер
поиск по строке в таблице MySQL с выводом строк в браузер!:) что имею! index.php &lt;html&gt;...

Ошибка с выводом массива php
Подскажите, что надо исправить, чтоб вывести таблицу с бд?

Тест на PHP с выводом по очереди
База данных question таблица voprosu содержит строки: id , voprosu, id_prav_otveta, таблица otvetu...

Проблема с выводом числа в PHP
У меня проблема, для начала хочу задать задачу в php файле для добавление в моем случаи числа в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru