|
|
|
| Привет!
Достаю информацию из бд к примеру
id | youtube | extra
1 | http://toytube.se?jejjej | 4
2 | 0 | 5
|
если Youtube = 0 то пришет что "Нет ссылок!"
если Youtube не равняетьйса 0, то пишет ссылку которая в бд
пишу так
$edit_post = mysql_query("SELECT * FROM `vA_life` WHERE id='{$_GET['id']}' LIMIT 1");
while($dt= mysql_fetch_row($edit_post))
{
if($dt[3] == 0) { print "No links"; } else { print $dt[3]; }
}
|
Проблема в том что ничего неработает, показываеть только "No links", как сделать функциональную функцию? Подскажите Плиз! | |
|
|
|
|
|
|
|
для: JESS
(04.09.2009 в 10:18)
| | Сделайте так и сами все увидите:
while($dt= mysql_fetch_row($edit_post))
{
print_r($dt);
if($dt[3] == 0) { print "No links"; } else { print $dt[3]; }
}
|
Если в таблице только 3 поля, у вас вообще нет такого элемента массива - $dt[3] | |
|
|
|
|
|
|
|
для: Лена
(04.09.2009 в 10:58)
| | Нет, он есть, я просто структуру БД упрощенную написал))
Вот база реальная>
CREATE TABLE IF NOT EXISTS `vA_life` (
`id` int(11) NOT NULL auto_increment,
`parent` int(11) default NULL,
`headline` varchar(225) default NULL,
`youtube` varchar(500) default NULL,
`text` longtext,
`date` datetime default NULL,
`renewal` datetime default NULL,
`show` char(1) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=42 ;
INSERT INTO `vA_life` (`id`, `parent`, `headline`, `youtube`, `text`, `date`, `renewal`, `show`) VALUES
(41, 0, 'Går inte att fixa bara', 'http://www.youtube.com/v/-vk5RGyR8DM&hl=sv&fs=1', 'hmm) cd', '2009-09-04 00:37:43', '2009-09-04 00:39:40', ''),
(39, 0, '<i>AS, Orka skriva nеt hдr!</i>', '0', 'heh)) ', '2009-09-03 23:58:00', '0000-00-00 00:00:00', ''),
(40, 0, '0', 'http://www.youtube.com/watch?v=s7a9xCIAdDU', 'huh)', '2009-09-04 00:00:05', '0000-00-00 00:00:00', '');
|
| |
|
|
|
|
|
|
|
для: Лена
(04.09.2009 в 10:58)
| | вот я написал код, вроде работает:
$headline = $dt[2];
$youtube = $dt[3];
//Headline Function
$string_headline = strlen($headline);
if($string_headline == 0) { $set_headline = "Rubrik Saknas"; } else { $set_headline = $headline; }
// EOF
//YouTube Function
$string_youtube = strlen($youtube);
if($string_youtube == 0) { $set_youtube = "YouTube Klipp Adress Saknas"; } else { $set_youtube = $youtube; }
// EOF
|
| |
|
|
|
|
|
|
|
для: JESS
(04.09.2009 в 13:29)
| | >if($dt[3] == 0)
Когда Вы сравниваете строку с интом, php приводит эту строку к инту. Результатом будет:
<?php
var_dump( (int)'http://www.youtube.com/watch?v=s7a9xCIAdDU' );
?>
| и соответственно
<?php
var_dump( 'http://www.youtube.com/watch?v=s7a9xCIAdDU' == 0 );
?>
|
| |
|
|
|
|
|
|
|
для: Root
(04.09.2009 в 13:39)
| | Можете подробнее объяснить, куда это подставлять? | |
|
|
|
|
|
|
|
для: JESS
(04.09.2009 в 13:59)
| | это нужно один раз запустить, чтобы понять что происходит. | |
|
|
|
|
|
|
|
для: root
(04.09.2009 в 14:01)
| | Не понимаю, первая пишет
boot(true)
Вторая>
int(0) | |
|
|
|
|
|
|
|
для: JESS
(04.09.2009 в 14:43)
| | если Вы в двух строчках путаете их порядок.. а с ним и результаты, нет ничего удивительного, что Вы не понимаете. | |
|
|
|
|
|
|
|
для: JESS
(04.09.2009 в 14:43)
| | В Вашем $dt[3] находится строка.
Эту строку Вы пытаетесь сравнить с интом (0)
if($dt[3] == 0) { print "No links"; } ...
Результатом будет true потому, что:
php попробует привести строку в $dt[3] к инту.
<?php
var_dump( (int)'http://www.youtube.com/watch?v=s7a9xCIAdDU' );
| Получится: int(0);
После этого, оператор "if($dt[3] == 0) { print "No links"; }..." будет выглядеть так:
if(0 == 0) { print "No links"; } | |
|
|
|
|
|
|
|
для: root
(04.09.2009 в 15:12)
| | а может сразу скажите куда надо смотреть, функции, операторы ... ? | |
|
|
|
|
|
|
|
для: JESS
(05.09.2009 в 00:13)
| | смотрите функции, операторы ... | |
|
|
|