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]   

> Описание: ошибка в SELECT при if else
yura_yushkevich
Отправлено: 08 Февраля, 2015 - 19:22:31
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Янв. 2015  


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




Всем здравствуйте!

Делаю выборку из БД из полей по нескольким условиям

вот код

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP header('Content-Type: text/html; charset=utf-8');?>
  3.  
  4. <!DOCTYPE html>
  5.  
  6. <head>
  7.         <title> <?PHP echo $myrow["title"] ?></title>   <!--Пишем русское название страницы, которое извлекли из БД и поместили в массив $myrow (файл select.php)-->
  8.         <link href="css/style.css" rel="stylesheet" type="text/css" />
  9. </head>
  10.  
  11. <?PHP
  12. include('blocks/bd.php');
  13.  
  14.  
  15. /* Если существует в глобальном массиве $_POST['NomerKontrol'] опр. ячейка, то мы создаем простую переменную из неё. Если переменная пустая, то уничтожаем переменную.   */
  16. if (isset($_POST['date_search_s']))
  17. {
  18.         list($day, $month, $year) = sscanf($_POST['date_search_s'], "%02d.%02d.%04d");
  19.         $date_search_s="$year.$month.$day";
  20.         if ($date_search_s == '')
  21.         {
  22.                 unset($date_search_s);
  23.         }
  24. }
  25.  
  26. if (isset($_POST['date_search_po']))
  27. {
  28.         list($day, $month, $year) = sscanf($_POST['date_search_po'], "%02d.%02d.%04d");
  29.         $date_search_po="$year.$month.$day";
  30.         if ($date_search_po == '')
  31.         {
  32.                 unset($date_search_po);
  33.         }
  34. }
  35.  
  36. if (isset($_POST['ispolniteli']))
  37. {
  38.         $ispolniteli=$_POST['ispolniteli'];
  39.         if ($ispolniteli == '')
  40.         {
  41.                 unset($ispolniteli);
  42.         }
  43. }
  44.  
  45.  
  46.  
  47. if (isset($date_search_s) and isset($date_search_po) and isset($ispolniteli))
  48. {
  49.         /* Здесь пишем что можно заносить информацию в базу */
  50.         $result = mysql_query ("SELECT m.ID, DataKontrol, NomerKontrol, DATE_FORMAT(DataVipolneniya, '%d.%m.%Y') AS 'DataVipolneniya', DATE_FORMAT(DataFactVipolneniya, '%d.%m.%Y') AS 'DataFactVipolneniya', Soderjanie, OtmetkaIspolneno, Vhodyashiy, VidKontrol, Sluzhba, ispolneno FROM main m, ispolniteli i WHERE m.id = i.id_main and i.Sluzhba='$ispolniteli' and (DataVipolneniya>='$date_search_s') and (DataVipolneniya<='$date_search_po') and (i.ispolneno is null or i.ispolneno=0)",$db);
  51.  
  52.         if (mysql_num_rows($result) > 0)
  53.  
  54.         {
  55.                 $myrow = mysql_fetch_array($result);
  56.  
  57.                 do
  58.                 {
  59.  
  60.                         echo '
  61.                         <div class="control_view_wrp">
  62.                         <p class="control_title">Номер контроля:<span> '.$myrow['NomerKontrol'].'</span></p>
  63.                         <p class="control_title">Вид контроля: <span>'.$myrow['VidKontrol'].'</span></p>
  64.                         <p class="control_title">Ответственный исполнитель: <span>'.$myrow['Sluzhba'].'</span></p>
  65.      <p class="control_title">Содержание контроля: <span>'.$myrow['Soderjanie'].'</span></p>
  66.      <p class="control_title">Планируемая дата исполнения: <span class="control_title_date">'.$myrow['DataVipolneniya'].'</span></p>
  67.  
  68.                         </div> ';
  69.  
  70.                 }
  71.                 while ($myrow = mysql_fetch_array($result));
  72.         }
  73. }
  74.  
  75.         elseif (isset($date_search_po) and isset($ispolniteli))
  76.         {
  77.                 /* Здесь пишем что можно заносить информацию в базу */
  78.                 $result = mysql_query ("SELECT m.ID, DataKontrol, NomerKontrol, DATE_FORMAT(DataVipolneniya, '%d.%m.%Y') AS 'DataVipolneniya', DATE_FORMAT(DataFactVipolneniya, '%d.%m.%Y') AS 'DataFactVipolneniya', Soderjanie, OtmetkaIspolneno, Vhodyashiy, VidKontrol, Sluzhba, ispolneno FROM main m, ispolniteli i WHERE m.id = i.id_main and i.Sluzhba='$ispolniteli' and DataVipolneniya<='$date_search_po' and (i.ispolneno is null or i.ispolneno=0)",$db);
  79.  
  80.                 if (mysql_num_rows($result) > 0)
  81.  
  82.                 {
  83.                         $myrow = mysql_fetch_array($result);
  84.  
  85.                         do
  86.                         {
  87.  
  88.                                 echo '
  89.                         <div class="control_view_wrp">
  90.                         <p class="control_title">Номер контроля:<span> '.$myrow['NomerKontrol'].'</span></p>
  91.                         <p class="control_title">Вид контроля: <span>'.$myrow['VidKontrol'].'</span></p>
  92.                         <p class="control_title">Ответственный исполнитель: <span>'.$myrow['Sluzhba'].'</span></p>
  93.      <p class="control_title">Содержание контроля: <span>'.$myrow['Soderjanie'].'</span></p>
  94.      <p class="control_title">Планируемая дата исполнения: <span class="control_title_date">'.$myrow['DataVipolneniya'].'</span></p>
  95.  
  96.                         </div> ';
  97.  
  98.                         }
  99.                         while ($myrow = mysql_fetch_array($result));
  100.                 }
  101.  
  102.         }
  103.                 elseif (isset($date_search_s) and isset($ispolniteli))
  104.                 {
  105.                         /* Здесь пишем что можно заносить информацию в базу */
  106.                         $result = mysql_query ("SELECT m.ID, DataKontrol, NomerKontrol, DATE_FORMAT(DataVipolneniya, '%d.%m.%Y') AS 'DataVipolneniya', DATE_FORMAT(DataFactVipolneniya, '%d.%m.%Y') AS 'DataFactVipolneniya', Soderjanie, OtmetkaIspolneno, Vhodyashiy, VidKontrol, Sluzhba, ispolneno FROM main m, ispolniteli i WHERE m.id = i.id_main and i.Sluzhba='$ispolniteli' and DataVipolneniya>='$date_search_s' and (i.ispolneno is null or i.ispolneno=0)",$db);
  107.  
  108.                         if (mysql_num_rows($result) > 0)
  109.  
  110.                         {
  111.                                 $myrow = mysql_fetch_array($result);
  112.  
  113.                                 do
  114.                                 {
  115.  
  116.                                         echo '
  117.                         <div class="control_view_wrp">
  118.                         <p class="control_title">Номер контроля:<span> '.$myrow['NomerKontrol'].'</span></p>
  119.                         <p class="control_title">Вид контроля: <span>'.$myrow['VidKontrol'].'</span></p>
  120.                         <p class="control_title">Ответственный исполнитель: <span>'.$myrow['Sluzhba'].'</span></p>
  121.      <p class="control_title">Содержание контроля: <span>'.$myrow['Soderjanie'].'</span></p>
  122.      <p class="control_title">Планируемая дата исполнения: <span class="control_title_date">'.$myrow['DataVipolneniya'].'</span></p>
  123.  
  124.                         </div> ';
  125.  
  126.                                 }
  127.                                 while ($myrow = mysql_fetch_array($result));
  128.                         }
  129.                 }
  130.  
  131.         else {
  132.                 echo "<p>Контролей удовлетворяющих условиям поиска нет!1</p>";
  133.                 exit(mysql_error());
  134.         }
  135.  
  136.  
  137. echo($date_search_s);
  138. echo($date_search_po);
  139. echo($ispolniteli);
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148. ?>
  149.  


не понимаю почему не работает, должно получится следующее, если в переменных датаС, датаПо, Исполнители есть значения то срабатывает 1-ый запрос к БД.
Если в переменных датаПо, Исполнители есть значения то срабатывает 2-ой запрос к БД.
Если в переменных датаС, Исполнители есть значения то срабатывает 3-ой запрос к БД.

Вроде как все норм..... но не работает зараза вообще ничего не выбирает, единственное что срабатывает это 2-ой запрос.....

Данные в БД соответствующие есть.....
 
 Top
exlant
Отправлено: 08 Февраля, 2015 - 22:33:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


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




вроде все работает..
скопировал твой код, создал не пустые переменные
$_POST['date_search_s']
$_POST['date_search_po']
$_POST['ispolniteli']
запустил,

зашло в первый блок
if (isset($date_search_s) and isset($date_search_po) and isset($ispolniteli))

удалил $_POST['date_search_po']
зашло в
elseif (isset($date_search_s) and isset($ispolniteli))

удалил все закинуло в последний блок
else {
echo "<p>Контролей удовлетворяющих условиям поиска нет!1</p>";

может ты, что то не то посылаешь формой?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB