Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос на соответствие данных
 
 автор: lightning.say   (25.11.2012 в 17:05)   письмо автору
 
 

Хочу отобрать текстовые данные в базе в соответствии с набранными в поле


<td>Заказ:<input type=text 
                name=price
                value="<?= $_POST['price']; ?>"><br></td></tr>

$_POST['price']    = intval($_POST['price']);  // mysql_escape_string - вообще ничего не находит

if(!empty($_POST['price'])) $tmp12 = " AND zakaz = $_POST[price]";

...

$query = "SELECT * FROM $tbl_cat_position 
                WHERE ... .$tmp16." 
                ORDER BY pos";


в итоге находит данные равные первой части вводимого значения. Искомые данные типа 11-0909 находятся 11-0808, 11-0606 и т.д., т.е. все начинающиеся на 11 а нужно чтобы находилось только 11-0909...

  Ответить  
 
 автор: Mookapek   (25.11.2012 в 17:26)   письмо автору
 
   для: lightning.say   (25.11.2012 в 17:05)
 

В какой переменной содержатся данные типа "11-0909"?
Что это такое?
WHERE ... .$tmp16."

  Ответить  
 
 автор: lightning.say   (26.11.2012 в 01:20)   письмо автору
 
   для: Mookapek   (25.11.2012 в 17:26)
 

>В какой переменной содержатся данные типа "11-0909"?

они содержатся в поле 'price'

>Что это такое?
WHERE ... .$tmp16."


это условие запроса, весь не стал писать, можно рассматривать как
$query = "SELECT * FROM $tbl_cat_position  
                WHERE zakaz = $_POST[price]  
                ORDER BY pos";

  Ответить  
 
 автор: CrazyAngel   (26.11.2012 в 02:59)   письмо автору
 
   для: lightning.say   (26.11.2012 в 01:20)
 

intval($_POST['price']);

вы сами из строки делаете число, так что "-" и все что после него убирается, остается только 11

11 - может быть и числом и строкой.
11 -0909 - только строкой

  Ответить  
 
 автор: lightning.say   (26.11.2012 в 11:37)   письмо автору
 
   для: CrazyAngel   (26.11.2012 в 02:59)
 

да пусть оно будет строкой, какую функцию предложите взамен?

  Ответить  
 
 автор: Mookapek   (26.11.2012 в 16:54)   письмо автору
 
   для: lightning.say   (26.11.2012 в 11:37)
 

Если в поле zakaz базы данных находятся записи типа "11-0808, 11-0606", то зачем вам тогда преобразовывать значение переменной $_POST[price]? Уберите intval($_POST['price']) и всё.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования