将数据库中的值输出到html表PHP中

时间:2011-12-02 13:24:42

标签: php sql

我有下面的代码,根据用户选择的周数从表格中获取数据,只有2个星期可供选择。

它根据if语句将配方的标题放入相关表中,但似乎产生了奇怪的输出。

当我试图查看只有部分数据填入其中的一周时,将数据串到错误的单元格上;看这个图像: Table problem 位于顶行的“沙拉”应该在“星期天”

这仅在表格不完整时才会发生。

 if(!empty($_POST['selectweek'])) {
                        $selectweek = mysql_real_escape_string($_POST['selectweek']);

                        function ouptutMeal($selectweek, $mealtime, $mealname) {
                            $sqlmeasurement2 = mysql_query("SELECT title, dayid
                                                            FROM recipe
                                                            JOIN menu ON recipe.recipeid = menu.recipeid
                                                            WHERE menu.weekid = '$selectweek'
                                                            AND menu.mealtimeid = '$mealtime'
                                                            ORDER BY dayid");

                            echo "<br/>
                                <table>
                                    <td></td>
                                    <td><strong>Monday</strong></td>
                                    <td><strong>Tuesday</strong></td>
                                    <td><strong>Wednesday</strong></td>
                                    <td><strong>Thursday</strong></td>
                                    <td><strong>Friday</strong></td>
                                    <td><strong>Saturday</strong></td>
                                    <td><strong>Sunday</strong></td>
                                <tr>
                                   <td><strong>$mealname</strong></td>";
                                while($info2 = mysql_fetch_array( $sqlmeasurement2 )) {
                                    if($info2['dayid'] == '1') {
                                        echo '
                                              <td>', $info2['title'], '</td>';
                                    }

                                    elseif($info2['dayid'] == '2') {
                                        echo '
                                              <td>', $info2['title'], '</td>';
                                    }

                                     elseif($info2['dayid'] == '3') {
                                        echo '
                                              <td>', $info2['title'], '</td>';
                                    }

                                    elseif($info2['dayid'] == '4') {
                                        echo '
                                              <td>', $info2['title'], '</td>';
                                    }

                                    elseif($info2['dayid'] == '5') {
                                        echo '
                                              <td>', $info2['title'], '</td>';
                                    }

                                    elseif($info2['dayid'] == '6') {
                                        echo '
                                              <td>', $info2['title'], '</td>';
                                    }

                                    else {
                                        echo '
                                              <td>', $info2['title'], '</td>';
                                    }
                                } 
                            echo '</tr>
                                </table>';
                            }
                        ouptutMeal($selectweek, 1, 'Breakfast');
                        ouptutMeal($selectweek, 2, 'Lunch');
                        ouptutMeal($selectweek, 3, 'Evening Meal');
                        ouptutMeal($selectweek, 4, 'Pudding');
                        ouptutMeal($selectweek, 5, 'Supper & Snacks');
                        }

2 个答案:

答案 0 :(得分:1)

如果不存在,则执行if语句以查看值是否存在

   <td>& nbsp;</td>

所以它正确地填满你的桌子。

答案 1 :(得分:0)

您还可以在运行查询之前将变量声明为空,例如:

if(!empty($_POST['selectweek'])) {
    $info1 = '';
    $info2 = '';
    $selectweek = mysql_real_escape_string($_POST['selectweek']);

    function ouptutMeal($selectweek, $mealtime, $mealname) {
        $sqlmeasurement2 = mysql_query("SELECT title, dayid
                                        FROM recipe
                                        JOIN menu ON recipe.recipeid = menu.recipeid
                                        WHERE menu.weekid = '$selectweek'
                                        AND menu.mealtimeid = '$mealtime'
                                        ORDER BY dayid");

        echo "<br/>
            <table>
                <td></td>
                <td><strong>Monday</strong></td>
                <td><strong>Tuesday</strong></td>
                <td><strong>Wednesday</strong></td>
                <td><strong>Thursday</strong></td>
                <td><strong>Friday</strong></td>
                <td><strong>Saturday</strong></td>
                <td><strong>Sunday</strong></td>
            <tr>
               <td><strong>$mealname</strong></td>";
            while($info2 = mysql_fetch_array( $sqlmeasurement2 )) {
                if($info2['dayid'] == '1') {
                    echo '
                          <td>', $info2['title'], '</td>';
                }

                elseif($info2['dayid'] == '2') {
                    echo '
                          <td>', $info2['title'], '</td>';
                }

                 elseif($info2['dayid'] == '3') {
                    echo '
                          <td>', $info2['title'], '</td>';
                }

                elseif($info2['dayid'] == '4') {
                    echo '
                          <td>', $info2['title'], '</td>';
                }

                elseif($info2['dayid'] == '5') {
                    echo '
                          <td>', $info2['title'], '</td>';
                }

                elseif($info2['dayid'] == '6') {
                    echo '
                          <td>', $info2['title'], '</td>';
                }

                else {
                    echo '
                          <td>', $info2['title'], '</td>';
                }
            } 
        echo '</tr>
            </table>';
    }
    ouptutMeal($selectweek, 1, 'Breakfast');
    ouptutMeal($selectweek, 2, 'Lunch');
    ouptutMeal($selectweek, 3, 'Evening Meal');
    ouptutMeal($selectweek, 4, 'Pudding');
    ouptutMeal($selectweek, 5, 'Supper & Snacks');
}
相关问题