Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
4 / 4 / 1
Регистрация: 30.09.2010
Сообщений: 95

Форма + mysql

08.12.2010, 14:06. Показов 3301. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Помогите как написать запрос в MySQL, если есть несколько переменных по которым требуеться отбор?

HTML5
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
<form>
<table>
<tr>
         <td class="border"><label for="toplivo">Топливо<font color="red">*</font></label></td>
          <td><select name="toplivo" id="toplivo">
            <option value="" selected="selected"></option>
            <option value="бензин">бензин</option>
            <option value="дизель">дизель</option>
              
    </select></td>
 </tr>
<tr>
         <td class="border"><label for="year">Год<font color="red">*</font></label></td>
          <td><select name="year" id="year">
            <option value="" selected="selected"></option>
            <option value="1987">1987</option>
            <option value="1987">1987</option>
              
    </select></td>
 </tr>
<tr>
         <td class="border"><label for="ob">Объем<font color="red">*</font></label></td>
          <td><select name="ob" id="ob">
            <option value="" selected="selected"></option>
            <option value="2,3">2,3</option>
            <option value="5,0">5,0</option>
              
    </select></td>
 </tr>
</table>
</form>

PHP:

$result=mysql_query('SELECT * from PRICELIST where toplivo=? and year=? and ob=?);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2010, 14:06
Ответы с готовыми решениями:

Форма + MySQL
Такая задача! Есть некая форма с 5 текстовыми полями, 2 селектами и 2 чекбоксам. Нужно типы полей хранить в базе так что бы можно было...

Форма ввода в MySQL
Доброго времени суток. Прошу помощи в следующем. Есть БД и таблица в ней. CREATE TABLE `zakazy` ( `nomer` int(11) NOT NULL...

Форма с обращением к mysql
привет,тема для дипломной работы создать програмку на php. Необходимо заходить в эту програмку в сети , аторизовываться и видеть\создавать...

32
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
23.12.2010, 14:12
Студворк — интернет-сервис помощи студентам
А гет вообще отправляется?

что если попробовать вручную забить название группы тут:

PHP
1
echo "<td align=left ><a href='2.php?group=название_группы' target='_self'><font color=red>$f[groop]</font></a></td></tr>";
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
23.12.2010, 14:15
У тебя сейчас каким образом данные отсылаются? $_GET или $_POST ?
Попробуй $_REQUEST.
0
4 / 4 / 1
Регистрация: 30.09.2010
Сообщений: 95
23.12.2010, 14:16  [ТС]
та же ошибка!
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
23.12.2010, 14:19
Раздели вот эту строчку на три.
PHP
1
$r=mysql_query("select nametov  from PRICELIST where groop='". $group ."'");
Пусть получится такое...
PHP
1
2
3
$sql = "select nametov  from PRICELIST where groop='". $group ."';";
echo $sql;
$r=mysql_query($sql);
И покажи как получаешь переменную
То что выведет echo скинь сюда на размышление.
0
4 / 4 / 1
Регистрация: 30.09.2010
Сообщений: 95
23.12.2010, 14:27  [ТС]
hellpass,

select nametovar from PRICELIST where groop='Щетки стеклоочистителя';

Добавлено через 1 минуту
Если решать это так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
include "setup/options.php";
$group = isset($_GET['group']) ? $_GET['group'] : '';
if (!mysql_connect($host,$USER,$PASSWD))
    die("<h1>Ошибка сервера MySql.</h1>");
if (!mysql_select_db($DB)) die("Нельзя выбрать базу данных");
echo '<table  border="0" width="100%">';
$r = mysql_query("SELECT `nametovar` FROM `PRICELIST` WHERE `groop` = '". mysql_real_escape_string($group) ."'");
if (!$r) die(mysql_error());
while($f = mysql_fetch_assoc($r))
    echo '<tr><td align="left"><font color=red>' .$f['nametovar'] . '</font></td></tr>';
echo '</table>' . $group;
 
?>
то выводит только выбранную группу $group;
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
23.12.2010, 14:30
Хм... а в базе все правильно?
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
23.12.2010, 14:31
А если так?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
include "setup/options.php";
$group = isset($_GET['group']) ? $_GET['group'] : '';
if (!mysql_connect($host,$USER,$PASSWD))
    die("<h1>Ошибка сервера MySql.</h1>");
if (!mysql_select_db($DB)) die("Нельзя выбрать базу данных");
echo '<table  border="0" width="100%">';
$r = mysql_query("SELECT `nametovar` FROM `PRICELIST` WHERE `groop` LIKE '%".$group."%' ");
if (!$r) die(mysql_error());
while($f = mysql_fetch_assoc($r))
    echo '<tr><td align="left"><font color=red>' .$f['nametovar'] . '</font></td></tr>';
echo '</table>' . $group;
 
?>
Если заработает, то я скажу вчем проблема!
1
4 / 4 / 1
Регистрация: 30.09.2010
Сообщений: 95
23.12.2010, 14:34  [ТС]
suharik,

Заработало. ОГРОМНОЕ СПАСИБО! В чем была проблема?
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
23.12.2010, 14:42
Теперь показывай как ты добавляеш в базу группы. Дело в том что при добавлении у тебя в базу попадает запись похожая на : Щетки стеклоочистителя/r/n
как то так. поэтому и не находит ничего. Нужно изначально избавлятся от таких вещей при добавлению в базу чего-либо.
поэтому я и использовад LIKE который обрезал всю это чертовню
0
4 / 4 / 1
Регистрация: 30.09.2010
Сообщений: 95
23.12.2010, 14:49  [ТС]
suharik,

В самой БД у меня в группе просто написано напимер Масло, Антифриз и т.п. без всяких /r/n

Вот как я в ношу:

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
<?php 
  // Устанавливаем соединение с базой данных 
  include "opt.php"; 
  // Помещаем содержимое файла в массив $arr 
  // Одна строка файла - один элемент массива 
  $arr = file("text.txt"); 
$arr = array_map("mysql_real_escape_string", $arr);
  // В цикле производим разбор каждой строки 
  // формируем многострочный INSERT-запрос 
  $sql = "INSERT INTO PRICELIST  VALUES "; 
  $i = 1; 
  foreach($arr as $line) 
  { 
    // Разбиваем строку по запятой 
    $number = explode("@",trim($line)); 
    // Уничтожаем последний элмемент с комментарием 
    unset($number[13]); 
    // Формируем строку многострочного INSERT (1,2,...,10) 
    $order = "(NULL,"; 
    foreach($number as $num) 
    { 
      $order .= "'$num',"; 
    } 
    // Удаляем последнюю лишнюю запятую и 
    // добавляем закрывающую скобку 
    $order = substr($order,0,strlen($order) - 1).")"; 
    $sql .= "$order,";  
    $i++; 
  } 
  // Удаляем последнюю лишнюю запятую и 
  // добавляем закрывающую скобку 
  $sql = substr($sql,0,strlen($sql) - 1); 
  // Выполняем SQL-запрос 
  if(!mysql_query($sql)) 
  { 
    echo $sql."<br>"; 
    echo "Ошибка - ".mysql_error(); 
 
  } 
  else {echo "БД загружена успешно!";}
?>
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
23.12.2010, 14:59
я бы еще порезал то что добавляется в базу

PHP
1
2
$text = str_replace('\r\n', '', $text);
$text = str_replace('\n', '', $text);
таким образом
1
4 / 4 / 1
Регистрация: 30.09.2010
Сообщений: 95
23.12.2010, 15:01  [ТС]
suharik,

ОРОМНОЕ ВАМ СПАСИБО ЗА ВАШИ СОВЕШИ.
0
191 / 191 / 31
Регистрация: 04.10.2010
Сообщений: 505
23.12.2010, 15:03
Функция mysql_real_escape_string слишком рано применяется.
Сначала надо применить trim.
Лучше mysql_real_escape_string применить перед циклом
foreach($number as $num)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.12.2010, 15:03

Форма авторизации php+mysql
Добрый день. Подскажите пожалуйста. Проблема такая мне необходимо авторизоваться и перейти на страничку. Дак вот, создал я форму, ...

Форма редактирования данных mysql
Добрый день, гуру! Помогите, пожалуйста, поэтапно создать форму для редактирования данных из таблицы. Итак. Есть таблица: CREATE...

Форма регистрации PHP MYSQL
Всем привет, не могу понять, что не так, обычными словами не могу выразить одни матюки. Сразу по делу. Вот весь код...

Форма для работы с MySQL
Помогите, пожалуйста, с составлением программы бедным студентам! Завтра зачёт, а у нас ничего не сделано!!! :cry: Вопрос жизни и смерти.....

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


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу: https:/ / github. com/ altbodhi/ ReConMan По итогу пришел к мысли, что DU не дружат с существующими технологиями. От сериализации до отображения в реляционную. . .
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru