Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 1
Регистрация: 03.06.2014
Сообщений: 112

Как результаты поиска вывести в форме таблицы и этот документ вывести на печать?

13.06.2014, 16:46. Показов 1458. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть форма поиска
PHP/HTML
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
<div id=poisk>
                    
                    <form method="GET">
                        <input name="action" value="search" type="hidden">
                        Поиск<br>
                        <input name="search" type="text">
                        <br>
                        <br>
                        Категория:<br>
                            <select name="id_categories">
                                <option selected="selected" value="">Выберите категорию</option>
                                <optgroup label="НЕДВИЖИМОСТЬ">
                                    <option value="6">- 1-к квартиры</option>
                                    <option value="7">- 2-к квартиры</option>  
                                    <option value="8">- 3-к квартиры</option>
                                    <option value="9">- Дома</option>
                                    <option value="10">- Жакты</option>
                                    <option value="11">- Здания,офисы</option>
                                    <option value="12">- Земельные участки</option>
                                    <option value="29">- Хаты</option>
                                    <option value="13">- 1/2 дома</option>
                                    <option value="30">- Комнаты</option>
                                </optgroup>
                                <optgroup label="УСЛУГИ">
                                    <option value="14">- Строительство</option>
                                    <option value="15">- Отделка,ремонт</option>
                                    <option value="16">- Сад,огород</option>
                                    <option value="17">- Компьютеры,техника</option>
                                    <option value="18">- Красота,уход</option>
                                    <option value="19">- Другие</option>
 
                                                                    </optgroup>
                                <optgroup label="ИНТЕРЬЕР">
                                    <option value="20">- Дизайн</option>
                                    <option value="21">- Рукоделие</option>
                                    <option value="22">- Мебель</option>
                                    <option value="23">- Техника</option>
                                </optgroup>
                                <optgroup label="АВТО">
                                    <option value="24">- Легковые авто</option>
                                    <option value="25">- Грузовые авто</option>
                                    <option value="26">- Вело,мототранспорт</option>
                                    <option value="27">- Автозапчасти</option>
                                    <option value="28">- Гаражи</option>
                                </optgroup>
                            </select>
                            <br>
                            <br>
                        Тип объявления:<br>
                        <input name="id_razd" value="1" type="radio">Куплю                     
                        <input name="id_razd" value="2" type="radio">Продам                   
                                        
                        <br>
                        <input name="id_razd" value="4" type="radio">Аренда                   
                        <input name="id_razd" value="5" type="radio">Меняю                 
                        <br><br>
                        Диапазон цен:<br>
                        От <input name="p_min" class="p_search" type="text"> <br> До <input name="p_max" class="p_search" type="text">
                        <br><br>        
                        <input type="submit" id="but_log" name='reg' value='Поиск'>
    
                    </form>
                </div>
, как результаты поиска search.php
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
<?php
if($_GET){
    if($_GET['page']){
    $page = (int)$_GET['page'];
    if(!$page){
        $page = 1;
    }
}
else {
    $page = 1;
}
$count_mess = count_s_mess($_GET);
$text = get_search($_GET,$page,PERPAGE);
$navigation = get_navigation($page,$count_mess,PERPAGE);
 
$url = "";
foreach($_GET as $key => $value){
    if($key != 'page'){
        $url .= $key."=".$value."&";
    }
    
}
}
 
 
if(is_array($text)){
    $text = small_text($text);
}
else {
    if($text !== FALSE){
        $msg = $text;
    }
    else {
        $msg = "<script>alert(\"Ничего не найдено.\");</script>";
    }
}
 
$content = render(TEMPLATE."search.tpl",array(
                                       "text"=>$text,
                                       'navigation'=>$navigation,
                                       'msg'=>$msg,
                                       'url'=>$url
                                       ));
?>
, у меня вывод в файле search.tpl.php
PHP/HTML
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
<h3 class="title_page">Результаты поиска!</h3></h3>
        <? if($name_razd) :?>
        <strong>Раздел:<?=$name_razd;?></strong>
        
        <? endif;?>
        
                <? if($_SESSION['msg']) : ?>
                    <?=$_SESSION['msg'];?>
                    <? unset($_SESSION['msg']);?>
                <? endif;?> 
                
                <? if(is_array($text)):?>
                <? foreach($text as $item):?>
                <div class="t_mess">
                    <h4 class="title_p_mess"><a href="?action=view_mess&id=<?=$item['id']?>"><?=$item['title']?></a></h4>
                    
                    
                    
                    <p class="p_mess_cat">
                        <strong></strong><?=$item['cat']?>          |
                        <strong></strong> <?=$item['razd']?>                |
                        <strong>Город:</strong> <?=$item['town']?>     </p>
                
                    <p><img class="mini_mess" src=<?=SITE_NAME."/".MINI.$item['img'];?>>
                    <?=nl2br($item['text']);?></p>
                <p class="p_mess_cat">
                        <strong>Добавлено:</strong> <?=date("d.m.y",$item['date'])?>               |
                        <strong>Цена:</strong> <?=$item['price']?>          |
                        <strong>Автор</strong> <a href="mailto:<?=$item['email']?>"><?=$item['uname']?></a>
                        <strong>Телефон:</strong:> <?=$item['telefon']?>
            
                    </p>
            
          
            </div>
            
                <? endforeach;?>
    <? if($navigation) :?>
                <ul class="pager">
                    <? if($navigation['first']) :?>
                    <li class="first">
                    <a href="?<?=$url;?>page=1">Первая</a>
                                    </li>
                                <? endif; ?>
                                
                    <? if($navigation['last_page']) :?>
                    <li>
                    <a href="?<?=$url;?>page=<?=$navigation['last_page'];?>">&lt;</a>
                    </li>
                                <? endif; ?>
                                
                    <? if($navigation['previous']) :?>
                    <? foreach($navigation['previous'] as $val) :?>
                    <li>
                    <a href="?<?=$url;?>page=<?=$val;?>"><?=$val;?></a>
                    </li>
                                <? endforeach; ?>
                                <? endif; ?>
                            
                            <? if($navigation['current']) :?>
                                    <li>
                            <span><?=$navigation['current'];?></span>
                                    </li>
                                <? endif; ?>
                                
                            <? if($navigation['next']) :?>
                                    <? foreach($navigation['next'] as $v) :?>
                                        <li>
                                            <a href="?<?=$url;?>page=<?=$v;?>"><?=$v;?></a>
                                        </li>
                                    <? endforeach; ?>
                                <? endif; ?>
                            <? if($navigation['next_pages']) :?>
                                    <li>
                                        <a href="?<?=$url;?>page=<?=$navigation['next_pages']?>">&gt;</a>
                                    </li>
                                <? endif; ?>    
                                
                            <? if($navigation['end']) :?>
                                    <li class="last">
                                        <a href="?<?=$url;?>page=<?=$navigation['end']?>">Последняя</a>
                                    </li>
                                <? endif; ?>        
                                    
                            </ul>
                            <? endif;?>
                            <? else :?>
                            <p><?=$msg;?></p>       
                <? endif;?>
,
файл functions.php
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
function count_s_mess($get) {
        
        $search = clear_str($get['search']);
        $id_categories = (int)$get['id_categories'];
        $id_razd = (int)$get['id_razd'];
        $p_min = (int)$get['p_min'];
        $p_max = (int)$get['p_max'];
        
        if(!$search && !$id_categories && ! $id_razd && !$p_max && !$p_min) {
            return "<script>alert(\"Нет поискового запроса.\");</script>";
        }
        
        $sql = "SELECT COUNT(*) as count FROM ".PREF."post
                WHERE ".PREF."post.confirm = '1' AND ".PREF."post.is_actual = '1'
                ";
        if($search) {
            if(mb_strlen($search,'UTF-8') < 4) {
                return "<script>alert(\"Запрос должен быть не менее четырех символов.\");</script>";
            }
            
            $sql .= " AND MATCH(title,text,town) AGAINST('$search' IN BOOLEAN MODE)";
        }   
        
        if($id_categories) {
            $sql .= " AND id_categories = '$id_categories'";    
        }
        if($id_razd) {
            $sql .= " AND id_razd = '$id_razd'";    
        }
        if($p_min && !$p_max) {
            $sql .= " AND price > '$p_min'";    
        }
        if($p_max && !$p_min) {
            $sql .= " AND price < '$p_max'";    
        }
        
        if($p_min && $p_max) {
            $sql .= " AND price BETWEEN '$p_min' AND '$p_max'"; 
            
        }
        
        $result = mysql_query($sql);
        
        $row = get_result($result);
        
        return $row[0]['count'];
            
    }
    
    function get_search($get,$page,$perpage) {
        
        $search = clear_str($get['search']);
        $id_categories = (int)$get['id_categories'];
        $id_razd = (int)$get['id_razd'];
        $p_min = (int)$get['p_min'];
        $p_max = (int)$get['p_max'];
        
        if(!$search && !$id_categories && !$id_razd && !$p_max && !$p_min) {
            return "<script>alert(\"Нет поискового запроса.\");</script>";
        }
        
        $start = ($page-1)*$perpage;
        
        $sql = "SELECT 
                    ".PREF."post.id,
                    ".PREF."post.title,
                    img,
                    text,
                    telefon,
                    date,
                    town,
                    price,
                    ".PREF."post.confirm,
                    is_actual,
                    time_over,
                    ".PREF."users.name AS uname,
                    ".PREF."users.email,
                    ".PREF."categories.name AS cat,
                    ".PREF."razd.name AS razd
                FROM ".PREF."post
                LEFT JOIN ".PREF."users ON ".PREF."users.user_id = ".PREF."post.id_user
                LEFT JOIN ".PREF."categories ON ".PREF."categories.id = ".PREF."post.id_categories
                LEFT JOIN ".PREF."razd ON ".PREF."razd.id = ".PREF."post.id_razd
                WHERE ".PREF."post.confirm = '1' AND ".PREF."post.is_actual = '1'
                        ";
        if($search) {
            if(mb_strlen($search,'UTF-8') < 4) {
                return "<script>alert(\"Запрос должен быть не менее четырех символов.\");</script>";
            }
            
            $sql .= " AND MATCH(title,text,town) AGAINST('$search' IN BOOLEAN MODE)";
        }   
        
        if($id_categories) {
            $sql .= " AND id_categories = '$id_categories'";    
        }
        if($id_razd) {
            $sql .= " AND id_razd = '$id_razd'";    
        }
        if($p_min && !$p_max) {
            $sql .= " AND price > '$p_min'";    
        }
        if($p_max && !$p_min) {
            $sql .= " AND price < '$p_max'";    
        }
        
        if($p_min && $p_max) {
            $sql .= " AND price BETWEEN '$p_min' AND '$p_max'"; 
        }
        
        $sql .= " LIMIT $start,$perpage";
        
        $result = mysql_query($sql);
        
        $row = get_result($result);
        
        return $row;
    }
Все работает, но я незнаю, как результаты поиска вывести в форме таблицы и потом распечатать как документ. Помогите, кто знает?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.06.2014, 16:46
Ответы с готовыми решениями:

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

Вывести на печать введенные данные в форме таблицы их по видам спорта
Помогите изменить в задаче все cin, cout на другие функции ввода, вывода С клавиатуры ввести последовательностm записей, содержащих...

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

3
12 / 12 / 3
Регистрация: 17.03.2014
Сообщений: 75
13.06.2014, 18:11
Цитата Сообщение от iracwet Посмотреть сообщение
<?
Зачем вы каждый раз объявляете и закрываете php, если у вас там сплошное php. простите что не по теме, но прям аж глаза режет это.

Добавлено через 2 минуты
Ну вывод у вас в search.tpl.php, вставляйте там тэги <table> ну и т. д. или с этим проблема?
0
1 / 1 / 1
Регистрация: 03.06.2014
Сообщений: 112
13.06.2014, 18:22  [ТС]
Вывожу в search.tpl.php
PHP/HTML
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
<h3 class="title_page">Результаты поиска!</h3>
        <? if($name_razd) :?>
        <strong>Раздел:<?=$name_razd;?></strong>
        
        <? endif;?>
        
                <? if($_SESSION['msg']) : ?>
                    <?=$_SESSION['msg'];?>
                    <? unset($_SESSION['msg']);?>
                <? endif;?> 
                <? if(is_array($text)):?>
                <? foreach($text as $item):?>
                <p class="p_mess_cat">
                        <strong></strong><?=$item['cat']?>          |
                        <strong></strong> <?=$item['razd']?>                |
                        <strong>Город:</strong> <?=$item['town']?>     </p>
                        
             <table cellspacing="0" cellpadding="4" border="1" width="100%">
                
 <tr>
 <td width="10%" id="login">Логин:</td>
    <td width="10%" id="town"><strong>Город:</strong>  </td>
  <td id="text">Текст:</td>
  <td width="10%" id="telefon"><strong>Телефон:</strong></td>
  <td width="8%" id="date"><strong>дата:</strong>  </td>
  <td width="10%" id="price"><strong>Цена:</strong>      </td>
  <td width="10%" id="uname"><strong>Автор</strong>  </td>
   
            
 </tr>
 
 
   <tr>
    <td headers="login"><a href="?action=view_mess&id=<?=$item['id']?>"><?=$item['title']?></a></td>
    <td headers="town"><?=$item['town']?></td>
    <td headers="text"><?=nl2br($item['text']);?></td>
    <td headers="telefon"><?=$item['telefon']?></td>
    <td headers="date"><?=date("d.m.y",$item['date'])?></td>
    <td headers="price"><?=$item['price']?></td>
     <td headers="uname"><a href="mailto:<?=$item['email']?>"><?=$item['uname']?></a></td>
   </tr>
  </table>      
                    
                    
    
            
                <? endforeach;?>
    <? if($navigation) :?>
                <ul class="pager">
                    <? if($navigation['first']) :?>
                    <li class="first">
                    <a href="?<?=$url;?>page=1">Первая</a>
                                    </li>
                                <? endif; ?>
                                
                    <? if($navigation['last_page']) :?>
                    <li>
                    <a href="?<?=$url;?>page=<?=$navigation['last_page'];?>">&lt;</a>
                    </li>
                                <? endif; ?>
                                
                    <? if($navigation['previous']) :?>
                    <? foreach($navigation['previous'] as $val) :?>
                    <li>
                    <a href="?<?=$url;?>page=<?=$val;?>"><?=$val;?></a>
                    </li>
                                <? endforeach; ?>
                                <? endif; ?>
                            
                            <? if($navigation['current']) :?>
                                    <li>
                            <span><?=$navigation['current'];?></span>
                                    </li>
                                <? endif; ?>
                                
                            <? if($navigation['next']) :?>
                                    <? foreach($navigation['next'] as $v) :?>
                                        <li>
                                            <a href="?<?=$url;?>page=<?=$v;?>"><?=$v;?></a>
                                        </li>
                                    <? endforeach; ?>
                                <? endif; ?>
                            <? if($navigation['next_pages']) :?>
                                    <li>
                                        <a href="?<?=$url;?>page=<?=$navigation['next_pages']?>">&gt;</a>
                                    </li>
                                <? endif; ?>    
                                
                            <? if($navigation['end']) :?>
                                    <li class="last">
                                        <a href="?<?=$url;?>page=<?=$navigation['end']?>">Последняя</a>
                                    </li>
                                <? endif; ?>        
                                    
                            </ul>
                            <? endif;?>
                            <? else :?>
                            <p><?=$msg;?></p>       
                <? endif;?> 
    <form>
<input type="button" value="Печать" onclick="window.print();">
</form>
у меня получается на каждый результат - отдельная таблица, а как сделать, чтобы шапка была одна( имя, город, текст...), а все результаты в одной таблице?
0
12 / 12 / 3
Регистрация: 17.03.2014
Сообщений: 75
16.06.2014, 09:24
вынесите перед циклом foreach вашу шапку
HTML5
1
2
3
4
5
6
7
8
9
10
   <table cellspacing="0" cellpadding="4" border="1" width="100%">
                
 <tr>
 <td width="10%" id="login">Логин:</td>
    <td width="10%" id="town"><strong>Город:</strong>  </td>
  <td id="text">Текст:</td>
  <td width="10%" id="telefon"><strong>Телефон:</strong></td>
  <td width="8%" id="date"><strong>дата:</strong>  </td>
  <td width="10%" id="price"><strong>Цена:</strong>      </td>
  <td width="10%" id="uname"><strong>Автор</strong>  </td>
У вас эти строки в цикле и поэтому у вас каждый раз отдельная таблица
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2014, 09:24
Помогаю со студенческими работами здесь

Вывести результаты поиска
Всем привет! Сделал поиск по сайту, вопрос в том, как вывести результаты поиска в виде таблице? &lt;?php include...

Протабулировать функцию и вывести на печать результаты
Добрый День,дорогие форомучане. Помогите написать код ,пожалуйста. Протабулировать функцию и вывести на печать результаты при...

Как вывести данные с таблицы на печать в делфи?
Как вывести данные с таблицы на печать в делфи?

Нужно вывести определенный документ на печать в VB
Помогите пжлс, облазил всё, то ли я туп, но ничего толком не нашёл Нужен код, чтобы при нажатии кнопки в шаблон word документа заносилась...

Как вывести на печать данные из таблицы из lua-файла?
Создал &quot;t.lua&quot;. файл содержит: require(&quot;data&quot;); print(tostring(arr)) data.lua содержит: arr= ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru