在PHP / MySQL中显示链接?

时间:2011-07-15 19:28:10

标签: php mysql image echo default-value

感谢您在Ignore null results in MySQL JOIN queries

回答我的问题

我在localhost创建了自己的广播电台网站http://myradiostation.localhost

这是代码:

<?php
    $connection = mysql_connect("localhost", "root", "PASSWORD") or die("Error connecting to database");
    mysql_select_db("radio1", $connection);
    $result = mysql_query("SELECT * FROM presenters;", $connection) or die("error querying database");
    $i = 0;
    while($result_ar = mysql_fetch_assoc($result)){
    ?>

这是HTML代码:

            <div class="divider"></div>
            <div class="main" style="width:552px;">
                <img src="<?php echo $result_ar['image']; ?>" width=115 height=60>
                <div class="time"><?php echo $result_ar['airtime']; ?></div>
                <div class="show"><h3><b><a href="<?php echo $result_ar['link']; ?>"><?php echo $result_ar['presenter']; ?></a></b></h3>
                    <p><?php echo $result_ar['showinfo']; ?></p></div>
                <div class="footer"></div>
            </div>
    <?php
    $i+=1;
    }
    ?>

确实工作,除了一件事 - 没有链接的内容仍链接回页面本身,即使数据库列有一些空白内容。

这是SQL代码 - 在PHPmyadmin中创建一个名为radio1的数据库,代码如下:

CREATE TABLE IF NOT EXISTS `presenters` (
  `presenter` varchar(255) NOT NULL,
  `link` varchar(255) NOT NULL,
  `image` varchar(255) NOT NULL,
  `airtime` time NOT NULL,
  `showinfo` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `presenters`
--

INSERT INTO `presenters` (`presenter`, `link`, `image`, `airtime`, `showinfo`) VALUES
('Non-Stop Nightshift', '', '', '01:00:00', 'More Music Variety through your weekend'),
('Greatest Hits', '', '', '06:00:00', 'Hit Music now!'),
('John Doe', 'http://www.myradiostation.localhost/johndoe', '', '08:00:00', 'Join John at the weekend');

除了链接之外,它没有任何重大问题。

它显示正确,如下所示:

http://i.stack.imgur.com/b91Dj.jpg

我该如何解决这个问题? (如果没有图像,我想我可以在字段中设置默认值),你会推荐什么?

简而言之,我应该如何在PHPMyadmin数据库中存储HTML链接?

由于

2 个答案:

答案 0 :(得分:0)

您需要使用条件语句来检测没有链接的行。像这样:

<div class="show"><h3><b>
<?php
if ( empty( $result_ar['link'] ) ) {
    echo $result_ar['presenter'];
}
else {
    echo '<a href="' . $result_ar['link'] . '">' . $result_ar['presenter'] . '</a>';
}
?>
</b></h3>

答案 1 :(得分:0)

它不是PHP或MySQL问题。它是HTML 101.每当有<a href="">标记时,如果它是空白的,它将链接到该页面。我相信这会解决它: <php> If $array['link '] echo '<a>' 你可以让它更整洁,但这是基本的想法。