开发者

Displaying links in PHP/MySQL?

Thank you for answering my question at Ignore null results in MySQL JOIN queries

I've created my own radio station website in localhost, at http://myradiostation.localhost

This is the code:

<?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)){
    ?>

This is the HTML code:

            <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;
    }
    ?>

It does work, except for one thing - the content without links still links back to the page itself, even though the database columns have some blank content.

Here's the SQL code - create a database called radio1 in PHPmyadmin and this code:

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');

It works with no major issues, except the linking one.

It displays properly, like this:

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

How c开发者_运维技巧an I fix this? (if there's no images I suppose I could set a default value in the field though), and what would you recommend?

In short, how should I store HTML links in a PHPMyadmin database?

Thanks


Its not a PHP or MySQL problem. It's HTML 101. Whenever there is an <a href=""> tag, it will link to that page if it's blank. I believe that this will fix it: <php> If $array['link '] echo '<a>' You can make it a bit neater, but this is the basic idea.


You will need to use a conditional statement to detect rows without links. Something like this:

<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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜