Есть задача вот При отправке формы генерируется запрос select, где выводятся только те поля которые в которых обозначено checkbox, также происходит сортировка таблицы по тому полю где выбран radiobutton и также для числовых данных и дать обеспечению возможность указать диапазон, и это все в одном запросе select. Я это все сделал но у преподавателя возникли возражения: 1.Форма должна строиться на результатах запросов 2.min / max использовано нецелесообразно Объясните мне, где в нижеследующем коде ошибки указанные выше. PHP: //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'>"; echo "ID <input type='checkbox' name='checkbox[]' value='id'> Name \"<input type='checkbox' name='checkbox[]' value='name'> Sex \"<input type='checkbox' name='checkbox[]' value='sex'> Goodsname \"<input type='checkbox' name='checkbox[]' value='goodsname'> Price \"<input type='checkbox' name='checkbox[]' value='price'> Count \"<input type='checkbox' name='checkbox[]' value='count'> Addresss \"<input type='checkbox' name='checkbox[]' value='address'> Deliverydate \"<input type='checkbox' name='checkbox[]' value='deliverydate'> "; echo "<br>"; echo "ID <input type='radio' name='radio' value='id'> Name \"<input type='radio' name='radio' value='name'> Sex \"<input type='radio' name='radio' value='sex'> Goodsname \"<input type='radio' name='radio' value='goodsname'> Price \"<input type='radio' name='radio' value='price'> Count \"<input type='radio' name='radio' value='count'> Address\"<input type='radio' name='radio' value='address'> Deliverydate \"<input type='radio' name='radio' value='deliverydate'> "; for ($i = 0 ; $i < $rows ; ++$i) { $row = mysqli_fetch_row($result); echo "<tr>"; for ($j = 0 ; $j < 6 ; ++$j) echo "<td>$row[$j]</td>"; echo "</tr>"; } echo "</table>"; echo " Date 1<input type=\"datetime-local\" name=\"calendar1\">"; echo " Date 2<input type=\"datetime-local\" name=\"calendar2\">"; echo " Price 1<input type='text' name = 'text1'>"; echo " Price 2<input type='text' name = 'text2'>"; echo " Count 1<input type='text' name = 'text3'>"; echo " Count 2<input type='text' name = 'text4'>"; echo "<input type='submit' name='Send' value='send'>"; echo "</form>"; mysqli_free_result($result); } mysqli_close($link); $dbc = mysqli_connect('localhost', 'root', '', 'first_db') or die ('Error'); $query = "SELECT MIN(Price), MAX(Price), MAX(count), MIN(count), MAX(deliverydate),MIN(deliverydate) FROM first_table"; $result = mysqli_query ($dbc, $query) or die ('error'); if($result) { $rows = mysqli_num_rows($result); echo "<table border='3'> <tr><td> Min(price)</td><td> Max(price)</td><td>Max(count)</td><td>Min(count)</td><td>MAX(Deliverydate)</td><td>MIN(Deliverydate)</td></tr> "; for ($i = 0 ; $i < $rows ; ++$i) { $row = mysqli_fetch_row($result); echo "<tr>"; for ($j = 0 ; $j < 5 ; ++$j) echo "<td>$row[$j]</td>"; echo "</tr>"; } echo "</table>"; mysqli_free_result($result); } ?> //seclect.php <?php $aDoor = $_POST['checkbox']; $radio = $_POST['radio']; $date1 = $_POST['calendar1']; $date2 = $_POST['calendar2']; $date1_ = str_replace("T"," ",$date1); $date2_ = str_replace("T"," ",$date2); $text1 = $_POST['text1']; $text2 = $_POST['text2']; $text3 = $_POST['text3']; $text4 = $_POST['text4']; $dip1 = (int)$text1; $dip2 = (int)$text2; $dip3 = (int)$text3; $dip4 = (int)$text4; if(empty($aDoor)) { } else { $N = count($aDoor); for($i=0; $i < $N; $i++) { //echo($aDoor[$i] . ","); } } //var_dump($aDoor); $lenght = count($aDoor); $comma_separated = implode(",", $aDoor); //echo $comma_separated; $dbc = mysqli_connect('localhost', 'root', '', 'first_db') or die ('Error'); $query = "SELECT $comma_separated FROM first_table where price between $dip1 and $dip2 and count between $dip3 and $dip4 ORDER BY $radio ASC "; //$query = "SELECT $comma_separated FROM first_table where price between $dip1 and $dip2 and count between $dip3 and $dip4 and deliverydate between $date1_ AND $date2_ ORDER BY $radio ASC "; echo $query; $result = mysqli_query ($dbc, $query) or die ('error'); if($result) { $rows = mysqli_num_rows($result); echo "<table border='3'>"; for ($i = 0 ; $i < $rows ; ++$i) { $row = mysqli_fetch_row($result); echo "<tr>"; for ($j = 0 ; $j < $lenght ; ++$j) echo "<td>$row[$j]</td>"; echo "</tr>"; } echo "</table>"; echo "<br>"; mysqli_free_result($result); } ?>