PHP使用数据库中的数据在链接页面上生成内容

时间:2014-04-19 13:20:38

标签: php mysql

我开始建立一个网站并在这里找到了有用的信息,所以希望你能帮我解决这个问题,因为我已经陷入困境。

我的网站现场:http://ivolschi.co.uk/Tentativa1/。我有文章,每个都有一个小图片,将链接到显示视频的新页面。我使用PHP在数据库中生成文章中的数据。当您点击图片时,您可以看到它链接到新页面示例:http://ivolschi.co.uk/Tentativa1/image_id=2其中' 2'是图像ID。

从数据库获取数据并在链接上添加图像ID的PHP部分是:

<?php
$sql = 'SELECT * FROM image ORDER BY image_id DESC';                                     mysql_select_db('10gag');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}

while($row = mysql_fetch_array($retval)) {                                      
    echo "
    <div class='col-xs-12 col-sm-12 col-md-12 left'>
        <div class='row article'>
            <div class='post-content'>
                <a href='image_id={$row['image_id']}'target='SELECT video.movie_url FROM video inner join image on video.video_id= image.image_i'>
                    <img src={$row['image_source']} width= '160' height= '100'>
                </a>
            </div>
            <p>{$row['image_text']}</p>
        </div>
    </div>      
    ";
}
?>

我需要在ivolschi.co.uk/Tentativa1/'image_id'上显示;与数据库中的image_id匹配的视频(movie_url)。

数据库是:

CREATE TABLE IF NOT EXISTS `image` (
  `image_id` int(11) NOT NULL AUTO_INCREMENT,
  `date_added` datetime NOT NULL,
  `image_name` text NOT NULL,
  `image_source` text NOT NULL,
  `image_text` text NOT NULL,
  PRIMARY KEY (`image_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

CREATE TABLE IF NOT EXISTS `video` (
  `video_id` int(11) NOT NULL DEFAULT '0',
  `date_added` datetime NOT NULL,
  `movie_title` text NOT NULL,
  `movie_url` text NOT NULL,
  `votes` int(11) NOT NULL,
  `image_id` int(11) NOT NULL,
  PRIMARY KEY (`video_id`),
  KEY `image_image_id_fk` (`image_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `video`
  ADD CONSTRAINT `image_image_id_fk` 
   FOREIGN KEY (`image_id`) REFERENCES `image` (`image_id`);`

你能指点一下我需要用来完成这个的PHP代码吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

如果每篇文章都有图片,您可以使用SELECT INNER JOIN执行初始video。在a href目标中,验证您是否拥有数据库的绝对路径或相对路径。

<?php
$sql = 'SELECT * FROM image INNER JOIN video ON image.image_id = video.image_id ORDER BY image_id DESC';                                     
mysql_select_db('10gag');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}

while($row = mysql_fetch_array($retval)) {                                      
    echo "
    <div class='col-xs-12 col-sm-12 col-md-12 left'>
        <div class='row article'>
            <div class='post-content'>
                <a href='{$row['movie_url']}'>
                    <img src={$row['image_source']} width= '160' height= '100'>
                </a>
            </div>
            <p>{$row['image_text']}</p>
        </div>
    </div>      
    ";
}
?>