Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从SQL数据库格式化HTML表_Php_Sql - Fatal编程技术网

Php 从SQL数据库格式化HTML表

Php 从SQL数据库格式化HTML表,php,sql,Php,Sql,我的数据库包含我所在地区的交易。因此,每笔交易都包含一个位置、交易id(主键)、它应用的一周中的哪一天以及交易本身 理想情况下,我列出的数据表的标题为: 地点,星期一,星期二,星期三。。。等等 每行每个位置只有一个实例。问题是,我还没能做到这一点,到目前为止,周一的交易一直排在第一位。然后下一行是与每周二交易相同的地方,如下所示: 以下是将数据转换为HTML表的PHP代码: 我认为错误在我的循环中。不确定如何从一个$row切换到下一个$row <!DOCTYPE HTML> &l

我的数据库包含我所在地区的交易。因此,每笔交易都包含一个位置、交易id(主键)、它应用的一周中的哪一天以及交易本身

理想情况下,我列出的数据表的标题为:

地点,星期一,星期二,星期三。。。等等

每行每个位置只有一个实例。问题是,我还没能做到这一点,到目前为止,周一的交易一直排在第一位。然后下一行是与每周二交易相同的地方,如下所示:

以下是将数据转换为HTML表的PHP代码: 我认为错误在我的循环中。不确定如何从一个$row切换到下一个$row

<!DOCTYPE HTML>
<html lang=en>
    <head>
        <title>Ashdeals</title>
        <meta charset = "UTF-8">
        <link rel="stylesheet" type="text/css" href="stylesheet.css">
    </head>
<body>


    <?php 
    //Create Connection
    $mysqli = new MySQLi("localhost", "root", "", "ashdeals");

    $sql = "SELECT * FROM deals";
     // Query Database  
    $result = $mysqli->query($sql);

    //Count the returned rows
    if ($result->num_rows !=0){
    //Turn results into an array   

         echo "<table>
            <tr>
                <th>Location</th>
                <th>Monday</th>
                <th>Tuesday</th>
                <th>Wednesday</th>
                <th>Thursday</th>
                <th>Friday</th>
                <th>Saturday</th>
                <th>Sunday</th>

            </tr>";
         // output data of each row
         while($row = mysqli_fetch_array($result)) {

             $location = $row['location'];
             $deal = $row['deal'];

             echo 
             "<tr>

             <td>" . $location . "</td>
             <td>" . $deal . "</td>
             <td>" . $deal . "</td>
             <td>" . $deal . "</td>
             <td>" . $deal . "</td>
             <td>" . $deal . "</td>
             <td>" . $deal . "</td>
             <td>" . $deal . "</td>
             </tr>";
         }
         echo "</table>";
    } else {
         echo "0 results";
    }

    ?>

</body>

</html>

阿什代尔
只需循环:

$dayArray = ['Monday', 'Tuesday' ..... 'Sunday'];
while($row = mysqli_fetch_array($result)) {

    echo "<tr>";

    echo "<td>" . $row['locationField'] . "</td>";

    foreach ($dayArray as $dayField) {
        if ($dayField == $row['dealDayField'] ) {
            echo "<td>" . $row['dealField'] . "</td>";
        }
        else {
            echo "<td></td>";
        }
    }
    echo "</tr>";
}

echo "</table>";
$dayArray=[‘星期一’、‘星期二’、‘星期日’];
while($row=mysqli\u fetch\u数组($result)){
回声“;
回显“$row['locationField']”;
foreach($dayArray作为$dayField){
如果($dayField==$row['dealDayField']){
回显“$row['dealField']”;
}
否则{
回声“;
}
}
回声“;
}
回声“;
无需执行分配$valueX,可以回显$row[],但为了清晰起见,此处显示。

简单解决方案:每天切换案例

编辑:每日交易

 <!DOCTYPE HTML>
<html lang=en>
    <head>
        <title>Ashdeals</title>
        <meta charset = "UTF-8">
        <link rel="stylesheet" type="text/css" href="stylesheet.css">
    </head>
<body>


    <?php 
    //Create Connection
    $mysqli = new MySQLi("localhost", "root", "", "ashdeals");

    $sql = "SELECT * FROM deals";
     // Query Database  
    $result = $mysqli->query($sql);

    //Count the returned rows
    if ($result->num_rows !=0){
    //Turn results into an array   

         echo "<table>
            <tr>
                <th>Location</th>
                <th>Monday</th>
                <th>Tuesday</th>
                <th>Wednesday</th>
                <th>Thursday</th>
                <th>Friday</th>
                <th>Saturday</th>
                <th>Sunday</th>

            </tr>";
         // output data of each row
         while($row = mysqli_fetch_array($result)) {
             $location = $row['location'];
             $deal = $row['deal'];
             $day = $row['day'];
             $moDeal = ""; // Monday Deal variable. 
             $tuDeal = ""; // Tuesday Deal variable. 
             $weDeal = ""; // Wednesday Deal variable. 
             $thDeal = ""; // Thursday Deal variable. 
             $frDeal = ""; // Friday Deal variable. 
             $saDeal = ""; // Saturday Deal variable. 
             $suDeal = ""; // Sunday Deal variable. 
             switch ($day) {
                 case 'Mo':
                     $moDeal = $deal; 
                     break;
                 case 'Tu':
                     $tuDeal = $deal;
                     break;
                 case 'We':
                     $weDeal = $deal; 
                     break;
                 case 'Th':
                     $thDeal = $deal; 
                     break;
                 case 'Fr':
                     $frDeal = $deal;
                     break;
                 case 'Sa':
                     $saDeal = $deal; 
                     break;
                 case 'Su':
                     $suDeal = $deal; 
                     break;                 
                 default:
                     # In case some daily deal: 
                    $moDeal = $deal; 
                    $tuDeal = $deal; 
                    $weDeal = $deal; 
                    $thDeal = $deal; 
                    $frDeal = $deal; 
                    $saDeal = $deal; 
                    $suDeal = $deal; 
                     break;
             }
             echo 
             "<tr>
             <td>" . $location . "</td>
             <td>" . $moDeal . "</td>
             <td>" . $tuDeal . "</td>
             <td>" . $weDeal . "</td>
             <td>" . $thDeal . "</td>
             <td>" . $frDeal . "</td>
             <td>" . $saDeal . "</td>
             <td>" . $suDeal . "</td>
             </tr>";

         }
         echo "</table>";
    } else {
         echo "0 results";
    }

    ?>

</body>

</html>

阿什代尔

我明白了,但我的“field1”和“field2”都是数据库中的“deal”字段。我如何区分周一交易和周二交易等等?好主意,不过这给了我一排周一交易,然后是一排周二交易,当我希望在一排指定地点的所有每日交易时。我应该用另一种方式设置我的数据库以使其更简单吗?哼,在“day”行添加告诉这是daily deal的随机字符串,然后在默认情况下将deal添加到所有变量中,我将在edit中显示。现在,如果在day行添加字符串“daily”,则切换案例将运行默认情况。然后所有的变量都会得到$deal值。好的luckI抱歉,我有点搞不懂你添加字符串“Daily”是什么意思?我到底需要在哪里添加它?另一个人回答的代码?是的,代码和你的都给出了相同的结果。