从我的数据库中检索照片并将其插入我的网站

时间:2014-03-09 04:46:16

标签: php mysql

我创建了一个包含4个不同表的数据库,

照片(photoID,类型,尺寸,名称,dateadded,urlID,标题) 用户(userID,fName,lName,密码) 专辑(albumID,标题,datecreated,datemod,尺寸(照片数量)) photoInAlbum(photoID,albumID)

albumID是相册表的主键,以及photoInAlbums表的外键。

photoID是照片表的主键,也是photoInAlbums表的外键。

photoID和albumID一起构成了photoInAlbums表的主键。

现在我在Album表格的数据库中创建了一个相册,并在照片表中创建了3张照片,并带有正确的urlID。现在我想显示你的一张专辑中的所有图片 通过使用PHP数据库调用来访问数据库。 编辑新代码

    <DOCTYPE HTML>
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="style/home.css">
    $mysqli = new mysqli("127.0.0.1", "user", "password", "database",       3306);
    if ($mysqli->connect_errno) {echo "Failed to connect to MySQL";}
    $albumId =1
    $sql = "SELECT Photos.photoID, Photos.name FROM photos 
    LEFT JOIN photoInAlbum ON (photoInAlbum.photoID = Photos.photoID) 
    WHERE albumID = $albumID";
    $resultset = mysqli_query ....
    while($row = mysqli_result_assoc($resultset)
    {
    /* Here you have the data for a photo in $row */
    /* Use this data to load the photo file from where you've stored it     */
    /* Now display the photo */
}

    </head>

    <body>
        <?php 
    // ** MySQL connection settings ** //

    //Keep this as localhost for the course server
    define('DB_HOST', 'localhost');

    // Your course server username
    define('DB_USER', 'tmh233sp14');    

    // Your course server password
    define('DB_PASSWORD', 'ECHOB8Se'); 

    // The name of the database to which you want to connect
    // info230_SP14_username
    define('DB_NAME', 'info230_SP14_tmh233sp14');    
    ?>

         <ul class="navbar">
                <li><a href="index.php">Home</a>
                </li>
                <li><a href="albums.php">Albums</a>
                </li>
                <li><a href="bestphotos.php">Best Photo's</a>
                </li>
                <li><a href="login.php">Member's Area</a>
                </li>
            </ul>
    <h1> Photo Album </h1>

        <div id="home"> This is the "Photo Album's" Home Page, where Albums by different users will be showed. 
            </div>
        <p> 
            </p>


    <?php
    $baseURL = "http://info230.cs.cornell.edu/users/tmh233sp14/www/P3";
    $urlID = $result["urlID"]; // this contains "/images/cat.jpg"
    print "<img src='$baseURL.$urlID' />";
    ?>
    <img src='info230.cs.cornell.edu/users/tmh233sp14/www/P3/<?php echo $urlID; ?>' /> 
    <div id="footer">
        <?php include ('footer.php') ?>
    </div>


    </body>
        </html>

在此之后,我不确定该去哪里,很少丢失。

最后,我试图让我的网页上显示的图片使用PHP来访问数据库 非常感谢

1 个答案:

答案 0 :(得分:0)

你的问题有点不清楚,但我会勇敢地采取行动。假设您已经在数据库中有照片,现在您需要阅读这些照片:

首先,mysqli_connect()到你的数据库(假设你正在使用mysqli)

$mysqli = new mysqli("127.0.0.1", "user", "password", "database", 3306);
if ($mysqli->connect_errno) {echo "Failed to connect to MySQL";}

现在在数据库中查询相册中的照片。

$albumId = // Whatever album you want to get data for 

设置查询以检索特定相册中的所有照片。我还假设您的$ albumId变量已经受到SQL Injection的保护。

$sql = "SELECT p.photoId, p.name FROM photos p 
LEFT JOIN photoInAlbum pia ON (pia.photoId = p.photoId) 
WHERE albumId = $albumId";

现在使用mysqli_query()运行查询并遍历结果集,可能使用mysqli_result_assoc()

$resultset = mysqli_query ....
while($row = mysqli_result_assoc($resultset)
{
    /* Here you have the data for a photo in $row */
    /* Use this data to load the photo file from where you've stored it */
    /* Now display the photo */
}

所以你去了,没有提到很多细节,你可以通过参考链接来解决这些问题。