Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/40: Рейтинг темы: голосов - 40, средняя оценка - 4.83
 Аватар для Alkcatraz
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63

Вывод последних трех записей из БД

04.12.2013, 20:28. Показов 8630. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите вывести последние 3 записи из БД
Нужно что бы последние 3 записи из БД выводились в эти блоки



запрос пишу такой:
MySQL
1
Select title,matadesc,date From content ORDER BY 'id' DESC limit 3
PHP
1
2
3
$query="Select title,matadesc,date From content ORDER BY 'id' DESC limit 3";
$dbdata=mysql_query($query);
$pagedata=mysql_fetch_array($dbdata);
в самом документе с html пишу так:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
do
{
printf("
<div id='content2_block1'>
 
<table width='300'>
<tr>
<td>
 
%s
</td>
</tr>
 
<tr>
<td>
Место:
</td>
</tr>
 
<tr>
 
<td>
Дата заказа:%s
</td>
</tr>
 
<tr>
<td>
<a href='#'>Подробнее</a>
</td>
</tr>
 
</table>
</div>",$pagedata["title"],$pagedata["date"]);
}
while($pagedata)
?>
выводит всё так

и так вниз "далеко".Нужно так как на первом рис.
зарание большое спасибо за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.12.2013, 20:28
Ответы с готовыми решениями:

Вывод последних трёх изображений
Таким кодом выводятся все картинки из директории: &lt;?php $ext = array('jpg', 'jpeg', 'JPG', 'JPEG','png'); foreach...

Вывод последних записей
Приветствую! Столкнулся с такой проблемой: Хочу вывести последние записи на отдельную станицу шорткодом. Регистрирую шорткод, добавляю...

Вывод последних записей
SELECT * FROM im.1_4 ORDER BY id DESC LIMIT 10 данный код выводит последние 10 записей, у меня в таблице их 17, он вывод с 17 по 8,...

12
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
04.12.2013, 23:48
Цитата Сообщение от Alkcatraz Посмотреть сообщение
while($pagedata)
условие всегда истинно
используйте foreach вместо do-while или вместо mysql_fetch_array - mysql_fetch_row()
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
05.12.2013, 00:07
Alkcatraz, используйте обычный while и функцию получения строки результата запроса (можно и mysql_fetch_array()) в качестве выражения для цикла. Т.е. так:
PHP
1
2
3
4
5
6
7
8
9
<?php
//...
while ( $pagedata = mysql_fetch_assoc($dbdata) ) {//mysql_fetch_assoc() тоже подойдет, возможно, даже больше
 
//Тут Ваш printf
 
}
//...
?>
1
 Аватар для Alkcatraz
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.12.2013, 02:18  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
Alkcatraz, используйте обычный while и функцию получения строки результата запроса (можно и mysql_fetch_array()) в качестве выражения для цикла. Т.е. так:
спасибо сделал.
но выводит у меня не 3 записи а одну во все 3 блока.

вывожу из так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
while($pagedata = mysql_fetch_assoc($dbdata))
{
    printf("
<div id='content2_block1'>
 
    <table width='300'>
        <tr>
            <td>
            название:%s
            </td>
        </tr>
 
        <tr>
            <td>
            Место:
            </td>
        </tr>
 
        <tr>
 
            <td>
            Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
            <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>
 
 
<div id='content2_block2'>
    <table width='300'>
        <tr>
            <td>
            %s
            </td>
        </tr>
 
        <tr>
            <td>
                Место:
            </td>
        </tr>
 
        <tr>
 
            <td>
                Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
                <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>
 
<div id='content2_block2'>
    <table width='300'>
        <tr>
            <td>
                %s
            </td>
        </tr>
 
        <tr>
            <td>
                Место:
            </td>
        </tr>
 
        <tr>
            <td>
                Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
                <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>",$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"]);
}
?>
а так же написал

MySQL
1
mysql_query ("SET NAMES utf8");
но вместо названия выводит вопросительные знаки

Добавлено через 41 минуту
Цитата Сообщение от romchiksoad Посмотреть сообщение
Alkcatraz
кодировку сделал.
стал выводить каждый блок в отдельном цикле вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
while($pagedata = mysql_fetch_assoc($dbdata))
{
    printf("
<div id='content2_block1'>
 
    <table width='300'>
        <tr>
            <td>
 
            название:%s
            </td>
        </tr>
 
        <tr>
            <td>
            Место:
            </td>
        </tr>
 
        <tr>
 
            <td>
            Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
            <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>",$pagedata["title"],$pagedata["date"]);
}
 
 
while($pagedata = mysql_fetch_assoc($dbdata))
{
    printf("
<div id='content2_block2'>
 
    <table width='300'>
        <tr>
            <td>
 
            название:%s
            </td>
        </tr>
 
        <tr>
            <td>
            Место:
            </td>
        </tr>
 
        <tr>
 
            <td>
            Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
            <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>",$pagedata["title"],$pagedata["date"]);
}
 
 
while($pagedata = mysql_fetch_assoc($dbdata))
{
    printf("
<div id='content2_block3'>
 
    <table width='300'>
        <tr>
            <td>
 
            название:%s
            </td>
        </tr>
 
        <tr>
            <td>
            Место:
            </td>
        </tr>
 
        <tr>
 
            <td>
            Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
            <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>",$pagedata["title"],$pagedata["date"]);
}
?>
получается так как хотел, но не выводит последнюю запись
запрос пишу такой:
MySQL
1
$query="Select title,matadesc,date From content ORDER BY 'id' DESC limit 0, 3";
выводит первые 2 записи а последнию нет.
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
05.12.2013, 08:05
Alkcatraz, зачем три цикла? Достаточно одного. Почитайте вот это хотя бы: Работа с БД MySQL
0
 Аватар для Alkcatraz
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.12.2013, 12:13  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
Alkcatraz, зачем три цикла? Достаточно одного. Почитайте вот это хотя бы: Работа с БД MySQL
когда вывожу одним цыклом то получается так:


но опять же выводит только первые 2 записи а последнюю нет

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
 
while($pagedata = mysql_fetch_assoc($dbdata))
{
    printf("
<div id='content2_block1'>
 
    <table width='300'>
        <tr>
            <td>
 
            название:%s
            </td>
        </tr>
 
        <tr>
            <td>
            Место:
            </td>
        </tr>
 
        <tr>
 
            <td>
            Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
            <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>
 
 
<div id='content2_block2'>
    <table width='300'>
        <tr>
            <td>
            %s
            </td>
        </tr>
 
        <tr>
            <td>
                Место:
            </td>
        </tr>
 
        <tr>
 
            <td>
                Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
                <a href='#'>Подробнее</a>
            </td>
        </tr>
 
    </table>
</div>
 
<div id='content2_block2'>
    <table width='300'>
        <tr>
            <td>
                %s
            </td>
        </tr>
 
        <tr>
            <td>
                Место:
            </td>
        </tr>
 
        <tr>
            <td>
                Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
                <a href='#'>Подробнее</a>
            </td>
        </tr>
 
</table>
</div>",$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"]);
}
 
?>
0
 Аватар для Alkcatraz
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.12.2013, 12:21  [ТС]
Цитата Сообщение от Alkcatraz Посмотреть сообщение
когда вывожу одним цыклом то получается так:
Вложение 337428

но опять же выводит только первые 2 записи а последнюю нет
ой-ёй-ёй ерунду пишу
сделал одним циклом но всё равно ваводит только 2 первые записи а последнюю 3-ю нет.
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
05.12.2013, 12:29
Alkcatraz, что у Вас сейчас в printf?
0
 Аватар для Alkcatraz
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.12.2013, 12:47  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
Alkcatraz, что у Вас сейчас в printf?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
 
while($pagedata = mysql_fetch_assoc($dbdata))
{
    printf("
<div id='content2_block2'>
    <table width='300'>
        <tr>
            <td>
                %s
            </td>
        </tr>
 
        <tr>
            <td>
                Место:
            </td>
        </tr>
 
        <tr>
            <td>
                Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
                <a href='#'>Подробнее</a>
            </td>
        </tr>
 
</table>
</div>",$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"]);
}
 
?>
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
05.12.2013, 12:51
Цитата Сообщение от Alkcatraz Посмотреть сообщение
,$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"]
Это лишнее, оно там не нужно и никак не используется (последние две пары title-date), т.е. должно быть только одно $pagedata["title"],$pagedata["date"]. Остальное все правильно, на первый взгляд. Может проблема в другом месте, как весь код сейчас выглядит?
0
 Аватар для Alkcatraz
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.12.2013, 12:55  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
Это лишнее, оно там не нужно и никак не используется (последние две пары title-date), т.е. должно быть только одно $pagedata["title"],$pagedata["date"]. Остальное все правильно, на первый взгляд. Может проблема в другом месте, как весь код сейчас выглядит?
файл в котром я всё вывожу
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    
<div id="content2">
<h2>Новые заказы</h2>
<br/>
 
<?php
 
while($pagedata = mysql_fetch_assoc($dbdata))
{
    printf("
<div id='content2_block2'>
    <table width='300'>
        <tr>
            <td>
                %s
            </td>
        </tr>
 
        <tr>
            <td>
                Место:
            </td>
        </tr>
 
        <tr>
            <td>
                Дата заказа:%s
            </td>
        </tr>
 
        <tr>
            <td>
                <a href='#'>Подробнее</a>
            </td>
        </tr>
 
</table>
</div>",$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"],$pagedata["title"],$pagedata["date"]);
}
 
?>
</div>
файл в котором подключаюсь к БД

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$dblacation="localhost";
$dbname="baza";
$dbuser="root";
$dbpassword="";
 
 
$dbconnect = mysql_connect($dblocation,$dbuser,$dbpassword);
 
mysql_select_db ($dbname,$dbconnect);
echo "Это текст тут";
if(!$dbconnect)
{
echo("<p>невозможно установить подключение к базе данных.Обратитесь к администратору сайта</p>");
exit(mysql_error());
}
else 
{
    echo "Работает";
}
 
        mysql_query ("SET NAMES utf8");
        $query="Select title,metadesc,date From content ORDER BY 'id' DESC limit 0, 3";
        $dbdata=mysql_query($query);
        $pagedata=mysql_fetch_assoc($dbdata);   
    
    
?>
0
 Аватар для romchiksoad
1957 / 796 / 89
Регистрация: 03.11.2009
Сообщений: 3,066
Записей в блоге: 2
05.12.2013, 12:59
Alkcatraz, зачем Вы в 26 строке написали это:
Цитата Сообщение от Alkcatraz Посмотреть сообщение
$pagedata=mysql_fetch_assoc($dbdata);
Оно там не нужно, все делается в цикле, удалите эту строку.
1
 Аватар для Alkcatraz
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 63
05.12.2013, 13:03  [ТС]
Цитата Сообщение от romchiksoad Посмотреть сообщение
Alkcatraz, зачем Вы в 26 строке написали это:

Оно там не нужно, все делается в цикле, удалите эту строку.
Всё получилось))Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2013, 13:03
Помогаю со студенческими работами здесь

Вывод последних записей
Доброе время суток! Не могу понять, как вывести последние 15 записей но в обратном порядке? (т.е самая последняя запись должна идти...

Вывод из БД последних записей пользователя
Доброго времени суток! Подскажите, как можно вывести из БД MSQL последние 10 записей определенного пользователя. У меня по запросу...

Вывод в отчете ПОСЛЕДНИХ записей
Доброго времени суток! Прошу помощи в решении следующего вопроса: Имеется таблица со столбцами ДАТА, ТИП ОБОРУДОВАНИЯ, НОМЕР...

Вывод последних одинаковых записей
id s a i 1 Петров Петя 20A 2 Иванов Ваня 21A 3 Сидоров Саша 19A 4 Пупкин ...

Вывод последних записей по этому коду
$achievement = mysql_fetch_assoc(mysql_query(&quot;SELECT * FROM $server_cdb.character_achievement WHERE guid = '&quot;.$guid.&quot;' ORDER BY date DESC...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru