현재 사용자 정보와 수업 ID로 구성된 테이블이 있습니다. 사람이 얼마나 많은 시간을 추적하는 정수 사용자 테이블의 lessonID 필드 내에서PHP 및 MySQL 사용자 추적 및보고
------------------------------------------------------
|lessonID |cateogry |title |filepath |numberviews|
------------------------------------------------------
|1 |beginner |lesson |file:// |10 |
:
----------------------------------------------------
|employeeID|numVisits|lessonID1|lessonID2|lessonID3|
----------------------------------------------------
|33388 |2 |1 |0 |3 |
및 수업에 대한 정보를 포함하는 교훈 테이블 : 같은 테이블 레이아웃이 보인다 수업을 클릭했습니다. 지금 내가하려고하는 것은 사이트를 방문한 사용자 중 상위 5 명이 클릭 한 레슨을 드릴 다운 할 수있는 보고서에 있습니다. 누구든지 도움이 될 수 있습니까? 아니면 데이터베이스가 더 쉬운 작업이 될 수 있도록 구조 조정을 할 것인가?
감사
내가 지금까지보고 된 방법은 다음과 같습니다
1 - 특정 직원 ID에 대한
(2) 모든 lessonID 열을 얻을 - 값을 가지고있는 것을 확인 0보다 큰
3 단계 2에서 목록을 사용하여 사용자 테이블의 lessonID에 해당 제목을 쿼리합니다.
1 단계 :
$sql = mysql_query("SELECT * FROM users
WHERE employeeID = 15110") or die(mysql_error());
$columns = mysql_num_fields($sql);
for($i = 0; $i < $columns; $i++) {
if(substr(mysql_field_name($sql, $i),0, 8) == "lessonID"){
$lessons[] = mysql_field_name($sql,$i).", ";
}
};
$lessonID = array_unique($lessons);
$l = substr("SELECT ".implode($lessonID)."", 0, -2)." FROM users WHERE employeeID = 15110";
이것은 내가 손해를보고 지금있는 경우, 위의 $ (L)가 특정 직원 ID와 사용자 테이블의 모든 lessonID 열을 선택하는 쿼리를 구성합니다. 그러나 쿼리 결과와 함께 다음으로 어디로 가야할지를 놓치고 있습니다.
입니다 도움이되기를 바랍니다, 나는 그들이 올바른 방향으로 이상 지점을해야한다고 생각하지만, 쿼리를 테스트 할 시간이 충분하지 않았나요 아마 당신의 디자인을 재고 할 시간. 정상화! –
구체적으로 어떤 부분에 문제가 있습니까? SQL? PHP 코드? 지금까지 시도한 것을 보여주십시오. – webbiedave
원래 질문에 코드가있는 업데이트를 추가했습니다. – inertiahz