0

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

索引.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());
    }
?>

配置文件

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

现在,SQL 布局:

布局.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 将tekstand链接fotos到表中。

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

4

3 回答 3

1

你试过:

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

如果这是一对一的关系,那为什么不把它们都放在同一张表中呢?

于 2012-06-29T11:29:46.480 回答
1

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

  • 为每张图片添加一个日期字段,由 mysql 使用 NOW() 设置
  • 在mysql中,对图片进行查询,按前面的日期字段排序,限制为30个结果
  • 在 php 中,使用查询结果并创建一个 HTML 表(或者更好的是一个干净的 div 结构)来保存 30 张图片。
于 2012-06-29T11:31:53.087 回答
0

只需订购您的查询...

调用MySql的时候,造句像

SELECT * FROM fotos ORDER BY date

或通过 ID 以防万一已订购 :)

于 2012-06-29T12:00:31.363 回答