2010-03-28 3 views
1

저는 회사의 작업 로타 플래너를 설계 중이며 직원의 세부 정보가 포함 된 동적 테이블을 표시하는 데 도움이 필요합니다. MySQL 데이터베이스에는 Staff, Event 및 Job 테이블이 있습니다. 스태프 테이블에는 스태프 세부 사항 (스태프, 이름, 주소 등), 이벤트 테이블 (eventide, eventName, Fromdate, Todate ... 등) 및 작업 테이블 (Jobid, Jobdate, Eventid (fk), Staffid (fk)). 사용자가 PHP 양식에서 EVENT 및 DATE (날짜, 월, 일 3 개의 드롭 다운)를 선택할 때 스태프 테이블에서 사용 가능한 스태프 목록을 동적으로 표시해야합니다. 작업 표의 Jobdate를 확인하여 선택한 날짜에 작업이 할당되지 않은 직원을 표시해야합니다. 나는 하루 종일 여기에 있었고 주위를 둘러 볼 수 없습니다. 나는 아직도 PHP를 배우고 있으며, 내가 얻을 수있는 도움을 반드시 감사 할 것입니다. 이벤트를 선택하면 내 현재 코드는 모든 직원을 표시합니다 : 당신은 1 2 일을 할 필요가동적 테이블을 표시하는 데 도움이 필요합니다

if(isset($_POST['submit'])) 
{ 
$eventId = $_POST['eventradio']; 

} 
$timePeriod = $_POST['timeperiod']; 
$Day = $_POST['day']; 
$Month = $_POST['month'];  
$Year = $_POST['year']; 
$dateValue = $Year."-".$Month."-".$Day; 
$selectedDate = date("Y-m-d", strtotime($dateValue)); 

//construct the available staff list 
if ($selectedDate) 
    { 
     $staffsql = "SELECT s.StaffId, s.LastName, s.FirstName 
     FROM Staff s 
     WHERE s.StaffId NOT IN 
     (SELECT J.StaffId 
     FROM Job J 
     WHERE J.JobDate = ".$selectedDate.")"; 
     $staffResult = mysql_query($staffsql) or die (mysql_error()); 

    } 
if ($staffResult){ 
    echo "<p><table cellspacing='1' cellpadding='3'>"; 
    echo "<th colspan=6>List of Available Staff</th>"; 
    echo "</tr><tr><th> Select</th><th>Id</th><th></th><th>Last Name 
     </th><th></th><th>First Name </th></tr>"; 

    while ($staffarray = mysql_fetch_array($staffResult)) 
    { 
     echo "<tr onMouseOver= this.bgColor = 'red' onMouseOut =this.bgColor = 'white' bgcolor= 
      '#FFFFFF'> <td align=center><input type='checkbox' name='selectbox[]' 
      id='selectbox[]' value=".$staffarray['StaffId']."> 
      </td><td align=left>".$staffarray['StaffId']." 
      </td><td>&nbsp&nbsp</td><td align=center>".$staffarray['LastName']." 
      </td><td>&nbsp&nbsp</td><td align=center>".$staffarray['FirstName']." 
      </td></tr>"; 
    } 
     echo "</table>"; 
    } 
    else { 
     echo "<br> The Staff list can not be displayed!"; 
    }  
    echo "</td></tr>"; 
    echo "<tr><td></td>"; 
    echo "<td align=center><input type='submit' name='Submit' value='Assign Staff'>&nbsp&nbsp"; 
    echo "<input type='reset' value='Start Over'>"; 
    echo "</td></tr>"; 
    echo "</table>"; 

답변

0

.

가.) 당신의 선택 목록에 onchange를 이벤트를 추가하고 테이블 데이터를 다시 끌어 서버에 AJAX 호출을 만들거나

나.) 당신의 선택 목록에 onchange를 이벤트를 추가하고 양식을 작성하여 제출/응답에 대한

+0

감사합니다 (따라서 해당 데이터를로드)가 존재하는 경우 (요청에 매개 변수를 사용하여 PHP (어느 쪽이든에서 선택 목록

에서 선택한 값을) 포함. 자체에 대한 페이지입니다. I 처음부터 끝까지 PHP를 사용하고 있습니다 ... 두 번째 옵션이 적당합니다. 제출 버튼을 사용하여 다음과 같이 날짜를 삭제할 것을 생각하고 있습니다 :($ _POST [ 'month']) && ($ _POST [ 'year'] if) {0 php if (isset ($ _ POST [ 'submit'])) { if (($ _POST [ 'day']))) { // select 쿼리를 실행하십시오. ?> SQL 쿼리에 대해 확실하고 확실하지 않은지 확실하지 않습니다. 나는이 일에 대해 좀 새로운 ... 다시 한번 감사드립니다! – Gideon

+0

최상의 쿼리는 MINUS 함수를 사용하지만 MySQL은이를 지원하지 않습니다. 그래서 위와 같이 기능을 시도했지만 일부 경우에만 작동합니다 .... 도와주세요! 무리 감사! – Gideon

관련 문제