2010-02-05 3 views
1

Это таблицы SQLPhp loop нужна помощь?

id id_user id_userfor   description  date  
1  231   119   a to b   2010-02-05 17:42:47  
2  231   231   myself   2010-02-05 17:36:28  
3  231   119   from x to b  2010-02-05 17:36:29 

Я не мог найти способ, чтобы выбрать выходной результат, который выглядит примерно так:

user 119 

    a to b   2010-02-05 17:42:47 
    from x to b  2010-02-05 17:36:29 
user 231 

    myself   2010-02-05 17:36:28 

ответ

1

Вы можете задать запрос с помощью поля id_userfor, отсортированного по всему региону. Затем сверните всю запись и каждый раз, когда вы сталкиваетесь с новым значением id_userfor, распечатайте его.

Что-то вроде этого:

$SQL = 'select * from ... order by `id_userfor`'; 
$Result  = ...; 
$PrevUserFor = ''; 
while($Row = ...) { 
    const $UserFor = $Row['id_userfor']; 
    if ($PrevUserFor != $UserFor) { 
     // Here is where you print the user ID 
     echo "user $UserFor<br>"; 
     $PrevUserFor != $UserFor; 
    } 

    $Description = $Row['description']; 
    $Date  = $Row['date']; 
    echo('&nbsp;$Description&nbsp;$Date<br>'); 
}

Надеется, что это помогает.

2

Вы можете использовать

select id_userfor, description, date from table order by id_userfor; 

, то вы можете распечатать все данные столбцов date для каждого отдельного id_userfor

$old = ''; 
while($row = mysql_fetch_array($result)) { 

    if($old != $row['id_userfor']) { 

     $old = $row['id_userfor']; 
     echo "$row['id_userfor']<br />"; 
    } 
    echo $row['description'] . " " . $row['date'] . "<br />"; 
} 
1

codaddict запрос немного более читаемым:

SELECT `id_userfor`, `description`, `date` FROM `table` ORDER BY `id_userfor` 

И затем, внутри цикла, вы будете использовать что-то вроде этого:

$sql = "SELECT `id_userfor`, `description`, `date` FROM `table` ORDER BY `id_userfor`"; 
$query = mysql_query($sql); 

$user = null; // Empty user 

while($data = mysql_fetch_assoc($query)) { 
    if ($data['id_userfor'] != $user) { 
     // Display the user only when it changes 
     echo '<H1>'. $data['id_userfor'] .'</H1>'; 
     $user = $data['id_userfor']; 
    } 

    // Display the rest of the fields here :) 
} 
Смежные вопросы