[TYPO3-german] pi_exec_query
Christopher Schnell
typo3 at mda.ch
Thu Jul 10 16:03:22 CEST 2008
Hallo zusammen,
die Doku der Klasse t3lib_DB
(http://typo3.org/fileadmin/typo3api-4.0.0/) oder in der Developers
Extension (extdeveval) hilft vielleicht weiter. Da gibt es doch einen
Limit Parameter in exec_SELECTgetRows und exec_SELECTquery
Hoffe, das hilft.
Christopher.
<http://typo3.org/fileadmin/typo3api-4.0.0/de/d07/classt3lib__DB.html#7b17306626fbf95a27cf7c854cfba59a>
<http://typo3.org/fileadmin/typo3api-4.0.0/de/d07/classt3lib__DB.html#e5503781d855be15298f9db5c9bb060a>
Dr. Ronald P. Steiner schrieb:
> P.S.:
> Ich merke gerade, dass die Beschränkung auf maximal 50 Resultate nicht
> nur pi_exec_query betrifft, sondern genauso exec_SELECTqetRows
>
> Wie lässt sich das umgehen?
>
> Dr. Ronald P. Steiner schrieb:
>
>> Hi Dimitri,
>>
>> vielen Dank für Deine Antwort, das hilft mir schon sehr weiter. Über
>> $this->conf['pidList'] kann man die pid festlegen die alle DB-Tabellen
>> Reihen haben sollen, die mit pi_list_query gehohlt werden.
>> Leider ist es wirklich so, wie Du sagst. Es wird nur eine maximale
>> Anzahl an Einträgen abgerufen. Über: $this->internal['results_at_a_time']
>> kann zwar die Anzahl verändert werden, doch werden maximal nur 50
>> Einträge aus der Tabelle ausgelesen. Das reicht für meinen Einsatz
>> leider nicht aus.
>> $GLOBALS['TYPO3_DB']->exec_SELECTgetRows funktioniert recht gut, doch
>> ist es mir nicht klar, wie ich da eine Einschränkung auf eine Kategorie
>> vornehme. Soweit mein Code bisher:
>>
>> $items = array();
>> $table = "tx_dam";
>> $mm_cat = array('table' => 'tx_dam_cat', 'mmtable' => 'tx_dam_mm_cat',
>> 'catUidList' => '2');
>> $this->internal['results_at_a_time'] = 1000000000;
>> $this->conf['pidList'] = 1;
>> $res = $this->pi_exec_query('tx_dam',0,'',$mm_cat,'','','FROM tx_dam');
>> while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
>> $items[] = $row;
>> }
>> debug($items);
>>
>> Das Problem ist, dass aktuell nur 50 Resultate angezeigt werden. bzw.
>> dass ich nicht weiß wie ich die Einschränkung auf eine Kategorie in
>> exec_SELECTgetRows einbeziehen kann.
>>
>> Irgendwelche Hinweise?
>>
>> beste Grüße
>>
>> Ron
>>
>>
>>
>>
>> Dimitri Ebert schrieb:
>>
>>> Hallo Ron,
>>> die pi_exec_query bzw. pi_list_query bauen die pid IN() Einschränkung
>>> ein wenn der 7. parameter $query leer bliebt, außerdem gibt es auch eine
>>> LIMIT Einschränkung in dieser Funktion.
>>> Wenn wirklich die ganze Tabelle ausgelesen werden soll, würde ich
>>> $items = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*','my_table'," 1
>>> ".$this->cObj->enableFields('my_table'));
>>> verwenden.
>>> * am besten noch einschränken.
>>>
>>>
>>> Dr. Ronald P. Steiner schrieb:
>>>
>>>> Hallo Liste,
>>>>
>>>> mit folgender Anfrage wollte ich eigentlich die ganze tt_content
>>>> Tabelle in $items einlesen:
>>>>
>>>> $res = $this->pi_exec_query('tt_content');
>>>> while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
>>>> $items[] = $row;
>>>> }
>>>> debug($items);
>>>>
>>>> Allerdings wird nur eine Tabellenzeile eingelesen, nämlich die mit
>>>> pid = aktuelle Seite und uid = aktuelles Content Element.
>>>>
>>>> Wenn statt tt_content eine andere Tabelle, z.B. tx_dam verwendet
>>>> wird, wird gar kein $item mehr eingelesen.
>>>>
>>>> Wie kann ich den obigen Code verändern um eine ganze DB Tabelle
>>>> einzulesen?
>>>>
>>>> beste Grüße
>>>>
>>>> Ron
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.netfielders.de
>>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>>>
>>>>
>>>>
>>>>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>
>
More information about the TYPO3-german
mailing list