За последние 24 часа нас посетили 20965 программистов и 1108 роботов. Сейчас ищут 450 программистов ...

Фильтрация данных запросом select

Тема в разделе "MySQL", создана пользователем user24102018, 24 окт 2018.

  1. user24102018

    user24102018 Новичок

    С нами с:
    24 окт 2018
    Сообщения:
    3
    Симпатии:
    0
    Нужно чтобы при отправке формы генерировался запрос select, где выводились только те поля которые у которых не обозначено checkbox, если ckeckbox ckecked то поле скрытое, нужно также сделать сортировку таблици по тому полю где выбранный radiobutton и также для числовых данных и дать обеспечить возможность указать диапазон, и это все в одном запросе select, помогите пожалуйста, потому что вообще не знаю как сделать, помогите пожалуста.
    PHP:
    1. //index.php
    2. <?php
    3. require_once 'connect_db.php';
    4. $link = mysqli_connect($host, $user, $password, $database)
    5. or die("Ошибка " . mysqli_error($link));
    6. $query ="SHOW COLUMNS FROM first_table";
    7. $result = mysqli_query($link, $query) or die("Error connection " . mysqli_error($link));
    8. if($result)
    9. {
    10.     $rows = mysqli_num_rows($result);
    11.     echo "<form action=\"select.php\" method=\"POST\">";
    12.     echo "<table  border='3'>";
    13.  
    14.  
    15.     for ($i = 0 ; $i < $rows ; ++$i)
    16.     {
    17.         $row = mysqli_fetch_row($result);
    18.         echo "<tr>";
    19.         echo "<td> <input type='checkbox'  name='checkbox1'> </td>";
    20.         echo "<td> <input type='radio'  name='radio'> </td>";
    21.         for ($j = 0 ; $j < 6 ; ++$j) echo "<td>$row[$j]</td>";
    22.         echo "</tr>";
    23.     }
    24.     echo "</table>";
    25.     echo " <input type=\"date\" name=\"calendar1\">";
    26.     echo " <input type=\"date\" name=\"calendar2\">";
    27.     echo "<input type='submit' name='Send'>";
    28.     echo "</form>";
    29.  
    30.     mysqli_free_result($result);
    31. }
    32. mysqli_close($link);
    33. ?>
    34.  
    35. //select.php
    36. <?php
    37. 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']))
    38.  
    39. {
    40.     $check = htmlentities($_POST['checkbox1']);
    41.     $check = htmlentities($_POST['checkbox2']);
    42.     $check = htmlentities($_POST['checkbox3']);
    43.     $check = htmlentities($_POST['checkbox4']);
    44.     $check = htmlentities($_POST['checkbox5']);
    45.     $check = htmlentities($_POST['checkbox6']);
    46.     $check = htmlentities($_POST['checkbox7']);
    47.     $check = htmlentities($_POST['checkbox8']);
    48.  
    49.     $radio = htmlentities($_POST['radio']);
    50.     $date1 = htmlentities($_POST['calendar1']);
    51.     $date2 = htmlentities($_POST['calendar2']);
    52.  
    53.  
    54.  
    55. }
    56.  
    57. $dbc = mysqli_connect('localhost', 'root', '', 'first_db') or die ('Error');
    58.  
    59.  
    60. if($radio.value == '1'){
    61.     $query ="SELECT * FROM first_table order by id";
    62. }
    63.  
    64. if($radio.value == '2'){
    65.     $query ="SELECT * FROM first_table order by name";
    66. }
    67.  
    68. if($radio.value == '3'){
    69.     $query ="SELECT * FROM first_table order by sex";
    70. }
    71.  
    72. if($radio.value == '4'){
    73.     $query ="SELECT * FROM first_table order by goodsname";
    74. }
    75.  
    76. if($radio.value == '5'){
    77.     $query ="SELECT * FROM first_table order by price";
    78. }
    79.  
    80. if($radio.value == '6'){
    81.     $query ="SELECT * FROM first_table order by count";
    82. }
    83. if($radio.value == '7'){
    84.     $query ="SELECT * FROM first_table order by address";
    85. }
    86.  
    87. if($radio.value == '8'){
    88.     $query ="SELECT * FROM first_table order by deliverydate";
    89. }
    90.  
    91.  
    92.  
    93. $result = mysqli_query($link, $query) or die("Error connection " . mysqli_error($link));
    94.  
    95. if($result)
    96. {
    97.     $rows = mysqli_num_rows($result);
    98.  
    99.     for ($i = 0 ; $i < $rows ; ++$i)
    100.     {
    101.         $row = mysqli_fetch_row($result);
    102.         echo "<tr>";
    103.         for ($j = 0 ; $j < 8 ; ++$j) echo "<td>$row[$j]</td>";
    104.         echo "</tr>";
    105.     }
    106.     echo "</table>";
    107.  
    108.  
    109.     mysqli_free_result($result);
    110. }
    111.  
    112. ?>
     

    Вложения: