[ZF-10089] Zend_Log
[zend.git] / documentation / manual / nl / module_specs / Zend_Db_Table_Rowset.xml
blobd92b38de69abf2abac87df955c3e05e0ea8be9fd
1 <sect1 id="zend.db.table.rowset">
3     <title>Zend_Db_Table_Rowset</title>
5     <sect2 id="zend.db.table.rowset.introduction">
7         <title>Inleiding</title>
9         <para>
10             Zend_Db_Table_Rowset is een iterator voor Zend_Db_Table_Row object
11             verzamelingen. In het algemeen instantieer je geen alleenstaande
12             Zend_Db_Table_Rowset; maar krijg je een Zend_Db_Table_Rowset terug als
13             resultaat van een oproep aan Zend_Db_Table::find() of fetchAll(). Je
14             kan dan door de verzameling Zend_Db_Table_Row objecten lopen en deze
15             wijzigen indien je dat wenst.
16         </para>
18     </sect2>
20     <sect2 id="zend.db.table.rowset.fetch">
22         <title>Een Rowset verkrijgen</title>
24         <para>
25             Het eerste wat je moet doen is een Zend_Db_Table klasse instantiëren.
26         </para>
28         <programlisting role="php"><![CDATA[<?php
29 // een adapter opzetten
30 require_once 'Zend/Db.php';
31 $params = array (
32     'host'     => '127.0.0.1',
33     'username' => 'malory',
34     'password' => '******',
35     'dbname'   => 'camelot'
38 $db = Zend_Db::factory('PDO_MYSQL', $params);
40 // de standaard adapter zetten voor alle Zend_Db_Table objekten
41 require_once 'Zend/Db/Table.php';
42 Zend_Db_Table::setDefaultAdapter($db);
44 // verbinden met een tabel in de database
45 class RoundTable extends Zend_Db_Table {}
46 $table = new RoundTable();
47 ?>]]>
48         </programlisting>
50         <para>
51             Verkrijg vele records van de database door
52             Zend_Db_Table::find() met meerdere keys te gebruiken,
53             of door Zend_Db_Table::fetchAll() te gebruiken; het aldus
54             bekomen resultaat zal een Zend_Db_Table_Rowset object zijn
55             dat je toelaat door de individuele Zend_Db_Table_Row
56             objecten in de recordset te lopen.
57         </para>
59         <programlisting role="php"><![CDATA[<?php
60 // verkrijg meerdere records van de tabel
61 $rowset = $table->fetchAll();
64 // $rowset is nu een Zend_Db_Table_Rowset object bestaande uit
65 // één Zend_Db_Table_Row object per record in de resultaten
67 ?>]]>
68         </programlisting>
70     </sect2>
72     <sect2 id="zend.db.table.rowset.iterate">
74         <title>Door de Rowset lopen</title>
76         <para>
77             Zend_Db_Table_Rowset implementeert de SPL Iterator interface,
78             wat betekent dat je door Zend_Db_Table_Rowset objecten kan lopen
79             zoals je dat doet met arrays door foreach() te gebruiken. Elke
80             waarde die je zo verkrijgt zal een Zend_Db_Table_Row object zijn
81             dat overeenkomt met een record van de tabel. Je kan dan de
82             eigenschappen ervan afbeelden, wijzigen en terug opslaan.
83         </para>
85         <programlisting role="php"><![CDATA[<?php
86 // verbinden met een tabel in de database
87 class RoundTable extends Zend_Db_Table {}
88 $table = new RoundTable();
90 // meerdere records verkrijgen van de tabel
91 $rowset = $table->fetchAll();
93 // ze allemaal afbeelden
94 foreach ($rowset as $row) {
95     // $row is een Zend_Db_Table_Row objekt
96     echo "<p>De lievelingskleur van " . htmlspecialchars($row->nobleTitle) . " "
97        . htmlspecialchars($row->firstName)
98        . " is " . htmlspecialchars($row->favoriteColor)
99        . ".</p>\n";
101     // update het aantal keer dat we deze rij hebben afgebeeld
102     // (deze eigenschap mapt naar een kolom in de tabel "times_displayed")
103     $row->timesDisplayed ++;
105     // de record opslaan met de nieuwe informatie
106     $row->save();
108 ?>]]>
109         </programlisting>
111     </sect2>
113 </sect1>
114 <!--
115 vim:se ts=4 sw=4 et: