[TYPO3-german] pi_exec_query

Dr. Ronald P. Steiner Ronald.Steiner at googlemail.com
Thu Jul 10 15:14:57 CEST 2008


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
>>>
>>>
>>>   


More information about the TYPO3-german mailing list