Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2018, 23:38   #1
user12102018
 
Регистрация: 12.10.2018
Сообщений: 4
По умолчанию Фильтрация данных запрос select

Нужно чтобы при отправке формы генерировался запрос select, где выводились только те поля которые у которых не обозначено checkbox, если ckeckbox ckecked то поле скрытое, нужно также сделать сортировку таблици по тому полю где выбранный radiobutton и также для числовых данных и дать обеспечить возможность указать диапазон, и это все в одном запросе select, помогите пожалуйста, потому что вообще не знаю как сделать
Код:
//index.php
<?php
require_once 'connect_db.php';
$link = mysqli_connect($host, $user, $password, $database)
or die("Ошибка " . mysqli_error($link));
$query ="SHOW COLUMNS FROM first_table";
$result = mysqli_query($link, $query) or die("Error connection " . mysqli_error($link));
if($result)
{
    $rows = mysqli_num_rows($result);
    echo "<form action=\"select.php\" method=\"POST\">";
    echo "<table  border='3'>";


    for ($i = 0 ; $i < $rows ; ++$i)
    {
        $row = mysqli_fetch_row($result);
        echo "<tr>";
        echo "<td> <input type='checkbox'  name='checkbox1'> </td>";
        echo "<td> <input type='radio'  name='radio'> </td>";
        for ($j = 0 ; $j < 6 ; ++$j) echo "<td>$row[$j]</td>";
        echo "</tr>";
    }
    echo "</table>";
    echo " <input type=\"date\" name=\"calendar1\">";
    echo " <input type=\"date\" name=\"calendar2\">";
    echo "<input type='submit' name='Send'>";
    echo "</form>";

    mysqli_free_result($result);
}
mysqli_close($link);
?>

//select.php
<?php
if(isset($_POST['checkbox1']) && isset($_POST['checkbox2']) && isset($_POST['checkbox3']) && isset($_POST['checkbox4']) && isset($_POST['checkbox5']) && isset($_POST['checkbox6']) && isset($_POST['checkbox7']) && isset($_POST['checkbox8']) && isset($_POST['radio']) && isset($_POST['calendar1']) && isset($_POST['calendar1']))

{
    $check = htmlentities($_POST['checkbox1']);
    $check = htmlentities($_POST['checkbox2']);
    $check = htmlentities($_POST['checkbox3']);
    $check = htmlentities($_POST['checkbox4']);
    $check = htmlentities($_POST['checkbox5']);
    $check = htmlentities($_POST['checkbox6']);
    $check = htmlentities($_POST['checkbox7']);
    $check = htmlentities($_POST['checkbox8']);

    $radio = htmlentities($_POST['radio']);
    $date1 = htmlentities($_POST['calendar1']);
    $date2 = htmlentities($_POST['calendar2']);



}

$dbc = mysqli_connect('localhost', 'root', '', 'first_db') or die ('Error');


if($radio.value == '1'){
    $query ="SELECT * FROM first_table order by id";
}

if($radio.value == '2'){
    $query ="SELECT * FROM first_table order by name";
}

if($radio.value == '3'){
    $query ="SELECT * FROM first_table order by sex";
}

if($radio.value == '4'){
    $query ="SELECT * FROM first_table order by goodsname";
}

if($radio.value == '5'){
    $query ="SELECT * FROM first_table order by price";
}

if($radio.value == '6'){
    $query ="SELECT * FROM first_table order by count";
}
if($radio.value == '7'){
    $query ="SELECT * FROM first_table order by address";
}

if($radio.value == '8'){
    $query ="SELECT * FROM first_table order by deliverydate";
}



$result = mysqli_query($link, $query) or die("Error connection " . mysqli_error($link));

if($result)
{
    $rows = mysqli_num_rows($result);

    for ($i = 0 ; $i < $rows ; ++$i)
    {
        $row = mysqli_fetch_row($result);
        echo "<tr>";
        for ($j = 0 ; $j < 8 ; ++$j) echo "<td>$row[$j]</td>";
        echo "</tr>";
    }
    echo "</table>";


    mysqli_free_result($result);
}

?>
Изображения
Тип файла: png Screenshot_14.png (18.2 Кб, 70 просмотров)
user12102018 вне форума Ответить с цитированием
Старый 25.10.2018, 08:28   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

ну если число то зачем
Код:
$radio = htmlentities($_POST['radio']);
?
intval() используйте
для того чтоб несколько условий - используйте например так
Код:
SELECT * FROM first_table WHERE deliverydate>=$start_date && deliverydate<=$end_date order by deliverydate
$start_date и $end_date должны быть в том-же что и дата в БД
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SELECT запрос ВалекFCRK SQL, базы данных 1 25.05.2015 11:19
SELECT запрос ВалекFCRK SQL, базы данных 2 15.05.2015 12:56
запрос select deemka777 PHP 14 23.05.2013 13:19
Запрос Select Morgusha SQL, базы данных 26 06.06.2012 14:07
MS SQL ADO Как вывести через запрос Select из двух баз данных по совпадающему id? SovereignSun SQL, базы данных 2 17.01.2012 17:59