亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 PHP 將表格垂直旋轉

如何使用 PHP 將表格垂直旋轉

PHP
呼如林 2023-04-21 16:32:24
我只是在學習 PHP,我想創建一個表來顯示我提交到我的數據庫的回顯數據,我的問題是默認情況下該表水平顯示,正如您在我的腳本中看到的 Horizontal default table<table ><tr><th>Name</th><th>Age</th><th>Height</th></tr><?php$conn = mysqli_connect("localhost", "root", "", "class");// Check connectionif ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);}$sql = "SELECT Name, Age, Height FROM student order by Name desc";$result = $conn->query($sql);if ($result->num_rows > 0) {// output data of each rowwhile($row = $result->fetch_assoc()) {echo "<tr><td>" . $row["Name"]. "</td><td>" . $row["Age"] . "</td><td>". $row["Height"]. "</td></tr>";}echo "</table>";} else //{ echo "0 results"; }//$conn->close();?></table>但我希望它垂直回顯,而不是像我想要的垂直結果,我試圖在我的 PHP 代碼中更改回顯中的 html,但我根本無法獲得結果,而且表格的形狀與我想要的相差甚遠這是我頁面的完整腳本。
查看完整描述

2 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

正如其他人所說,您應該將水平陣列轉換為垂直陣列。


當然,它應該是一個通用函數來轉換任何查詢結果,而不是對行標題進行硬編碼。這個想法是獲取每一行的數組鍵并將它們用作新數組的鍵,然后將每個對應的值添加到新數組項。


這是在 mysqli 中的實現方式:


<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = mysqli_connect('127.0.0.1','root','','test');

$mysqli->query("set names 'UTF8'");


$data = [];

$res = $mysqli->query("SELECT Name, Age, Height FROM student order by Name desc");

while ($row = $res->fetch_assoc()) {

    foreach(array_keys($row) as $key) {

        $data[$key][] = $row[$key];

    }

}

然后你得到一個具有所需結構的數組,你可以使用 ROOT 答案中的代碼輸出它:


<table border="1">

  <?php foreach($data as $key => $val): ?>

    <tr>

      <td><?= $key ?></td>

      <?php foreach($val as $field): ?>

        <td><?= $field ?></td>

      <?php endforeach ?>

    </tr>

  <?php endforeach ?>

</table>


查看完整回答
反對 回復 2023-04-21
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

我將您的數據模擬到普通數組中,我使用了一個 while 循環來創建一個新的Array并創建我們需要能夠將列翻轉為行的格式,這就是我認為您想要的:


<?php

$users  = [

  [

    'name'=> 'James',

    'height'=> 1.75,

    'age'=> 18,

  ],

  [

    'name'=> 'Bill',

    'height'=> 170,

    'age'=> 16,

  ]

];



$newArr = [];


foreach($users as $key => $val) {

  $newArr['name'][$i] = $val['name'];

  $newArr['age'][$i] = $val['age'];

  $newArr['height'][$i] = $val['height'];

  $i++;

}



?>

<table border="1">

  <?php foreach($newArr as $key => $val): ?>

    <tr>

      <td><?php echo $key; ?></td>

      <?php foreach($val as $field): ?>

        <td><?php echo $field; ?></td>

      <?php endforeach; ?>

    </tr>

  <?php endforeach ?>

</table>


查看完整回答
反對 回復 2023-04-21
  • 2 回答
  • 0 關注
  • 148 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號