Отображение ссылок в PHP / MySQL? - PullRequest
0 голосов
/ 15 июля 2011

Спасибо, что ответили на мой вопрос на Игнорируйте нулевые результаты в запросах MySQL JOIN

Я создал свой собственный сайт радиостанции в 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 - создайте базу данных radio1 в PHPmyadmin и этот код:

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

Как это можно исправить?(если нет изображений, я полагаю, что я мог бы установить значение по умолчанию в этом поле), и что бы вы порекомендовали?

Короче, как мне хранить ссылки HTML в базе данных PHPMyadmin?

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 июля 2011

Это не проблема PHP или MySQL.Это HTML 101. Всякий раз, когда есть тег <a href="">, он будет ссылаться на эту страницу, если он пустой.Я верю, что это все исправит: <php> If $array['link '] echo '<a>' Вы можете сделать это немного аккуратнее, но это основная идея.

0 голосов
/ 15 июля 2011

Вам потребуется использовать условный оператор для обнаружения строк без ссылок.Как то так:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...