Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Работа с базой данных


Автор: Rangosik 21.5.2013, 14:04
Ребята ,друзья, земляки, подскажите пожалуйста,как реализовать следующее:
ИЗНАЧАЛЬНО на страницу result.php выведены ВСЕ записи из БД.Так же на данной странице представлена форма выбора критериев поиска и кнопка поиска по БД.После того как пользователь выбрал критерии поиска и нажал кнопку поиск НА ТОЖЕ МЕСТО,ГДЕ БЫЛИ ВЫВЕДЕНЫ ИЗНАЧАЛЬНО ВСЕ ЗАПИСИ БД выводятся записи с учетом критериев поиска.Как сделать,чтобы по нажатию на некую кнопочку "Сброс" на всё ТО ЖЕ место ,где сначала были все записи ,а затем с учетом поиска,СНОВА вывелись все записи ?
Код страницы result/php приведён ниже:


Код

    <?php
        
            if  ($_SERVER["REQUEST_METHOD"]=="POST")
            {
                $db=mysql_connect ('localhost','admin','admin');
                mysql_select_db('results',$db);

    

            
                // в какой кодировке получать данные от клиента
                @mysql_query('set character_set_client="utf8"');

                // в какой кодировке получать данные от БД для вывода клиенту
                @mysql_query('set character_set_results="utf8"');

                // кодировка в которой будут посылаться служебные команды для сервера
                @mysql_query('set collation_connection="utf8_general_ci"');
            
                $result=mysql_query("SELECT * FROM result_table",$db);
                $myrow= mysql_fetch_array($result);
            
            echo 'Results of students:';
            /*Значения chekbox*/
            if(isset($_POST['nam'])&&isset($_POST['searchnam']))
            {
            $stolb=$_POST['nam'];
            $searchbtn=$_POST['searchnam'];
            }
            if(isset($_POST['number'])&&isset($_POST['searchnumber']))
            {
            $stolb=$_POST['number'];
            $searchbtn=$_POST['searchnumber'];
            }
            if(isset($_POST['ct'])&&isset($_POST['searchct']))
            {
            $stolb=$_POST['ct'];
            $searchbtn=$_POST['searchct'];
            }
            if(isset($_POST['res'])&&isset($_POST['searchres']))
            {
            $stolb=$_POST['res'];
            $searchbtn=$_POST['searchres'];
            }




/*Выборка из БД*/
    $result=mysql_query("SELECT * FROM result_table WHERE $stolb='$searchbtn' ",$db);            
    $myrow= mysql_fetch_array($result);

/*Вывод данных на экран*/
        do
        {
        printf("Обучающийся № - %s<br> <strong>Имя</strong> - %s<br> <strong>Школа</strong> - %s<br> <strong> Город</strong>- %s<br><strong> Результат</strong> - %s<br>",$myrow['id'],
        $myrow['name'],$myrow['school_number'],$myrow['city'],$myrow['result']);
        }    
            
        while ($myrow= mysql_fetch_array($result));
            
    
            }
            
            else
            {
                $db=mysql_connect ('localhost','admin','admin');
            mysql_select_db('results',$db);

    

            
            // в какой кодировке получать данные от клиента
            @mysql_query('set character_set_client="utf8"');

            // в какой кодировке получать данные от БД для вывода клиенту
            @mysql_query('set character_set_results="utf8"');

            // кодировка в которой будут посылаться служебные команды для сервера
            @mysql_query('set collation_connection="utf8_general_ci"');
            
            $result=mysql_query("SELECT * FROM result_table",$db);
            $myrow= mysql_fetch_array($result);
            
            echo 'Результаты учеников:';
            
            do
            {
            printf ("<br><br>Ученик - %s<br> Имя:%s<br>Номер школы:%s<br>Город:%s<br>Результат:%s",
            $myrow['id'],$myrow['name'],$myrow['school_number'],$myrow['city'],$myrow['result']);
            }
            while ($myrow=mysql_fetch_array($result));    
            }
            
            ?>
            


Код

<div id="form">
                <form action="result.php" method="post" name="search">            
                <fieldset>
                
                <legend class="bold"><span id="search">Поиск:</span></legend>
                <p class="bold"><label >Выберете критерий поиска?</label></p>
                
                
                <p class="bold">Имя</p>
                <p>
                <input type="checkbox" value="name" name="nam"  onchange="change(this);" checked>
                <input class="input" type="text" name="searchnam" id="searchnm" size="40" maxlenght="15" >
                </p>
                
                <p class="bold">Номер школы</p>
                <p>
                <input type="checkbox" value="school_number" name="number" onchange="change(this);">
                <input class="input" type="text" name="searchnumber" id="searchnmb" size="40" maxlenght="15" disabled>
                </p>
                
                <p class="bold">Город</p>
                <p>
                <input type="checkbox" value="city" name="ct" onchange="change(this);">
                <input class="input" type="text" name="searchct" id="searchct" size="40" maxlenght="15" disabled>
                </p>
                
                <p class="bold">Результат</p>
                <p>
                <input type="checkbox" value="result" name="res" onchange="change(this);"> 
                <input class="input" type="text" name="searchres" id="searchrs" size="40" maxlenght="15" disabled>
                </p>
                
                
                <div id="searchbtn">
                <input name="searchbtn" type="submit" value="Поиск">
                <input name="reset" type="reset" value="Сброс"></p>
                </div>
                
                </fieldset>        
                </form>
                </div>
                    
                    <div id="footer">
                    <p id="scrolltop"><a href="#toptext" >На верх! </a></p> 
                    </div>

Автор: Zorak 21.5.2013, 15:39
емм... мотри... В твой код вникать не буду... Просто в двух словах суть:

1. Елсли выбираеш из БД, значит есть запрос. А запрос формируется вне зависимости от того, выбирал пользователь какието критерии или нет. Посиму сделай какуюто функцию, которая будет делать тебе динамический запрос в зависимости от выбранных критериев (или НЕ выбранных)...
Смотри на свою http://forum.vingrad.ru/forum/topic-368169.html тему, я там тебе в общих чертах описал.

Автор: Temp 5.7.2013, 06:57
сделай кнопку сброс ссылкой на страницу result.php
или запрос сделай "вывод всех данных"

Автор: Mishanya2109 27.8.2013, 13:03
Да, особой сложности то нет. Ты, про ajax покури, и делай через него всю выгрузку. Алгоритм примерно такой будет:
1. Загружается страничка, где <div id="test"></div> - выводится инфа из БД
2. Пользователь, выбрал там чтото, нажел на кнопку, к которой прикручен JavaScript обработчик, он обращается к файлу на сервере и получает с него инфу, и выводит инфу в id="test"
3. К кнопке сброс, прикручиваешь аналогичный обработчик, который подгружает с сервера нужную инфу и выводит ее

Все просто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)