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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как сократить код???

Сообщения:  [1-10]   [11-13] 

 
 автор: aleksej_sumarok   (06.12.2008 в 15:03)   письмо автору
 
   для: SDL   (06.12.2008 в 02:51)
 

Спасибо Вам огромное очень помогли...! :)

  Ответить  
 
 автор: SDL   (06.12.2008 в 02:51)   письмо автору
 
   для: aleksej_sumarok   (05.12.2008 в 14:14)
 

на будущее: если возникает подобная проблема, то выводи значения переменных, чтобы посмотреть, что там в них хранится, а лучше - эnj'mgjkmpjdfnmcz отладчиком, удобнее.
проверяй if (mysql_query(...)) echo "work!"; else echo "not work!";
смотри сколько выбрано строк с помощью ф-ии mysql_num_rows($qw).
if (mysql_num_rows($qw) > 1) echo "work!";
else echo "not work!";

вот такие секреты нахождения некоторых ошибок)

  Ответить  
 
 автор: SDL   (06.12.2008 в 02:47)   письмо автору
 
   для: aleksej_sumarok   (05.12.2008 в 14:14)
 

все дело в том, что переменные у функций имеют локальную область видимости.
поэтому переменная $year и другие, которые участвуют в запросе для кода внутри ф-ии не опредены. соответсовенно и результат - это ноль полей (если нет пустых записей).
соответсовенно, далее происходит ошибка.

как устранить эту проблему?
есть два варианта:
1 передать все параметры вызываемой ф-ии. если много их, то не удобно. поэтому есть второй вариант
2 использовать массив $GLOBALS. сделать следующие действия: $day = $GLOBALS["day"]; и т.д для всех других внешних переменных, используемых в ф-ии. При этом значение внешней переменной не изменится. Создается переменная ф-ии с таким же именем как и внешняя (в примере выше), которая уничтожается при завершении работы ф-ии.

  Ответить  
 
 автор: sim5   (06.12.2008 в 02:01)   письмо автору
 
   для: aleksej_sumarok   (05.12.2008 в 14:14)
 

'weeding_rings_worker' - а это что за аргумент вы передаете в функцию?

  Ответить  
 
 автор: aleksej_sumarok   (06.12.2008 в 01:41)   письмо автору
 
   для: aleksej_sumarok   (05.12.2008 в 14:14)
 

HELP PLIIIZZ!!!

  Ответить  
 
 автор: aleksej_sumarok   (05.12.2008 в 14:14)   письмо автору
 
   для: sl1p   (04.12.2008 в 18:07)
 


<?
function colors($worker) {
$results mysql_query("SELECT * FROM orders WHERE day='$day' AND month='$month' AND year='$year'");
while(
$rows mysql_fetch_array($results))
{    
$res strpos($row['list_city'], $city);    
if (
$rows['day']."-".$rows['month']."-".$rows['year'] == $day."-".$month."-".$year && $rows[$worker] == $row['user_id'] && $res === false){echo color('#FF0000');}
elseif (
$rows['day']."-".$rows['month']."-".$rows['year'] == $day."-".$month."-".$year && $rows[$worker] == $row['user_id'] && $res !== false){echo color('#FF5500');}
}

$results mysql_query("SELECT * FROM orders");
while(
$rows mysql_fetch_array($results))
{    
$res strpos($row['list_city'], $city);    
if (
$rows['day']."-".$rows['month']."-".$rows['year'] == $day."-".$month."-".$year && $rows[$worker] !== $row['user_id'] && $res === false){echo color('#0070C0');}
elseif (
$rows['day']."-".$rows['month']."-".$rows['year'] == $day."-".$month."-".$year && $rows[$worker] !== $row['user_id'] && $res !== false ){echo color('#00B050');}
elseif (
$rows['day']."-".$rows['month']."-".$rows['year'] !== $day."-".$month."-".$year && $rows[$worker] !== $row['user_id'] && $res === false){echo color('#0070C0');}
elseif (
$rows['day']."-".$rows['month']."-".$rows['year'] !== $day."-".$month."-".$year && $rows[$worker] !== $row['user_id'] && $res !== false ){echo color('#00B050');}
}
}
?>



<?
echo colors('weeding_rings_worker');
?>


У меня каждое значение выводит свой цвет, а если вызываешь функцию таким способом, то вообще ни какого цвета не выводит....

  Ответить  
 
 автор: sl1p   (04.12.2008 в 18:07)   письмо автору
 
   для: aleksej_sumarok   (04.12.2008 в 17:45)
 

Ну тут так ничего не скажешь глядя на код ибо не понятно что куда и зачем.
Опишите хотя бы подробней что именно не получается когда вы используете функцию, и желательно код функции в студию.

  Ответить  
 
 автор: aleksej_sumarok   (04.12.2008 в 17:45)   письмо автору
 
   для: sl1p   (04.12.2008 в 17:25)
 

ну вот так я пробовал и не получается, если ставишь в функцию хтмл код то всё ок, а если соединение с базой как в данном примере, то не работает...

  Ответить  
 
 автор: sl1p   (04.12.2008 в 17:25)   письмо автору
 
   для: aleksej_sumarok   (04.12.2008 в 15:46)
 

единственное что будет в нём меняться это $worker
ну и в чём проблема?

function yourFunc($worker) {

}

  Ответить  
 
 автор: bronenos   (04.12.2008 в 17:22)   письмо автору
 
   для: aleksej_sumarok   (04.12.2008 в 16:40)
 

У вас слишком разные условия и их количество

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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