Спасибо, что ответили на мой вопрос: Игнорировать нулевые результаты в 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://img.ruphp.com/php/b91Dj.jpg
Как я могу это исправить? (если нет изображений, я полагаю, что могу установить значение по умолчанию в поле), и что бы вы порекомендовали?
Короче говоря, как мне хранить HTML-ссылки в базе данных PHPMyadmin?
благодаря
Это не проблема PHP или MySQL. Это HTML 101. Всякий раз, когда есть тег <a href="">
, он будет ссылаться на эту страницу, если он пуст. Я считаю, что это исправит это: <php> If $array['link '] echo '<a>'
вы можете сделать его немного опрятным, но это основная идея.
Вам нужно будет использовать условный оператор для определения строк без ссылок. Что-то вроде этого:
<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>