0

私は、年齢層のあるさまざまな人々を含むデータベースを持っています。データベースでは、年齢データは 6 か月で 6m、5 歳で 5 年などを示しています。データをフィルタリングして、5 歳未満の年齢層のみを表示できるようにする必要があります。これが、現時点での私の PHP の外観です。

$query = "SELECT DISTINCT code, minimumAge, description
          FROM recalls
          WHERE startBasis='age'
          ORDER BY code";
while ($row = mysql_fetch_array($result))
{
    if($row['minimumAge'] <= 5) {
        echo "<option value='" . $row['code'] . "'> "
          . $row['code'] . " " . $row['minimumAge'] . " " . $row['description'] 
          . "</option>";
    }

現時点では、年齢が 6 歳の人がいる場合、数字が 5 よりも大きいため表示されません。5 歳未満で 5 歳以上の人の情報を含めるにはどうすればよいですか?

4

2 に答える 2

0

または、正規表現を使用せずに、WHERE 句の minimumAge から最初の文字をフェッチするだけでよいでしょうか。

完全に/徹底的にチェックするのが面倒です..しかし、次のように考えています:

SELECT DISTINCT code, minimumAge, description
FROM recalls
WHERE startBasis='age'
AND ( 1 * SUBSTR( minimumAge , 1 , 1 ) ) < 6
ORDER BY code

だから、テストされていないなど。

于 2012-10-02T16:48:18.710 に答える