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

Форум PHP

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

 

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

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

тема: Скрытие пустых значений
 
 автор: SS   (20.04.2005 в 20:22)   письмо автору
 
 


<?php
  
while($total mysql_fetch_array($ctn))
  {
    echo 
"".$total['nominal'].", ".$total['material']." ".$total['grade']."<br>
    Монетный двор: "
.$total['mint'].", дата чеканки: ".$total['date1_stamp']."-".$total['date2_stamp']."<br>
    вес – "
.$total['weight']." г, диаметр – ".$total['diameter']." мм, ось – ".$total['axis']."";
}
?>


Вопрос 1. Если какое-то поле пустое, например, diameter и axis - можно ли сделать так, чтобы не выводилась информация вообще, т.е., удалить сопутствующий текст:
, диаметр – мм, ось –

Вопрос 2. Если поле "date1_stamp" и поле "date2_stamp" равны, то как сделать так, чтобы выводилось только одно значение, т.е. например, вместо
"272-272" выводилось только "272"?

   
 
 автор: JIEXA   (20.04.2005 в 20:34)   письмо автору
 
   для: SS   (20.04.2005 в 20:22)
 


<?php
  
while($total mysql_fetch_array($ctn))
  {
    echo 
"".$total['nominal'].", ".$total['material']." ".$total['grade']."<br>";
    if(!empty(
$total['mint'])) print "Монетный двор: ".$total['mint']." ,";
    if(!empty(
$total['date1_stamp']))
    {
            print 
"дата чеканки: ";
            if(
$total['date1_stamp']==$total['date2_stamp'])
            {
                    print 
$total['date1_stamp'];
            }
            else
            {
                    
$total['date1_stamp']."-".$total['date2_stamp']."<br>";
            }
    }
    if(!empty(
$total['weight'])) print "вес – ".$total['weight']." г,";
    if(!empty(
$total['diameter'])) print "диаметр – ".$total['diameter']." мм, ";
    if(!empty(
$total['axis'])) print"ось – ".$total['axis']."";
}
?>

f" border=0>

   
 
 автор: SS   (20.04.2005 в 22:50)   письмо автору
 
   для: JIEXA   (20.04.2005 в 20:34)
 

Спасибо, все получилось!

Еще вопросы:

1. Получилось, что некоторые строки пустые - нет данных, остались только <br>. Как сделать вывод на экран <br><br> в виде одного <br>

2. Как хранящееся в БД в текстовом формате значение RIC IX 0055.5 (Scarce) выводить на print без лишних нолей (которые добавлены для корректной сортировки по афлавиту), т.е. приобрело вид RIC IX 55.5 (Scarce) и при этом нормально сортировалось?
[т.е. нужно [пробел]005 поменять на [пробел]5 и т.д.]

   
 
 автор: cheops   (21.04.2005 в 02:07)   письмо автору
 
   для: SS   (20.04.2005 в 22:50)
 

2. Здесь можно воспользоваться регулярными выражениями
<?php
  $text 
"Как хранящееся в БД в текстовом формате значение RIC IX 0055.5 (Scarce)";
  
// Заменяем
  
echo preg_replace("# [0]+([^0])#i"," \\1"$text);
?>

Только применять данную конструкцию следует осторожно, чтобы не заменить лишнего.

   
Rambler's Top100
вверх

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