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

Форум PHP

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

 

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

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

тема: Непонятно откуда вывод
 
 автор: Blondy   (19.06.2010 в 19:25)   письмо автору
 
 

Доброго времени суток!
Обращаюсь с новой просьбой- вопросом, потому как мой мозг снова зашёл в тупик. У меня есть несколько (две) страницы, на которых находится своеобразная помощь сайта заказчику и поиск по сайту. Всё прекрасно и отлично работает.. есть только одна деталь, которая сейчас мешает жить- когда пользователь (без разницы какой) заходит на страницу- внизу отображается некий... вывод, непонятно откуда берущийся.
Вот скрины этих двух страниц:
Помощь
http://s48.radikal.ru/i119/1006/33/fbc738ecbb78.jpg
Поиск
http://s14.radikal.ru/i187/1006/3e/12b63893cf85.jpg

Сие недоразумение должно бы отсутствовать внизу, потому как никакого выбора из списка не сделано, не нажата кнопка, после которой и начинается выборка из БД.
умоляю, скажите, как это убрать?

привожу каждый файл:
Помощь: http://www.fayloobmennik.net/55227
Поиск: [url]http://www.fayloobmennik.net/55228[url]

  Ответить  
 
 автор: sms-send   (19.06.2010 в 19:51)   письмо автору
 
   для: Blondy   (19.06.2010 в 19:25)
 

> вывод, непонятно откуда берущийся.

А это что?

// <?php
while ($myrow mysql_fetch_array ($result)) {
printf("
<tr>
    <td>Сокращённое название системы</td>
    <td>%s</td>
  </tr>
  <tr>
    <td>Функции системы</td>
    <td>%s</td>
  </tr>
    <tr>
    <td>Цена системы</td>
    <td>%s</td>
  </tr>
   "
,$myrow['krnazwanie'],$myrow['krfunk'],$myrow['cena']);  
}


// <?php
while ($myrow mysql_fetch_array ($result)) {
printf("
<tr>
    <td>Сокращённое название</td>
    <td>%s</td>
  </tr>
  <tr>
    <td>Функции</td>
    <td>%s</td>
  </tr>
   "
,$myrow['krnazwanie'],$myrow['krfunk']);
}

  Ответить  
 
 автор: Blondy   (19.06.2010 в 20:26)   письмо автору
 
   для: sms-send   (19.06.2010 в 19:51)
 

Но это же условия выбора. Если я их удалю- у меня не будет работать выборка. У меня механизм простой- когда пользователь что-то выбирает и нажимает кнопку- происходит выбор из бд и отображение вот с помощью таких конструкций.

  Ответить  
 
 автор: sms-send   (19.06.2010 в 20:44)   письмо автору
 
   для: Blondy   (19.06.2010 в 20:26)
 

В начале скриптов выполняется запрос, результат записывается в переменную $result и считывается первый ряд.

// <?php
$result 
=mysql_query("SELECT * FROM nomenklatura",$gb);
$myrow mysql_fetch_array($result);


Ниже в коде:
// <?php
if (($gde == '00') && ($loc == '1')) // видимо это условие не выполняется и новое значение в $result не записывается
$result =mysql_query("SELECT * FROM `ispolzfun` WHERE krfunk = '$iskat'");
// а здесь "дочитывается" результат предыдущего запроса:
while ($myrow mysql_fetch_array ($result)) { 
printf("
<tr>
    <td>Сокращённое название</td>
    <td>%s</td>
  </tr>
  <tr>
    <td>Функции</td>
    <td>%s</td>
  </tr>
   "
,$myrow['krnazwanie'],$myrow['krfunk']);
}

  Ответить  
 
 автор: Blondy   (19.06.2010 в 22:39)   письмо автору
 
   для: sms-send   (19.06.2010 в 20:44)
 

То есть мне надо убрать вот это?
$result =mysql_query("SELECT * FROM nomenklatura",$gb);
$myrow = mysql_fetch_array($result);


Проба убрать- в обоих файлах породила тут же ошибки вот такие:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\mysite\www\wibor.php on line ...

На счёт строк- в обоих файлах именно там, где у меня начинается обработка и обращение к бд.
а именно в строках вот таких(это в файле с помощью):
if ($cost=='900')
$result =mysql_query("SELECT * FROM `ispolzfun` WHERE cena <= '$cost' AND krfunk = '$fu'");
while ($myrow = mysql_fetch_array ($result)) {
printf("


Прошу, подскажите блондинистому мозгу, что надо сделать чтоб исправить?

  Ответить  
 
 автор: sms-send   (19.06.2010 в 22:50)   письмо автору
 
   для: Blondy   (19.06.2010 в 22:39)
 

Вот взять этот же кусок

// <?php
/*01*/ if ($cost=='900'
/*02*/ $result =mysql_query("SELECT * FROM `ispolzfun` WHERE cena <= '$cost' AND krfunk = '$fu'"); 
/*03*/ while ($myrow mysql_fetch_array ($result)) { 
/*04*/ printf("


Запрос в строке 02 выполняется только в случае выполнения условия в строке 01. А вот последующая обработка (строка 03 и ниже) происходит в любом случае, не зависимо от выполнения условия в строке 01. Т.е. получается хоть выполнялся запрос, хоть нет, всё равно происходит попытка вывода его результата.


Нужно поместить выполнение запроса и его обработку в один блок с помощью фигурных скобок.

  Ответить  
 
 автор: Blondy   (19.06.2010 в 23:15)   письмо автору
 
   для: sms-send   (19.06.2010 в 22:50)
 

спасибо вам огромнейшее!!!!
Вот теперь всё идеально работает )

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

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