Празно поле

cold_zero

Registered
Някой може ли да ми каже как, ако не е попълнено поле в базата данни с име "description" да изписва "Няма описание" ?
 
В смисъл при самото четене от базата данни, ако полето е празно да пише "Няма описание" :P А какви опции трябва да направя за default... ??
Направих го DEFAULT - Няма описание. Но не ми го паказва като полето е празно :( Ето при описание -> http://clips.zonebg.info/view.php?play=1ffvvdawko
 
За БД не знам, как става, но иначе можеш да направиш проверка с иф-цикъл и условие:

Обхождаш си резултата от заявката:
...
...
...
$description=row["description"];


И проверката (може и в уйал или фор-цикъла, с който обхождаш масива от БД) - ако полето е празно, променливата получава нова стойност:

if(empty($description))
{
$description="Няма описание";
}

Възможен е и друг запис, но не съм сигурен, как ще се държи твоя случай:

if(!$description)
{
...
}

или

if($description==0)
{
...
}

Това е от мен.
Дано съм бил полезен.
Успех!
 
Направих го по следния начин, но нестава

$description = $row[description];
if(empty($description))
{
$description="Няма описание";
}

сложено е в while
 
mysql_connect($dbhost, $dbusername, $dbpass);
mysql_select_db($dbname) or die( "Unable to select database");


$query2 = "update clips set viewed=viewed+1 where code='$play' and status='1'";
$result2 = mysql_query($query2) or die('Error, query failed');

$chars="SET CHARACTER SET cp1251";mysql_query($chars);
$query = " SELECT* FROM clips where code='$play' and status='1' ORDER BY id DESC ";
$result = mysql_query($query) or die('Error, query failed');

while($row = mysql_fetch_array($result))
{

$user = $row[uploaded];
$ip = $row[ip];
$file = $row
Код:
;
$fileid = $row[id];
$filename = $row[name];
$description = $row[description];
$description = str_replace(":)",'[img]/images/smilies/icon_smile.gif[/img]',$description);

$description1 = htmlspecialchars("$description", ENT_QUOTES);

//////////////////////////////////////////////////////////////////////
$post_no_html = $description;

$bbcode_regex = array(0 => '/\[b\](.+?)\[\/b\]/s',
1 => '/\[i\](.+?)\[\/i\]/s',
2 => '/\[u\](.+?)\[\/u\]/s',
3 => '/\[quote\](.+?)\[\/quote\]/s',
4 => '/\[quote\=(.+?)](.+?)\[\/quote\]/s',
5 => '/\[url\](.+?)\[\/url\]/s',
6 => '/\[url\=(.+?)\](.+?)\[\/url\]/s',
7 => '/\[img\](.+?)\[\/img\]/s',
8 => '/\[color\=(.+?)\](.+?)\[\/color\]/s',
9 => '/\[size\=(.+?)\](.+?)\[\/size\]/s',
10 => '/\[code\](.+?)\[\/code\]/s',
11 => '/\[font\=(.+?)\](.+?)\[\/font\]/s',
12 => '/\[center\](.+?)\[\/center\]/s',
13 => '/\[left\](.+?)\[\/left\]/s',
14 => '/\[right\](.+?)\[\/right\]/s');


$bbcode_replace = array( 0 => '<b>$1</b>',
1 => '<i>$1</i>',
2 => '<u>$1</u>',
3 => '<table class="quote" width="100%" border="0"><tr><td><font face="Tahoma" style="font-size: 8pt"><b>Цитат:</b></font></td></tr><tr><td bgcolor="#DFEAB5" width="100%" style="border:solid 1px black"><font face="Tahoma" style="font-size: 8pt">$1</font></td></tr></table>',
4 => '<table class="quote" width="100%" border="0"><tr><td><font face="Tahoma" style="font-size: 8pt"><b>$1 каза:</b></font></td></tr><tr><td bgcolor="#DFEAB5" width="100%" style="border:solid 1px black"><font face="Tahoma" style="font-size: 8pt">$2</font></td></tr></table>',
5 => '<a target="_blank" href="$1">$1</a>',
6 => '<a target="_blank" href="$1">$2</a>',
7 => '<img src="$1" alt="" title=""/>',
8 => '<span style="color:$1">$2</span>',
9 => '<span style="font-size:$1">$2</span>',
10 => '<table width="95%" border="0" align="center"><tr><td class="blue"><font size="2">Код:</font></td></tr><tr><td class="code" width="100%">$1</td></tr></table>',
11 => '<font face="$1">$2</font>',
12 => '<center>$1</center>',
13 => '<p align="left">$1</p>',
14 => '<p align="right">$1</p>');



ksort($bbcode_regex);
ksort($bbcode_replace);

//preg_replace to convert all remaining bbCode tags
$post_bbcode_treated = preg_replace($bbcode_regex, $bbcode_replace, $description1);
$description = nl2br($post_bbcode_treated); 

if(empty($description))
{
$description="Няма описание";
} 
$view = $row[viewed];
$date = $row[date];
$category = $row[category];
 
Имаш грешка другаде :(
Трябва да излизам, но струва ми се, че проблема е най-вероятно в листването или логически. Погледни за сгрешени имена на променливи.

Ако променливата няма стойност е NULL = 0 = empty

Трябва да тръгне. Ползвал съм всеки един от тези записи във всякакви ситуации, вкл за променливи, чиято стойност идва от БД.

Иф-цикъла трябва да стои след присвояването на стойността на променливата от БД иначе го заобикаляш (логическо несъответствие), т.е:

$description=row["description"];

if(empty($description))
{
$description="Няма описание";
}
echo "$description";

Ако не откриеш проблема, пусни кода тук, по-късно обещавам да го погледна!

Извършваш доста операции с променливата преди проверката - така не става, освен това ми се струва че под празно разбираш нещо друго. :(

Naj-malkoto ето това ще ти даде стойност - <БР> - един ред идва със сигурност:
$description = nl2br($post_bbcode_treated);

Сложи проверката по-горе, веднага след като вземаш стойността!
 
Еми искам когато потребителя не е попълнил полето "description" в базата данни да изважда "Няма описание" :(
 
там където трябва да се визуализира $description сложи това:

if(empty($description))
{
echo "Няма описание";
}
echo "$description";
 
Не става!

echo '......................<td bgcolor="#F4F4F4" width="78%"> <font face="Trebuchet MS" style="font-size: 9pt"><span lang="bg">';

if(empty($description))
{
echo "Няма описание";
}

echo ''.$description.'

</font></td>............';
 
Защото усложнявате с if-ове. Влез си в phpmyadmin и едитни полетата. На Default на Description сложи "Няма описание" :)
 
С тези настройки?
ScreenShot003.jpg
 
Дай само кода на заявката и на това как изкарваш резултата в това поле Описание.
 

Back
Горе