Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 37
1

Генерирование формы на основе запроса select

29.10.2018, 21:25. Просмотров 372. Ответов 0
Метки mysq (Все метки)

Есть задача вот
При отправке формы генерируется запрос select, где выводятся только те поля которые в которых обозначено checkbox, также происходит сортировка таблицы по тому полю где выбран radiobutton и также для числовых данных и дать обеспечению возможность указать диапазон, и это все в одном запросе select.
Я это все сделал но у преподавателя возникли возражения:
1.Форма должна строиться на результатах запросов
2.min / max использовано нецелесообразно

Объясните мне, где в нижеследующем коде ошибки указанные выше.

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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//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);
}
 
 
 
 
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2018, 21:25
Ответы с готовыми решениями:

Обновление списка на основе запроса из подчиненной формы
Приветствую Порылся, покопался но так и не нашел... Проблема такая, --есть список...

Построение формы на основе перекрестного запроса с параметрами
Всем привет. Подскажите, пожалуйста, можно ли на основе перекрестного запроса с изменяемыми...

Генерирование SQL запроса
Здравствуйте знатоки и умельца :) Возникла небольшая проблема, с выбором &quot;отправки&quot; запроса. Нужно...

Обновление select на основе значения из другого select
Есть 2 select'а. Первый - &quot;Тип услуги&quot;, второй &quot;Услуга&quot;. И соответственно у каждого типа услуги...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2018, 21:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Динамическое генерирование LINQ запроса
Есть ситуация var clientDataQuery = from client in dataContext.Clients ...

Генерирование POST запроса http
Здравствуйте! Подскажите пожалуйста как быть? В http совсем не силён! Задача стоит так. Есть 3g...

Как грамотно создать Recordset в текущей базе на основе SQL - запроса или просто на основе таблицы?
Как грамотно создать Recordset в текущей базе на основе SQL - запроса или просто на основе таблицы?

Создание запроса на обновление на основе запроса на вычисление
Помогите пожалуйста, имеется запрос на вычисление, который показывает средний балл учащихся по...

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив работоспособность...

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив работоспособность...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.