排列打印的照片尺寸

时间:2011-11-15 14:32:20

标签: php mysql sorting

我有一个MySQL字段,可以将打印的照片尺寸保存为文本,例如: 4x6,5x7,8x10,16x20,20x24等

我需要在下拉框中使用PHP列出这些,但是按维度顺序(如上所列)。如果我按alpha排序,我会得到: 16x20,20x24,4x6,5x7,8x10。

我猜我需要对" x"的位置做些什么。它将始终位于位置2或位置3但不确定如何排除它。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这很难看,但是......

ORDER BY
   CAST(SUBSTR(yourfield, 0, LOCATE('x', yourfield)) AS int),
   CAST(SUBSTR(yourfield FROM (LOCATE('x', yourfield) + 1)) AS int)
未经测试,可能是错误的,但应该做的伎俩。如果这是经常做的事情,我建议将这两个尺寸存储在单独的INT字段中,并在显示时间时根据需要对它们进行连接/字符串化。