2011-07-26 2 views
1

Im new to PHP .. 나는 Listing 레코드를 위해 asp.net에서 GridView 컨트롤을 사용했다.Gridview like control in PHP

이제 PHP에서 컨트롤을 사용하여 삭제를 위해 확인란을 선택하고 페이지를 활성화 할 수 있도록 확인란을 선택하고 싶습니다. 초보자가이 작업을 수행하는 방법을 안내 할 수 있습니까?

미리 감사드립니다.

답변

0

아이디어는 두 가지로 구성됩니다. 테이블과 그 테이블로부터의 입력을 처리하는 PHP 파일.

File: table.php

<form method="post" action="process.php"> 
    <table> 
     <thead> 
     <tr> 
      <th>Title</th> 
      <th>Activate</th> 
      <th>Delete</th> 
     </tr> 
     </thead> 
     <?php foreach($records as $record): ?> 
     <tr> 
      <td><?php echo $record['title']; ?></td> 
      <td><input type="checkbox" name="activate_ids[]" value="<?php echo $record['id']; ?>" /></td> 
      <td><input type="checkbox" name="delete_ids[]" value="<?php echo $record['id']; ?>" /></td> 
     </tr> 
     <?php endforeach; ?> 
    </table> 
</form> 

File: process.php

<?php 

    //Gather the $_POST 
    $activate_ids = $_POST['activate_ids']; 
    $delete_ids = $_POST['delete_ids']; 

    //Let's make sure we only get ints 
    for($i = 0; $i < count($activate_ids); $i++)$activate_ids[$i] = intval($activated_ids[$i]);   
    for($i = 0; $i < count($delete_ids); $i++)$delete_ids[$i] = intval($delete_ids[$i]); 

    //Get the ids 
    $activate_ids_string = implode(',', $activate_ids); 
    $delete_ids_string = implode(',', $delete_ids); 

    //Make sure we don't have '' as a parameter for SQL 
    if($activate_ids_string == '') $activate_ids_string = 0 
    if($delete_ids_string == '') $delete_ids_string = 0; 

    //UPDATE the table 
    $sql_activate = 'UPDATE Records SET active=1 WHERE id IN (' . $activate_ids_string . ')'; 
    $sql_delete = 'DELETE FROM Records WHERE id IN (' . $delete_ids_string . ')'; 

    //Execute the queries and get the # of affected rows 
    $aff_rows_activate = mysql_num_rows(mysql_query($sql_activate)); 
    $aff_rows_delete = mysql_num_rows(mysql_query($sql_delete)); 

    //Last but not least, output how it went for both queries 
    if($aff_rows_activate === 1) echo 'Activated one record.'; 
    else echo 'Activated ' , $aff_rows_activate, ' records.'; 
    if($aff_rows_delete === 1) echo 'Deleted one record.'; 
    else echo 'Deleted ' , $aff_rows_activate, ' records.'; 

?> 

나는 위의 코드를 시도 할 기회가 없었어요, 그래서 여전히에서 구문 오류의 몇 가지가있을 수 있습니다 - 그러나, 당신을 원하는 결과를 얻기 위해해야 ​​할 일에 대한 아이디어를 얻을 수 있어야합니다.

+0

테스트되지 않은 코드를 게시하는 것은 좋지 않습니다. –

0

php는 asp와 다른 형태입니다. ASP는 사용할 수있는 많은 컨트롤을 가지고 있지만 PHP는 핵심 기능을위한 핵심 기능을 가지고 있습니다. achive 목표를 달성하기 위해서는 UR 데이터와 테이블에 확인란을 넣어 테이블을 사용하고 아약스를 사용하여 테이블에서 행을 삭제하거나 확인란을 클릭하면 페이지를 게시 할 수 있습니다. 하지만이 컨트롤을 U에 그것을 urself, U 말할 수있는 PHP는 C++ 같다. 페이징을 위해 여기에있는 클래스를 사용할 수 있습니다. enter link description here