С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Vlastelin2707
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 5
1

Вывести последние 30 объявлений в несколько рядов

04.01.2015, 08:15. Просмотров 945. Ответов 8
Метки нет (Все метки)

У меня на сайте http://www.zanatok.ru/board/page/list есть вывод пять последних объявлений, я создал отдельный модуль и в нем хочу отредактировать php код вывода 5 последних объявлений так чтоб выводилось не пять, а например 30, но у меня выводит в одну строку, а я хочу в несколько рядов. Подскажите как отредактировать код чтоб это воплотить.
Вот сам код.

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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<?php
/**
 * recent5.php
 *
 * Displays the recent 5 photo ads
 *
 *
 * @package com_marketplace
 * @subpackage frontend
 *
 * @copyright 2005-2008 Codingfish Limited
 * @author Achim Fischer
 *
 * This file is part of Codingfish Marketplace.
 *
 * Marketplace is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * Marketplace is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Marketplace; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
?>
 
<link rel="stylesheet" href="components/com_marketplace/marketplace.css" type="text/css" />
 
 
<?php
    global $database;
 
    $Itemid       = intval( mosGetParam( $_REQUEST, 'Itemid', '0' ) );
 
 
    // recent5 can act as a plugin for other extensions so include the language here, too
    if(file_exists($mainframe->getCfg('absolute_path').'/components/com_marketplace/language/'.$mainframe->getCfg('lang').'.php')) {
        require_once($mainframe->getCfg('absolute_path').'/components/com_marketplace/language/'.$mainframe->getCfg('lang').'.php');
    }
    else {
        require_once($mainframe->getCfg('absolute_path').'/components/com_marketplace/language/english.php');
    }
 
 
 
    $database->setQuery("SELECT a.id, a.category, a.ad_headline, a.ad_condition, date_lastmodified, b.name"
            . "\n FROM #__marketplace_ads AS a, "
            . "\n #__marketplace_categories AS b WHERE b.published='1' AND a.published='1' AND a.category = b.id AND a.ad_image > '0'"
            . "\n ORDER BY a.date_lastmodified DESC "
            . "\n LIMIT 5 ");
 
    $meslist = $database->loadObjectList();
 
    echo "<table class='jooRecent5' cellspacing='1'>";
 
      echo "<tr><th width='100%' colspan='5'>".JOO_RECENT5."</th></tr>";
 
      echo "<tr>";
 
        foreach ($meslist as $mes){
 
          echo "<td width='20%' valign='top' >";
 
          echo "<center>";
/*        echo "<table width='100' height='75' border='0'>";
            echo "<tr>";
              echo "<td width='100' height='75' align='center'>";
*/              echo '<div class="createdate" style="text-align:center;">'.JHTML::_('date',  $mes->date_lastmodified, JText::_('DATE_FORMAT_LC1'))."</div>"; 
                echo '<div class="img_block">';
                echo "<a href=".sefRelToAbs( "index.php?option=com_marketplace&amp;page=show_ad&amp;catid=$mes->category&amp;adid=$mes->id&amp;Itemid=$Itemid").">";
 
                    $a_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg";
                    $a_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.png";
                    $a_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.gif";
 
                    $b_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.jpg";
                    $b_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.png";
                    $b_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.gif";
 
                    $c_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.jpg";
                    $c_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.png";
                    $c_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.gif";
 
 
                    $boolPicFound = 0;
                    if ( file_exists( $a_pic_jpg)) {
                        echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg"."' align='center' border='0'>";
                        $boolPicFound = 1;
                    } else {
                        if ( file_exists( $a_pic_png)) {
                            echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.png"."' align='center' border='0'>";
                            $boolPicFound = 1;
                        } else {
                            if ( file_exists( $a_pic_gif)) {
                                echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.gif"."' align='center' border='0'>";
                                $boolPicFound = 1;
                            }
                        }
                    }
 
 
                    if ( $boolPicFound == 0) {
                        if ( file_exists( $b_pic_jpg)) {
                            echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."b_t.jpg"."' border='0'>";
                            $boolPicFound = 1;
                        } else {
                            if ( file_exists( $b_pic_png)) {
                                echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."b_t.png"."' border='0'>";
                                $boolPicFound = 1;
                            } else {
                                if ( file_exists( $b_pic_gif)) {
                                    echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."b_t.gif"."' border='0'>";
                                    $boolPicFound = 1;
                                }
                            }
                        }
                    }
 
 
                    if ( $boolPicFound == 0) {
                        if ( file_exists( $c_pic_jpg)) {
                            echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."c_t.jpg"."' border='0'>";
                        } else {
                            if ( file_exists( $c_pic_png)) {
                                echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."c_t.png"."' border='0'>";
                            } else {
                                if ( file_exists( $c_pic_gif)) {
                                    echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."c_t.gif"."' border='0'>";
                                }
                            }
                        }
                    }
 
                echo "</a>";
 
/*            echo "</td>";
            echo "</tr>";
          echo "</table>";
*/      echo "</div>";
        echo "<a href=".sefRelToAbs( "index.php?option=com_marketplace&amp;page=show_ad&amp;catid=$mes->category&amp;adid=$mes->id&amp;Itemid=$Itemid").">";
/*
          if ( strlen($mes->ad_headline)>30){
            echo substr( $mes->ad_headline, 0, 27)."...";
          } else {
            echo $mes->ad_headline;
          }
*/
        echo stripslashes($mes->ad_headline)."</a><br />".$mes->name;
        }
          echo "</center>";
 
          echo "</td>";
 
        echo "</tr>";
      echo "</table>";
 
?>
Добавлено через 12 часов 55 минут
Говорят можно вот так, просто ставьте счетчик когда надо делать переход на вторую строчку, это вообще даже CSS можно сделать.
Кто знает подскажите как это настроить???
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 08:15
Ответы с готовыми решениями:

СИСТЕМЫ ПУБЛИКАЦИИ ОБЪЯВЛЕНИЙ или доска объявлений
помоги те разобратся с СИСТЕМЫ ПУБЛИКАЦИИ ОБЪЯВЛЕНИЙ, кто может объяснить...

Вывести последние 5 сообщений
Здравствуйте друзья! Возникла проблема, которую никак не могу решить. Есть...

Как вывести последние n записей из бд??
Исрользуется POSTGRESQL. КАК вывести последние n записей, не тормоша и читая...

json_decode - нужно вывести последние данные из [test][test1]
Есть массив вида =&gt; Array ( =&gt; Array ...

Как вывести отзывы в несколько рядов
Есть сайт со стандартными отзывами WP, и сейчас там простая последовательность...

8
h_oneshot_game
0 / 0 / 1
Регистрация: 03.01.2015
Сообщений: 7
04.01.2015, 08:38 2
PHP
1
2
3
4
5
$database->setQuery("SELECT a.id, a.category, a.ad_headline, a.ad_condition, date_lastmodified, b.name"
            . "\n FROM #__marketplace_ads AS a, "
            . "\n #__marketplace_categories AS b WHERE b.published='1' AND a.published='1' AND a.category = b.id AND a.ad_image > '0'"
            . "\n ORDER BY a.date_lastmodified DESC "
            . "\n LIMIT 5 ");
количество можно изменить LIMIT 5 на LIMIT 20
0
Vlastelin2707
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 5
04.01.2015, 11:55  [ТС] 3
Да можно но выводит в одну строку а я хочу чтоб в одну строку выводилось не более 5 шт

Добавлено через 3 минуты
Да так можно, но выводит в одну строку , а мне надо разбивать на строки по 5 в каждой

Добавлено через 4 минуты
Да так можно, но выводит в одну строку , а мне надо разбивать на строки по 5 в каждой

Добавлено через 2 часа 43 минуты
h_oneshot_game, Подскажите если знаете как
0
Saneock
16 / 12 / 13
Регистрация: 05.01.2015
Сообщений: 66
05.01.2015, 13:47 4
Создайте счётчик для цикла, к примеру $n
Далее, в нужном месте вставьте код:
PHPHTML
1
2
3
4
5
<?php
if($n % 5){
     echo "<br>";
}
?>
Небольшой пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$arr = explode(",", "1,2,3,4,5,6,7,8,9,10");
$n = 0;
foreach($arr as $value){
    if($n % 2){
        echo $value.",";
    }
    $n++;
}
 
// Выведет 2,4,6,8,10,
?>
0
pav1uxa
1858 / 1712 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
05.01.2015, 14:33 5
Цитата Сообщение от Saneock Посмотреть сообщение
$arr = explode(",", "1,2,3,4,5,6,7,8,9,10");
Это что такое))) Зачем создавать строку, чтобы разбить ее функцией на массив, если можно сразу создать массив?) :
PHP
1
2
3
$arr = array(1,2,3,4,5,6,7,8,9,10);
// или еще проще так
$arr = [1,2,3,4,5,6,7,8,9,10];
0
Vlastelin2707
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 5
05.01.2015, 14:39  [ТС] 6
А можно это показать на моем примере в частности.
а то я вроде понимаю а вроде нет куда конкретно вставить этот код, помогите а то я не соображу
0
Saneock
16 / 12 / 13
Регистрация: 05.01.2015
Сообщений: 66
05.01.2015, 15:35 7
Лучший ответ Сообщение было отмечено Vlastelin2707 как решение

Решение

точно )
ну не подумал )

Добавлено через 1 минуту
Попробуйте так

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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
    global $database;
 
    $Itemid       = intval( mosGetParam( $_REQUEST, 'Itemid', '0' ) );
 
 
    // recent5 can act as a plugin for other extensions so include the language here, too
    if(file_exists($mainframe->getCfg('absolute_path').'/components/com_marketplace/language/'.$mainframe->getCfg('lang').'.php')) {
        require_once($mainframe->getCfg('absolute_path').'/components/com_marketplace/language/'.$mainframe->getCfg('lang').'.php');
    }
    else {
        require_once($mainframe->getCfg('absolute_path').'/components/com_marketplace/language/english.php');
    }
 
 
 
    $database->setQuery("SELECT a.id, a.category, a.ad_headline, a.ad_condition, date_lastmodified, b.name"
            . "\n FROM #__marketplace_ads AS a, "
            . "\n #__marketplace_categories AS b WHERE b.published='1' AND a.published='1' AND a.category = b.id AND a.ad_image > '0'"
            . "\n ORDER BY a.date_lastmodified DESC "
            . "\n LIMIT 30 ");
 
    $meslist = $database->loadObjectList();
 
    echo "<table class='jooRecent5' cellspacing='1'>";
 
      echo "<tr><th width='100%' colspan='5'>".JOO_RECENT5."</th></tr>";
 
        $n = 0;
 
        foreach ($meslist as $mes){
 
        if($n % 5 == 0 or $n == 0){ echo "<tr>"; }
 
          echo "<td width='20%' valign='top' >";
 
          echo "<center>";
/*        echo "<table width='100' height='75' border='0'>";
            echo "<tr>";
              echo "<td width='100' height='75' align='center'>";
*/              echo '<div class="createdate" style="text-align:center;">'.JHTML::_('date',  $mes->date_lastmodified, JText::_('DATE_FORMAT_LC1'))."</div>"; 
                echo '<div class="img_block">';
                echo "<a href=".sefRelToAbs( "index.php?option=com_marketplace&amp;page=show_ad&amp;catid=$mes->category&amp;adid=$mes->id&amp;Itemid=$Itemid").">";
 
                    $a_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg";
                    $a_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.png";
                    $a_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."a_t.gif";
 
                    $b_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.jpg";
                    $b_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.png";
                    $b_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."b_t.gif";
 
                    $c_pic_jpg = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.jpg";
                    $c_pic_png = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.png";
                    $c_pic_gif = $mosConfig_absolute_path."/components/com_marketplace/images/entries/".$mes->id."c_t.gif";
 
 
                    $boolPicFound = 0;
                    if ( file_exists( $a_pic_jpg)) {
                        echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.jpg"."' align='center' border='0'>";
                        $boolPicFound = 1;
                    } else {
                        if ( file_exists( $a_pic_png)) {
                            echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.png"."' align='center' border='0'>";
                            $boolPicFound = 1;
                        } else {
                            if ( file_exists( $a_pic_gif)) {
                                echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."a_t.gif"."' align='center' border='0'>";
                                $boolPicFound = 1;
                            }
                        }
                    }
 
 
                    if ( $boolPicFound == 0) {
                        if ( file_exists( $b_pic_jpg)) {
                            echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."b_t.jpg"."' border='0'>";
                            $boolPicFound = 1;
                        } else {
                            if ( file_exists( $b_pic_png)) {
                                echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."b_t.png"."' border='0'>";
                                $boolPicFound = 1;
                            } else {
                                if ( file_exists( $b_pic_gif)) {
                                    echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."b_t.gif"."' border='0'>";
                                    $boolPicFound = 1;
                                }
                            }
                        }
                    }
 
 
                    if ( $boolPicFound == 0) {
                        if ( file_exists( $c_pic_jpg)) {
                            echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."c_t.jpg"."' border='0'>";
                        } else {
                            if ( file_exists( $c_pic_png)) {
                                echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."c_t.png"."' border='0'>";
                            } else {
                                if ( file_exists( $c_pic_gif)) {
                                    echo "<img src='".$mosConfig_live_site."/components/com_marketplace/images/entries/".$mes->id."c_t.gif"."' border='0'>";
                                }
                            }
                        }
                    }
 
                echo "</a>";
 
/*            echo "</td>";
            echo "</tr>";
          echo "</table>";
*/      echo "</div>";
        echo "<a href=".sefRelToAbs( "index.php?option=com_marketplace&amp;page=show_ad&amp;catid=$mes->category&amp;adid=$mes->id&amp;Itemid=$Itemid").">";
/*
          if ( strlen($mes->ad_headline)>30){
            echo substr( $mes->ad_headline, 0, 27)."...";
          } else {
            echo $mes->ad_headline;
          }
*/
            echo stripslashes($mes->ad_headline)."</a><br />".$mes->name;
            
            $n++;
            
            echo "</center>";
 
            echo "</td>";
            
            if($n % 5 == 0){
                echo "</tr>";
            }
        }
 
      echo "</table>";
 
?>
0
Vlastelin2707
0 / 0 / 0
Регистрация: 03.01.2015
Сообщений: 5
05.01.2015, 15:44  [ТС] 8
Спасибо!
Все то что я и хотел!
0
Saneock
16 / 12 / 13
Регистрация: 05.01.2015
Сообщений: 66
05.01.2015, 15:48 9
Не за что )
0
05.01.2015, 15:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2015, 15:48

Получить кол-во рядов и несколько рядов
select * from table limit 5 offset 3; select COUNT(*) from table; Как-то...

Найти номера максимального и минимального значения последовательности. Если их несколько, вывести последние
Даны натуральные числа n и целые числа а1,а2,......аn. Найти номер...

Нужна программа, которая печатает последние n рядов которые вводятся.
Нужна програма которая печатает носледние n рядов которые вводяться.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru