2012-01-13 3 views
0

나는 비즈니스 디렉토리 사이트를 가지고 있는데, 나는 Craigslist처럼 모든 게시물을 그룹으로 만들고 싶다.PHP 데이터베이스 쿼리

내 데이터 내가 이런 식으로 레이아웃 할이

<business name1> <phone number> <jan 13 2012> 
<business name2> <phone number> <jan 13 2012> 
<business name1> <phone number> <jan 12 2012> 

같은 사이트에 발표 할 예정이다 현재, 그래서 게시물은 날짜별로 그룹이 발표됩니다.

<jan 13 2012> 
<business name1> <phone number> 
<business name2> <phone number> 

<jan 12 2012> 
<business name1> <phone number> 
<business name2> <phone number> 

여기에 당신이 당신의 행이 올바른 순서로 도착 확인하려면

SELECT * FROM `myname` ORDER BY `myname`.`mydate` DESC, `myname`.`id` DESC LIMIT $offset, $limit 

같은 뭔가가 필요 내 모든의

connection 
$query = "SELECT * FROM `myname` ORDER BY `myname`.`id` DESC LIMIT $offset, $limit "; 
$result = mysql_query($query); 


    while($row = mysql_fetch_row($result)) 

    { 

?> 

<div class="list"> 
<div class="ads_name"><a href="http://www.mydomain.com/category/<?=$row[0]?>.html" target="_blank"><?=$row[4]?> </a></div> 
    <div class="location"><?= htmlspecialchars($row[5])?></div> 
    <div class="phone"><?=formatPhoneNumber($row[3])?></div> 
    <div class="date"><?=$row[9]?></div> 
</div> 

<?php 
    } 
    mysql_free_result($result); 
?> 
+0

는 쿼리에 date' BY 절 '그룹을 추가하고 루프 결과로 날짜의 값을 확인. 값이 변경 될 때마다 데이터를 새 섹션으로 나눕니다. 테이블 스키마와 원하는 마크 업 출력에 대해 더 많이 알지 못하면 더 정확한 답변을 많이 줄 수 없습니다. – DaveRandom

답변

1

먼저 코딩입니다. 당신이 고전 그룹 변경 알고리즘을 수행 할 다음 :

<?php 
... 

    $date='__invalid__'; 
    while($row = mysql_fetch_row($result)) 

    { 

     if ($row[9]!=$date) 
     { 
     $date=$row[9]; 
?> 
<div class="date_header"><?=$row[9]?></div> 

<?php 
     } 
?> 

<div class="list"> 
<div class="ads_name"><a href="http://www.mydomain.com/category/<?=$row[0]?>.html" target="_blank"><?=$row[4]?> </a></div> 
    <div class="location"><?= htmlspecialchars($row[5])?></div> 
    <div class="phone"><?=formatPhoneNumber($row[3])?></div> 
    <div class="date"><?=$row[9]?></div> 
</div> 

<?php 
    } 
    mysql_free_result($result); 
?> 
+0

잘 작동합니다! 그러나 당신은 나에게 '__invalid__'이 무엇인지를 설명 할 수 있습니까? 에 대한?? 공백과 같은 사용입니까 ?? 감사합니다 :) –

+0

''__invalid __ ''의 원래 값은 루프의 맨 처음에'if ($ row [9]! = $ date)'가 항상 실행되므로 항상 사용하게됩니다. 날짜가있는 페이지를 시작하십시오. 당신은'$ date = '''또는'$ date = null'을 사용할 수 있습니다. 코드를 읽을 수 있도록''__invalid __ ''을 선택했습니다. –

+0

빠른 답장과 설명에 감사드립니다 !!! :) –