2011-11-16 77 views
1

我有一個包含項目文件的表,我選擇具有相同日期的項目文件並將它們連續顯示。例如:將MySQL結果填充到網格

date x --- a b c d 
date y ---e f g h 
date z----- i j 

每行有4個位置來保存結果,因爲我不希望每天有超過4個項目。 我用下面的查詢來獲取不同的日期

$sql = "SELECT DISTINCT date FROM project_files WHERE projectNumber = something"; 
$result = mysql_query($sql) ; 

有獲取數據的每一行,並顯示它的一個簡單的方法?

回答

2

試試這個:

<html> 
<head> 
    <title> 
    PHP MySQL Test 
    </title> 
</head> 
<body> 

<?php 
    $db_host = 'localhost'; 
    $db_user = 'root'; 
    $db_pwd = 'YOUR_DB_PASSWORD'; 
    $database = 'YOUR_DB_NAME'; 
    $table_name = 'project_files'; 

    if (!mysql_connect($db_host, $db_user, $db_pwd)) { 
    die("Can't connect to database"); 
    } 

    if (!mysql_select_db($database)) { 
    die("Can't select database"); 
    } 

    $result = mysql_query("SELECT * FROM $table_name") or die("Query to show fields from table failed"); 
    $fields_num = mysql_num_fields($result); 

    echo "<h1>Database: $database</h1>"; 
    echo "<h2>Table: $table_name</h2>"; 
    echo "<table border='1'><tr>"; 

    for($i=0; $i<$fields_num; $i++) { 
    $field = mysql_fetch_field($result); 
    echo "<td>{$field->name}</td>"; 
    } 
    echo "</tr>\n"; 

    while($row = mysql_fetch_row($result)) { 
    echo "<tr>"; 
    foreach($row as $cell) { 
     echo "<td>$cell</td>"; 
    } 
    echo "</tr>\n"; 
    } 
    mysql_free_result($result); 
?> 

</body> 
</html> 
+0

Thanks但是,顯示整個表格。我試圖以新格式獲得結果,其中每行將是在同一日期上傳的文件名/標題 – tnash

0

你還沒有說過你在哪裏/如何存儲項目文件(a,b,c ..)。但假設他們是project_files.file ....

SELECT date, GROUP_CONCAT(file) AS list_of_files 
FROM project_files 
WHERE project_number = something 
GROUP BY date; 

(順便說一句,使用保留字的列名是一個混亂的做法)。

+0

我只是試圖讓邏輯。如果我可以顯示在相應的行中具有相同日期的元素的標題或關鍵字ID,這將是很棒的。我做了這個查詢,但我猜測它的錯誤與它$ sql3 =「SELECT date,GROUP_CONCAT(title) FROM project_files WHERE project_number = something GROUP BY date「; $ result3 = mysql_query($ sql3); while($ row3 = mysql_fetch_array($ result3)){ //打印東西 } – tnash