Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выборка из базы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Выбирает не то, что надо
Timfun
Отправлено: 22 Июня, 2012 - 10:16:28
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




Всем привет!
Проблема в следующем: Есть таблица с подразделениями и таблица с контактами, которые состоят в этих подразделениях. Перед удалением подразделения провожу проверку на наличие контактов в подазделении:
CODE (SQL):
скопировать код в буфер обмена
  1. "SELECT famil,imya,otches FROM contacts WHERE podraz=('$id')"

Все идет нормально, пока id подразделения не становятся двухзначными, например от 10 до 19 он выбирает контакты с подразделение 1, а от 20 до 29 выбирает подразделения с podraz = 2. Помогите разобратся!
 
 Top
Alho
Отправлено: 22 Июня, 2012 - 10:40:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




 
 Top
Viper
Отправлено: 22 Июня, 2012 - 10:43:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




зачем?

Обычно так


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Timfun
Отправлено: 22 Июня, 2012 - 13:01:41
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




Alho пишет:
PHP:
скопировать код в буфер обмена

var_dump($id);

не сканало
(Добавление)
Viper пишет:
Обычно так
CODE (SQL):
скопировать код в буфер обмена

"... podraz = ".(int)$id

И так тоже, может с mysql чего не так?

(Отредактировано автором: 22 Июня, 2012 - 13:16:59)

 
 Top
Viper
Отправлено: 22 Июня, 2012 - 14:19:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




PHP:
скопировать код в буфер обмена
  1. echo "SELECT famil, imya, otches FROM contacts WHERE podraz=".$id;

результат покажите тут


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Timfun
Отправлено: 22 Июня, 2012 - 14:28:32
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




У меня id подразделения 1,2,4,22 а контактакты распределены только на 1,2,4 подразделения, в 22 никого нет, но призапросе выводит контакты из второго подразделения. Из PhpMyAdmin все работает правильно, но я из php неправильно отправляю запрос. Или mysql его неправильно понимает.
(Добавление)
выбирает из базы по первой цифре, когда были подразделения с номером 11 или 12 и тд он давал контакты из первого подразделения, а щас номер 22 и он выдает из второго, если добавить в него контакт ситуация не поменяется.
(Добавление)
CODE (html):
скопировать код в буфер обмена
  1. SELECT famil,imya,otches FROM contacts WHERE podraz = 2<!--error--><b>Warning</b>:  Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\vnut\admin\model.php:69) in <b>Z:\home\localhost\www\vnut\admin\control\p_editor.php</b> on line <b>75</b><script language=JavaScript src='/denwer/errors/phperror_js.php'></script>К <b>Подразделение3</b> относятся контакты: Фамилия Имя Отчество, Приколюхин Андрей Валерьевич, Сидоров Петр Иванович, Петров Петр Петрович, Молодцов Молодец Молодецкий, удалите их или отнесите к другому подразделению<br />

Ошибка из-за хедера, а так все норм
 
 Top
Viper
Отправлено: 22 Июня, 2012 - 15:08:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Timfun пишет:
но я из php неправильно отправляю запрос.
тогда приведите код, а то гадать по звездам надоело уже...


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Timfun
Отправлено: 22 Июня, 2012 - 15:34:10
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




Модель:
PHP:
скопировать код в буфер обмена
  1. function check_cont ($info) {
  2.             $id = $info['del'];
  3.             $sql = "SELECT famil,imya,otches FROM contacts WHERE podraz = ".$id;
  4.             $res = $this->sql($sql);
  5.             return $res;
  6.         }

Контроллер:
PHP:
скопировать код в буфер обмена
  1. $result = $res->check_cont($_GET['del']);
  2.         $fio = $pdr->pod_fetch($result);
  3.         $num = $pdr->pod_num($result);
  4.         $id = $_GET['del'];
  5.         $info = $pdr->pod_name($id);
  6.         $podr = $pdr->pod_fetch($info);
  7.         if ($num > 0) {
  8.             header ('Refresh:2;cont_edit.php');
  9.             echo "К <b>".$podr['pod_name']."</b> относятся контакты: ";
  10.             do {
  11.                 echo $fio['famil']." ".$fio['imya']." ".$fio['otches'].", ";
  12.             } while ($fio = $pdr->pod_fetch($result));

(Отредактировано автором: 22 Июня, 2012 - 15:35:19)

 
 Top
Timfun
Отправлено: 23 Июня, 2012 - 06:30:21
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




Спасибо всем за помощь, решил проблему. Неправильно передовалась переменная.
контроллер:
PHP:
скопировать код в буфер обмена
  1. $id = $_GET['del'];
  2.         $result = $res->check_cont($id);

Модель:
PHP:
скопировать код в буфер обмена
  1. function check_cont ($id) {
  2.             $sql = "SELECT famil,imya,otches FROM contacts WHERE podraz = ".$id;
  3.             $res = $this->sql($sql);
  4.             return $res;
  5.         }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB