2017-06-18 45 views
-1

我目前從我的數據庫中提取一些時間表信息。 我正面臨一個問題,我需要排在行和列中的行。如何顯示/水平選擇一個MYSQL查詢

查詢是:

SELECT `courses`.`course_id`,`faculty`.`uName`,`rooms`.`room_name`,`slot_allocs`.`slot_num` 
FROM `faculty` 
    LEFT JOIN `courses` ON `courses`.`fac_id` = `faculty`.`uName` 
    LEFT JOIN `depts` ON `faculty`.`dept_code` = `depts`.`dept_code` 
    LEFT JOIN `slot_allocs` ON `slot_allocs`.`course_id` = `courses`.`course_id` 
    LEFT JOIN `rooms` ON `slot_allocs`.`room` = `rooms`.`room_name` 
    LEFT JOIN `slots` ON `slot_allocs`.`table_name` = `slots`.`table_name` AND   `slot_allocs`.`day` = `slots`.`day` AND `slot_allocs`.`slot_num` =  `slots`.`slot_num` 
WHERE `slot_allocs`.`day` = 1 AND `depts`.`dept_code` = 100 

ORDER BY `slots`.`slot_num` ASC 

後,我執行在此查詢執行很順序檢索和節目,我想有輸出我的PHP文件 - >一前一後另一個

> > **I want to align in the sequential manner of the period per day like this: 
> >|--------------------------------------------- 
> >day 1| period 1 |period 2 |period 3 |period 4| 
> >|----|----------|---------|---------|--------| 
> >day 2| period 1 |period 2 |period 3 |period 4| 
> >|--------------------------------------------- 

,這是我的PHP代碼:

$sql = file_get_contents("eboard.sql"); 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 

    while($row = $result->fetch_assoc()) { 
     echo "<table>"; 
     echo "<tr>"; 
     echo "<td>"; 
     echo " Course: ID ". $row["course_id"]." : ";  
     echo " Prof.:". $row["uName"]." : "; 
     echo " Room :".$row["room_name"]." : "; 
     echo " period".$row["slot_num"].""; 
     echo "</td>"; 
     echo "</tr>"; 
     echo "</table>"; 
    } 
} else 
    echo "0 results"; 
$conn->close(); 

輸出我得到:--- enter image description here

請幫忙!!

+0

好,所以HTML是正確的,只有CSS是錯誤的? – Rickard

回答

0

好的,所以這段代碼應該這樣做。你應該瞭解表格的工作原理。 W3Schools有一個關於它的簡單網頁。我希望這個版本是你想要的。這不是一個完整的解決方案,但它會告訴你如何使用表格。

if ($result->num_rows > 0) { 
    echo "<table>"; 
    echo " <tr>"; 
    echo " <th>Course</th>"; 
    echo " <th>Prof.</th>"; 
    echo " <th>Room</th>"; 
    echo " <th>Period</th>"; 
    echo " </tr>"; 
    while($row = $result->fetch_assoc()) { 
     echo " <tr>"; 
     echo " <td>Course: ID ". $row["course_id"]."</td>";  
     echo " <td>Prof.:". $row["uName"]."</td>"; 
     echo " <td>Room :".$row["room_name"]."</td>"; 
     echo " <td>period".$row["slot_num"]."</td>"; 
     echo " </tr>"; 
    } 
    echo "</table>"; 
} else { 
    echo "0 results"; 
} 
+0

是的,但我希望期間垂直對齊。 –

+0

然後當你想要休息時,添加一個
。但如果我是你,我會刪除TABLE標記並使用DIV。然後添加一些引導程序,http://getbootstrap.com/ – Rickard

+0

或者你想在桌子上放4列嗎?我不知道我明白。 – Rickard

0

移動<table>圈外:

if ($result->num_rows > 0) { 
    echo "<table>"; 
    while($row = $result->fetch_assoc()) { 
     echo "<tr>"; 
     echo "<td>"; 
     echo " Course: ID ". $row["course_id"]." : ";  
     echo " Prof.:". $row["uName"]." : "; 
     echo " Room :".$row["room_name"]." : "; 
     echo " period".$row["slot_num"].""; 
     echo "</td>"; 
     echo "</tr>"; 

    } 
    echo "</table>"; 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
+0

對不起,但這是行不通的。同樣的事情發生。 –

+0

@ibrahimhaleemkhan你能解釋一下你想要什麼嗎?如果很難解釋從你想要的和你對這個問題得到什麼的例子。使用真實姓名而不是期間1,期間2等。 –