Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2013, 14:43   #1
Jopses
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 39
По умолчанию Запись данных из БД в переменную

Здравствуйте уважаемые!
Ситуация такова.
Есть выборка из базы:
cl_data cl_serviceactive cl_service_name и остальные не относящиеся к делу столбцы
дата true или false Тариф
дата true или false Тариф
дата true или false Тариф
и т.д. Может быть ещё несколько, а может быть и вообще один
Основываясь на полученных данных, нужно записать результат в переменную, что бы в дальнейшем можно было вывести результат в ячейку таблицы, но с условием:
Если cl_serviceactive = true, то окрасить строчку в зелёный
Вида: <font color='green'>Тариф (дата)</font><br>
Если cl_serviceactive = false, то окрасить строчку в красный
Вида: <font color='red'>Тариф (дата)</font><br>
В итоге переменная $tvcol (например) должна содержать данные вида:
<font color='green'>Тариф вася (20.11.2012)</font><br>
<font color='green'>Тариф петя (26.10.2012)</font><br>
<font color='red'>Тариф кузя (12.02.2013)</font><br>
<font color='green'>Тариф дуня (21.03.2013)</font><br>
То есть все записи присутствующие в выборке, но с условием раскраски строк. Ни каких массивов не надо, тупо СТРОКА<br>СТРОКА<br>СТРОКА…
Я ковырялся, ковырялся, но что-то ни чего путного не наковыряли.
Пытался выводить так, но в итоге только одна строка и то последняя из выборки.

PHP код:
$res pg_query($db$sql)
while(
$tv pg_fetch_assoc($res)){
            if(
$tv['cl_serviceactive']=='t'){
                
$tvcol "<font color='green'>{$tv['service_name']} ({$tv['cl_date']})</font><br>";
            }else{
                
$tvcol "<font color='red'>{$tv['service_name']}'('{$tv['cl_date']}')</font><br>";
            }
        } 
Я понимаю, что надо ещё один цикл прикрутить, но вот куда, ни как не доходит.
Подскажите, пожалуйста, где лажаю.
Благодарю, всех кто откликнется.
Jopses вне форума Ответить с цитированием
Старый 23.03.2013, 14:55   #2
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

А почему?
PHP код:
if($tv['cl_serviceactive']=='t'
может так???
PHP код:
if($tv['cl_serviceactive']===true
kuba1981 вне форума Ответить с цитированием
Старый 23.03.2013, 15:06   #3
Jopses
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 39
По умолчанию

в таблице результат выводится как t и f соответственно как true и false
Jopses вне форума Ответить с цитированием
Старый 23.03.2013, 15:17   #4
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

Тогда у тебя все правильно работает, только ты перезаписываешь каждый раз переменную $tvcol поэтому и выводит только последний результат
kuba1981 вне форума Ответить с цитированием
Старый 23.03.2013, 15:25   #5
Jopses
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 39
По умолчанию

ну так, а как мне сделать что бы после проверки дописывалась очередная строка, а не перезаписывалась?
Jopses вне форума Ответить с цитированием
Старый 23.03.2013, 15:34   #6
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

ну ты в таблицу как я понимаю выводишь?
PHP код:
$res pg_query($db$sql) ;
echo 
"<table>";
while(
$tv pg_fetch_assoc($res)){ 
           echo 
"<td><tr>";
            if(
$tv['cl_serviceactive']=='t'){ 
                echo 
"<font color='green'>{$tv['service_name']} ({$tv['cl_date']})</font><br>"
            }else{ 
                echo  
"<font color='red'>{$tv['service_name']}'('{$tv['cl_date']}')</font><br>"
            } 
           echo 
"</td></tr>"
        }
echo 
"</table>"
примерно так, выводи сразу в таблицу
kuba1981 вне форума Ответить с цитированием
Старый 23.03.2013, 15:35   #7
Jopses
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 39
По умолчанию

не не)) Основа темы что бы записать данные в переменную, а потом можно было её применить к любому элементу файла, так сказать))
Jopses вне форума Ответить с цитированием
Старый 23.03.2013, 15:51   #8
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

С одной переменной так не сделаеш по любому, не пойму а зачем тебе??? ты же вроде хотел расскрасить ячейки в зависимости от результата))))
kuba1981 вне форума Ответить с цитированием
Старый 23.03.2013, 15:58   #9
Jopses
Пользователь
 
Регистрация: 03.02.2012
Сообщений: 39
По умолчанию

да мне как раз то нужна переменная, что бы можно было её применить в нескольких местах, а не писать по 10 раз циклы в разных местах)
Jopses вне форума Ответить с цитированием
Старый 23.03.2013, 16:02   #10
kuba1981
Форумчанин
 
Регистрация: 22.08.2012
Сообщений: 155
По умолчанию

Ну ты же ее(переменную) все равно применяешь для форматирования ячеек в таблице, а данные в таблицу все равно в цикле выводить надо везде, ты как потом таблицу рисуешь???
kuba1981 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись большого числа в переменную pavelitel Общие вопросы C/C++ 16 27.11.2012 21:55
Запись в переменную из ini файла Auron Общие вопросы Delphi 2 24.07.2012 12:30
ASP // Запись ячейки БД в переменную Veiron Общие вопросы .NET 2 30.03.2010 23:28
Запись данных ячейки в переменную myxosran Помощь студентам 3 06.03.2010 20:27
Запись из файла в переменную Sekt Общие вопросы C/C++ 1 20.10.2009 13:02