2011-07-26 6 views
1

私はPHPに新しいです。私はリストレコードのためのasp.netでGridViewコントロールを使用していた。GridviewのようなコントロールのPHP

今、PHPでコントロールを使用して、レコードをチェックボックスで選択して、それらを選択して削除し、ページを有効にしたいと考えています。どのようにこれを行うには誰も初心者を導くことができますか?

ありがとうございます。

答えて

0

あなたのアイデアは2つのものから成っています。テーブルと、そのテーブルからの入力を処理する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はコア機能のためのコア機能を持っています。あなたは目標を達成するためには、あなたのテーブルにURデータのチェックボックスを置くテーブルを使用して、テーブルから行を削除するか、単にチェックボックスのクリックでページを投稿する必要があります。しかし、あなたはこれをコントロールすることはできません。urselfをコード化する必要があります.UpはC++のようなものです。ページングのためにここにあるクラスを使うことができますenter link description here

関連する問題