Maison  >  Article  >  développement back-end  >  À propos de l'utilisation de Zend_Db_Table_Rowset dans Zend Framework

À propos de l'utilisation de Zend_Db_Table_Rowset dans Zend Framework

不言
不言original
2018-06-15 17:08:051347parcourir

Cet article présente principalement l'utilisation de Zend_Db_Table_Rowset dans le tutoriel du framework Zend Framework, et analyse les techniques associées de l'ensemble de résultats d'exploitation Zend_Db_Table_Rowset sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

Cet article décrit. le framework Zend Framework Zend_Db_Table_Rowset avec des exemples d'utilisation. Partagez-le avec tout le monde pour référence, comme suit :

1. Introduction

Zend_Db_Table_Rowset est un itérateur de la collection d'objets Zend_Db_Table_Row De manière générale, vous ne pouvez pas l'instancier vous-même. Zend_Db_Table_Rowset, à la place, Zend_Db_Table_Rowset est renvoyé comme données de résultat en appelant la méthode Zend_Db_Table::find() ou la méthode fetchAll(). Vous pouvez ensuite parcourir la collection d'objets Zend_Db_Table_Row et la modifier

<.> 2. Récupérez l'ensemble de résultats

Tout d'abord, vous devez instancier une classe Zend_Db_Table


<?php
// 设置一个 adapter
require_once &#39;Zend/Db.php&#39;;
$params = array (
  &#39;host&#39;   => &#39;127.0.0.1&#39;,
  &#39;username&#39; => &#39;malory&#39;,
  &#39;password&#39; => &#39;******&#39;,
  &#39;dbname&#39;  => &#39;camelot&#39;
);
$db = Zend_Db::factory(&#39;PDO_MYSQL&#39;, $params);
// 为所有的Zend_Db_Table对象设置默认
require_once &#39;Zend/Db/Table.php&#39;;
Zend_Db_Table::setDefaultAdapter($db);
// 连接数据库表
class RoundTable extends Zend_Db_Table {}
$table = new RoundTable();
?>

Ensuite, vous pouvez utiliser la méthode Zend_Db_Table::find() et plusieurs valeurs de clé, ou utiliser la méthode Zend_Db_Table::fetchAll() pour interroger la base de données

Le résultat renvoyé est un objet Zend_Db_Table_Rowset, à travers lequel chaque élément se trouve. l'ensemble de résultats peut être parcouru. Un objet Zend_Db_Table_Row.


<?php
// 从表中取回多条记录
$rowset = $table->fetchAll();
//
// $rowset现在是一个Zend_Db_Table_Rowset对象,该对象中每条记录就是一个Zend_Db_Table_Row对象
//
?>

3. Parcours de l'ensemble de résultats

Zend_Db_Table_Rowset implémente une interface Iterator de langage de programmation simple, c'est-à-dire que vous pouvez parcourir l'objet Zend_Db_Table_Rowset, tout comme si vous utilisiez la fonction foreach() pour traiter un tableau. Chaque valeur récupérée à l'aide de cette méthode est un objet Zend_Db_Table_Row correspondant aux données contenues dans. le tableau. Vous pouvez visualiser, modifier et enregistrer les propriétés de l'objet (c'est-à-dire les valeurs des champs dans le tableau.)

<?php
// 连接到数据库中的表
class RoundTable extends Zend_Db_Table {}
$table = new RoundTable();
// 从表中取回多条记录
$rowset = $table->fetchAll();
// 显示所有的记录
foreach ($rowset as $row) {
  // $row 是一个 Zend_Db_Table_Row 对象
  echo "<p>" . htmlspecialchars($row->nobleTitle) . " "
    . htmlspecialchars($row->firstName) . "&#39;s "
    . "favorite color is " . htmlspecialchars($row->favoriteColor)
    . ".</p>/n";
  // 更新我们显示改行的次数
  // (对应表中的"times_displayed"字段)
  $row->timesDisplayed ++;
  // 保存新记录.
  $row->save();
}
?>

C'est tout pour le contenu de cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

À propos du fonctionnement de ZendFramework2 pour se connecter à la base de données


Connaissances connexes sur l'assistant personnalisé de Zend Framework cours


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn