지난 30 일 동안 실행중인 목록의 mysql db에서 특정 클라이언트에 대한 호출 수의 배열을 작성합니다. 나는 지금까지 배열에 호출이있는 요일을 추가하기 위해 작동하지만 아무 호출도없는 날 ('db에 항목 없음')에는 '0'이 필요합니다. 여기에 지금까지 나에게 코드입니다 :결과가없는 MySQL 쿼리에 대한 에코 0
$query="SELECT COUNT(*) FROM my_db WHERE client_phone='clint_phone#' GROUP BY calldate";
$result = mysql_query($query);
$data = array();
while ($row = mysql_fetch_row($result)) {
$data[] = $row[0];
}
난 그냥 오늘은 30 개 통화를했고, 어제는 0이 있었다, 나는 그것이 [30,0]를 표시해야하는 경우 표시하는 방법이 필요합니다. 내가 가진 것만 보여 주겠다.
EDIT * 나는 mysql db will 열 client_phone, calldate 있습니다. 배열의 데이터를 사용하여 그래프를 작성하려고합니다. 그래프의 각 지점은 해당 날짜의 해당 클라이언트에 대한 하루 및 호출 수를 나타냅니다. 위의 쿼리를 작성하여 해당 배열을 채 웁니다. 나는 30 일을 거꾸로 세우려고 노력하고 있고, 매일 매일의 전화를 배열에 넘겨주고있다.
편집 2 * 거의 다 가지고 있습니다. 'foreach'영역에서 문제가 발생했습니다. 아래는 배열을 덤프 할 두 print_r()의 코드입니다. 첫 번째는 좋아 보인다지만, 두 번째는 그 안에 걸쳐 작성된 일부 배열 항목이 점점 보여줍니다
$query="SELECT calldate, COUNT(*) FROM my_db WHERE client_phone='phone#' and calldate>='20130101' AND calldate<='20130107' GROUP BY calldate ORDER BY calldate";
$result = mysql_query($query);
$data = array();
while ($row = mysql_fetch_array($result)) {
$data[$row['calldate']] = $row[1];
}
$startDate = '20130101';
$endDate = '20130107';
$dates = array();
for($current = $startDate; $current != $endDate; $current = date('Ymd', strtotime("$current +1 day"))) {
$dates[] = $current;
}
$dates[] = $endDate;
print_r ($data);
echo "<br />";
foreach($dates as $date){
if (in_array($date, $data)) {
// that date was found in your db_date array(therefore had queries)
}else{
$data[$date] = 0; //date was not found in your db_array so we set that date with no queries to zero
}
}
print_r ($data);
나는 브라우저에서 실행하고 나는이 얻을 :
Array ([20130101] => 1 [20130104] => 6 [20130105] => 2 [20130106] => 1 [20130107] => 3)
Array ([20130101] => 0 [20130104] => 0 [20130105] => 0 [20130106] => 0 [20130107] => 0 [20130102] => 0 [20130103] => 0)
을 윗부분의 출력 결과가 좋아 보이는데, data [] 배열에없는 날짜에 할당 된 0이 누락되었습니다. 두 번째 배열은 누락 날짜가 0이지만 다른 문자는 지나치게 길지 않아야합니다.
도움 주셔서 감사합니다.
데이터베이스 구조가 내 컨텍스트에서 무엇인지 모르겠다. 하루에 쿼리가 의미하는 바가 무엇인지 모르겠다 ... 테이블에있는 변수 중 하나입니까? 더 자세히 설명해주세요. 배열에없는 모든 날짜에 호출이없고 해당 일에 0을 배열에 삽입하려는 것입니까? –
추가 세부 사항 추가 – Milksnake12
'my_db' 구조 및 항목을 표시 할 수 있습니까? –