Gridview как контроль в PHP - PullRequest
       1

Gridview как контроль в PHP

1 голос
/ 26 июля 2011

Я новичок в php. Я использовал элемент управления GridView в asp.net для перечисления записей.

Теперь я хочу использовать элемент управления в php, чтобы вывести список записей с опциями флажков, чтобы выбрать их для удаления, а также включить страницу. Кто-нибудь может подсказать начинающему, как это сделать?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 26 июля 2011

Ваша идея состоит из двух вещей;таблица и 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 голосов
/ 26 июля 2011

php отличается формой asp. У asp есть много элементов управления, которые вы можете использовать, но у php есть основная функция для основной функциональности. Чтобы достичь цели, вы должны использовать опцию «поставить таблицу» в таблице с данными в ней и использовать ajax для удаления строк из таблицы или просто опубликовать страницу при щелчке флажка. но нет никакого контроля для этого, вы должны сами его кодировать, вы можете сказать, что php похож на c ++. и для пейджинга вы можете использовать некоторый класс, который находится здесь введите описание ссылки здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...