0

単一の where 句で複数の条件にエコーを設定しようとしています...この値が見つかった場合は何かをエコー...他の値が見つかった場合は何かをエコー...私のコードは現在、テーブル内のすべてのデータをエコーし​​続けます特定のフィールドに格納された値に基づいて、特定のデータセットをエコーすることのみが想定されています...

<?php
$query = mysql_query("SELECT *
    FROM   tblfoodoptions JOIN tblhealthconditionfoods 
        ON tblfoodoptions.FoodID = tblhealthconditionfoods.FoodID, tblhealthcondition                                
    WHERE  tblhealthconditionfoods.HealthconditionID = tblHealthcondition.HealthconditionID 
    AND tblhealthcondition.Healthcondition IN ( 'Diabetes Type1' OR 'Diabetes Type2' OR 'General Health' OR 'Pregnant' OR 'Anemia' OR 'High Cholesterol')");

{
    echo "<table width='100%' border='4'>
            <caption>Your Food Options</caption>
            <thead>
                <tr>
                    <th>FoodName</th>
                    <th>Serving_Size</th>
                    <th>Calories</th>
                    <th>Cholestrol</th>
                    <th>Sodium</th>
                    <th>Protein</th>
                    <th>Total_Carbohydrates</th>
                    <th>Total_Fat</th>
                </tr>
            </thead>
        <tbody>";

        while($row = mysql_fetch_array($query))
        {
            echo "<tr>";
            echo "<td>".$row['FoodName']."</td>";
            echo "<td>".$row['Serving_Size']."</td>";
            echo "<td>".$row['Calories']."</td>";
            echo "<td>".$row['Cholesterol']."</td>";
            echo "<td>".$row['Sodium']."</td>";
            echo "<td>".$row['Protein']."</td>";
            echo "<td>".$row['Total_Carbohydrates']."</td>";
            echo "<td>".$row['Total_Fat']."</td>";
            echo "</tr>";
        }
        echo "</tbody></table>";
    }       
?>
4

4 に答える 4

0

IN 条件の値は、OR 式で割った多くの値と同じです

それで

where field = 10 OR field = 20 OR field = 30 
where field IN (10,20,30)

これらの行は両方とも似ています

于 2013-04-19T17:01:27.113 に答える