【问题标题】:PHP and MYSQL displaying 1 record of multiple NamePHP和MYSQL显示多个名称的1条记录
【发布时间】:2011-12-06 16:56:21
【问题描述】:

我正在设计一个具有不同事件的模型网站。我已将图像存储在数据库表名图像中。现在我的问题是如何在许多记录中为一个事件显示一条记录?例如:用户将在同一图像中上传多个事件图像,但具有相同的事件名称。现在我必须为每个事件显示单个图像。

表的名称是它获得的图像,如 imageID、imageName、imageType、eventName、imagePath

我如何创建一个 sql 语句来打印不同的事件名称和图像

【问题讨论】:

  • 让您的问题更具信息性,例如提供您的表格结构、提供您尝试使用的代码等。
  • 每次用户访问特定事件的页面时随机选取一张图片怎么样?
  • 嗨,Aziz,感谢您的回复,但我想要的是显示每个事件的 1 张图片。
  • 哪张图片呢?比如选择图片的标准是什么?
  • 我想创建一个名为 event 的页面,并希望获取字段名称为 eventName 的所有事件表单数据库。但是在数据库中,同一事件有多个记录。那么,我如何从众多事件中获取一个事件名称?

标签: php mysql database image


【解决方案1】:

你的问题不清楚。 希望这个查询可能会有所帮助。

 select * from images 
 where eventName='name'
 group by eventName

【讨论】:

    【解决方案2】:

    @learner 扩展答案:

    这段代码:

    SELECT * FROM images  
    WHERE eventName = 'name' 
    GROUP BY eventName 
    

    从所有可能适用的行中选择一个随机行。
    如果您想控制选择哪个图像,您需要使用HAVING 子句(或类似构造)。

    此代码将选择最近添加的图像。

    SELECT * FROM images  
    WHERE eventName = 'name' 
    GROUP BY eventName 
    HAVING id = MAX(id)       <<-- assuming id is an auto_incrementing primary key
    //HAVING date_added = MAX(date_added)  <<-- use this instead if you have an added_date
    

    如果您只对单个事件的单个图像感兴趣,您也可以这样做:

    SELECT * FROM images
    WHERE eventname = 'name'
    ORDER BY id DESC
    LIMIT 1 OFFSET 0;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 2011-12-10
      相关资源
      最近更新 更多