이 프로젝트를 진행하는 데 며칠이 걸렸습니다. 나는이 코드의 오류가 무엇인지 알지 못했고 코드를 더 잘 만들려면 어떤 방법을 사용해야하는지, 친구는 배열을 적용하라고했지만 익숙하지 않은 방법으로 며칠 만에 조사하고 연구하려고했지만 작동하지 않았습니다. 내가 필요로하는 것은 1, 2, 3, 4 및 5 레벨을 카운트하고, 얼마나 많은 데이터 (행)가 5, 5, 4, 5 월, 5 월, 5 월, 5 월, 5 월, , sep, oct, nov 및 dec,이 예제 코드에서는 필터 레벨 5 만 보여줍니다. 왜냐하면 독자가 혼란 스러울 수 있기를 바랍니다. 감사 너희들 :-(php 및 mysql을 사용한 데이터 필터링
이 내 샘플 테이블
Table: sample
+-------------+------------------+-----------+
| date | level | id |
+-------------+------------------+-----------+
| 2012-03-01 | 4 | 1 |
| 2012-02-02 | 1 | 2 |
| 2012-04-03 | 4 | 3 |
| 2012-05-14 | 1 | 4 |
| 2010-01-05 | 5 | 5 |
| 2009-01-05 | 2 | 6 |
| 2008-01-05 | 3 | 7 |
| 2012-02-02 | 1 | 8 |
| 2012-06-03 | 4 | 9 |
| 2012-07-14 | 1 | 10 |
| 2010-01-05 | 5 | 11 |
| 2009-01-05 | 2 | 12 |
| 2012-08-05 | 3 | 13 |
+-------------+------------------+-----------+
날짜 2012 주문 해 모든 데이터를 선택하는 것입니다이 쿼리
$query = mysql_query("select * from table where year(date)='2012' order by date");
이 while 루프 유전자 $ query가 선호하는 모든 레코드를 평가하십시오. 루프에서 HOPING 조건은 모든 5 LEVEL로 레코드를 필터링합니다 ... 데이터 ($ query로 생성)가 레벨 5 일 때 $ level5가 1 씩 증가하고 그 데이터는 다른 if 문으로 이동합니다 ($ query에 의해 생성 된) 데이터가 속한 월을 결정하면 데이터가 2012-05-14라고 가정 해 보겠습니다. 그러면 데이터가 if 문에 포함될 것입니다. (Date_format ($ ii [ 'date'], '% m')) == 05)와 1, 그 후에는 $ level5_may을 증가 ...
while($ii=mysql_fetch_array($query))
{
if($ii['level']==5)
{
$level5++;
if(Date_format($ii['date'],'%m'))==1)
{
$level5_jan++;
}elseif(Date_format($ii['date'],'%m'))==02)
{
$level5_feb++;
}elseif(Date_format($ii['date'],'%m'))==03)
{
$level5_mar++;
}elseif(Date_format($ii['date'],'%m'))==04)
{
$level5_apr++;
}elseif(Date_format($ii['date'],'%m'))==05)
{
$level5_may++;
}elseif(Date_format($ii['date'],'%m'))==06)
{
$level5_jun++;
}elseif(Date_format($ii['date'],'%m'))==07)
{
$level5_jul++;
}elseif(Date_format($ii['date'],'%m'))==08)
{
$level5_aug++;
}elseif(Date_format($ii['date'],'%m'))==09)
{
$level5_sep++;
}elseif(Date_format($ii['date'],'%m'))==10)
{
$level5_oct++;
}elseif(Date_format($ii['date'],'%m'))==11)
{
$level5_nov++;
}elseif(Date_format($ii['date'],'%m'))==12)
{
$level5_dec++;
}
}
}
의 결과를 수집합니다 0에게 코드의이 부분을 이제 if 문
echo"
number of 5 stars: $level5 <br>
jan:$level5_jan <br>
feb:$level5_feb <br>
mar:$level5_mar <br>
apr:$level5_apr <br>
may:$level5_may <br>
jun:$level5_jun <br>
jul:$level5_jul <br>
aug:$level5_aug <br>
sep:$level5_sep <br>
oct:$level5_oct <br>
nov:$level5_nov <br>
dec:$level5_dec <br>
";
아플 테스트 코드 F. Müller –
내가 이것을 "SELECT * AS UNIX_TIMESTAMP (date) FROM table WHERE year (date) = '2012'ORDER BY date " –
아니요. sql이 모든 필드 (모든 필드)를 타임 스탬프로 강제 처리 할 수는 없습니다. 어쨌든 오류가 발생합니다. –