表中的图片

时间:2012-06-29 11:25:55

标签: php mysql create-table

我正在使用PHP和MySQL(html和CSS不是什么大问题)我想收集我上传的图像(路径在MySQL中)并将它们放在一个表中。想象一下5列6行的表格(总共30张图片)。我希望最新的图片位于第一列的第一行 - 左边和顶部 - 我希望最旧的图片位于最后一列的最后一行 - 所以正确和位于底部 - -

的index.php

<?php
    //Put all required/included files in here
    require_once('config.php');

    //Connection to database
    $link = mysql_connect(DB_HOST,DB_USER,DB_PASS);
    if(!$link) {
        die('Connection failed: ' . mysql_error());
    }

    //Select which database to use
    $db = mysql_select_database(DB_NAME);

    if(!$db) {
        die("Database selection failed: " . mysql_error());
    }
?>

的config.php

<?php
    define('DB_HOST','host');
    define('DB_USER','user');
    define('DB_PASS','pass');
    define('DB_NAME','name');
?>

现在,SQL布局:

layout.sql

CREATE TABLE 'fotos'(
    id int not null,
    locatie_thumb text not null,
    locatie_middel text not null,
    locatie_groot text not null,
    primary key(id)
);

CREATE TABLE 'tekst'(
    id int not null auto_increment,
    titel text not null,
    bijschrift text not null,
    album text not null,
    datum DATE not null,
    primary key(id)
);

表格背后的想法是我通过上传表格上传图片,我在那里输入titel, bijschrift, album, datum值,MySQL创建一个ID。然后,我想使用该ID将tekstfotos链接到表格中。

我如何从MySQL中收集30个最新的条目,并将它们排列在一个包含5列和6行的表格中,当我希望最新的图片为左,顶部,最旧的图片为右,底部?

3 个答案:

答案 0 :(得分:1)

尝试过:

SELECT *
FROM fotos, tekst
WHERE fotos.id=tekst.id
ORDER BY tekst.datum DESC
LIMIT 30

如果这是一对一的关系,那么为什么不把它全部放在同一个表中

答案 1 :(得分:1)

我不知道“tekst”是什么,但你可以:

  • 为每张图片添加一个日期字段,使用mysql为NOW()设置
  • 在mysql中,对图片进行查询,按前一个日期字段排序,并限制为30个结果
  • 在php中,使用查询结果并创建一个HTML表(或者更好的干净div结构)来保存30张图片。

答案 2 :(得分:0)

只需订购您的查询...

当您调用MySql时,请创建一个类似

的句子
SELECT * FROM fotos ORDER BY date
已经订购了

或ID(以下情况):)