2010-06-17 3 views
0

직원을위한 중요한 정보가 적은 PHP 코드로 생성 된 테이블이 있습니다. 각 행 또는 각 행의 적어도 하나의 요소를 클릭하여 사용자가 클릭 한 직원과 관련된 모든 정보 (MySQL 데이터베이스에서 가져온 정보)로 리디렉션되도록 할 수 있습니다. 이 문제를 해결하는 가장 좋은 방법은 어떻게 될지 모르겠지만 제안에 대해서는 열려 있습니다. 나는 PHP 및/또는 JavaScript를 고집하고 싶습니다. 다음은 내 테이블에 대한 코드입니다PHP 생성 테이블의 셀에 링크를 어떻게 만들 수 있습니까?

 <table> 

      <tr> 

       <td id="content_heading" width="25px">ID</td> 
       <td id="content_heading" width="150px">Last Name</td> 
       <td id="content_heading" width="150px">First Name</td> 
       <td id="content_heading" width="75px">SSN</td> 

      </tr> 

      <?php 

       $user = 'user'; 
       $pass = 'pass'; 
       $server = 'localhost'; 

       $link = mysql_connect($server, $user, $pass); 

       if (!$link){ 
        die('Could not connect to database!' . mysql_error()); 
       } 

       mysql_select_db('mydb', $link); 
       $query = "SELECT * FROM employees"; 
       $result = mysql_query($query); 
       mysql_close($link); 

       $num = mysql_num_rows($result);       

       for ($i = 0; $i < $num; $i++){ 

        $row = mysql_fetch_array($result); 

        $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row"; 

        echo "<tr class=".$class.">"; 

         echo "<td>".$row[id]."</td>"; 
         echo "<td>".$row[l_name]."</td>"; 
         echo "<td>".$row[f_name]."</td>"; 
         echo "<td>".$row[ssn]."</td>"; 

        echo "</tr>"; 

       } 

      ?>  

     </table> 

편집

좋아, @DrColossos 내가 내 링크가 올바르게 작동시킬 수 있었다 게시,하지만 지금은에 문제가 어떤 수정 후 유일성 부분.

     echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[id]."</a></td>"; 
         echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[l_name]."</a></td>"; 
         echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[f_name]."</a></td>"; 
         echo "<td><a href=Edit_Employee.php?".$row[id].">".$row[ssn]."</a></td>"; 

Edit_Employee.php?**id**에 행 하이퍼 링크의 모든 요소를 ​​만드는 : 아래는 내가 지금 내 테이블을 만드는 데 사용하고있는 코드입니다. 예를 들어 id이 하나 인 경우 하이퍼 링크는 Edit_Employees.php?1이됩니다. 이제 내 Edit_Employee.php 페이지에서 id을 알아 보거나 인식하려면 무엇이 필요합니까? id은 고유하고 내 MySQL 검색을 기반으로해야하기 때문입니다.

편집은 그것을 알아 냈다.

$id = $_GET['id'];

내가 그랬던 것처럼 내 링크를 생성하면 id PHP는 하이퍼 링크에서 뽑을 수 전역 변수를 만드는 것을 발견 :이 트릭을했다. 하이퍼 링크가 가리키는 페이지의 위 코드를 사용하여 원하는 것을 얻을 수있었습니다. 너무 힘들지는 않지만 어떻게 완료되었는지 모를 경우 실망합니다!

답변

1

각 직원의 "ID"와의 고유 링크를 이미 만들 수 있습니다.

echo "<td><a href="employee.php?id=\"" . $row['id'] . "\">" . $row['id'] . "</td>"; 

이상 읽을 수

echo "<td><a href="employee.php?id=\"{$row['id']}\">{$row['id']}</td>"; 

는 그런 다음 (ID가 $ _GET에있을 것입니다 그것은 세부 사항의 표시 employee.php을 사용할 수 있습니다 [ 'ID :

다음을 할 수 '], here 참조). 유해한 데이터 (예 : SQL-Injection)가 포함될 수 있으므로 처리하기 전에 $ _GET [ 'id']의 값을 확인하는 것을 잊지 마십시오.

알아두기 테이블 id="content_heading"에서 사용하는 HTML 속성 'id'는 사이트 메모와 마찬가지로 사이트에서 고유해야합니다.

+0

답장을 보내 주셔서 감사합니다. 내일 피우겠습니다. 이드의 머리를 주셔서 감사합니다. 그러나 나는 당신이 말하는 것에 대해 약간 혼란 스럽습니다. 나는 그것이 지금은 맞지 않다는 것을 안다. (사실 나는''태그에서'width'를 사용해서는 안된다.) 나는 나중에 기회를 얻었을 때 스타일 시트에 넣을 것을 계획했지만, 'id'는 전체 사이트가 아니라 페이지마다 고유해야한다고 생각했습니다. 당신이 내 사이트의 어떤 페이지에서'id '를 사용하면 같은 사이트의 다른 페이지에서 다시 사용할 수 없다는 말입니까? 내 ''태그의 형식을 올바르게 지정하려면 어떻게해야합니까? – ubiquibacon

+0

http://www.w3schools.com/tags/att_standard_id.asp, 아니요, 각 id 속성은 페이지 단위로 사용해야합니다. 물론 모든 페이지에서 고유 한 방식으로 사용할 수 있습니다. – DrColossos

관련 문제