Zum Inhalt springen

datensätze ausgeben [von - bis]

Erstellt am 20. Mai 2008 · 4 Antworten · letzte Antwort am 22. Mai 2008

Tags: FlexForms, Frage

triskal ·

hallo,

ich taste mich gerade an die extension-programmierung heran. ich habe bereits eine anhand des beispiels aus 'praxiswissen typo3' von robert meyer erstellt. funktioniert auch prima.

ich lege entsprechende datensätze übers backend auf einer seite an. es wird ein plugin auf der seite eingerichtet welches alle auf dieser seite befindlichen datensätze im frontend ausgibt.

jetzt benötige ich allerdings eine lösung, wie sie bspw. auch die erweiterung tt_news bietet. es soll nicht ein, sondern zwei plugins untereinander auf der seite eingefügt werden. das erste soll die datensätze 1-4 und das zweite die übrigen ausgeben.

versteht ihr was ich meine? wie kann ich das umsetzen? benötige ich da so ein flexform für, damit ich über das plugin-inhaltselement die datensatznummern auswählen kann? freu mich über jeden tipp, verweis, etc.

danke und gruss,
manuel

just2b ·

Hallo,

ja flexform um die werte zu übergeben und dann einfach im query als LIMIT x,y verwerten

georg

triskal ·

hi georg,

vielen dank, dein tipp war schon mal sehr hilfreich. ich hab mich in die flexform-einbindung reingelesen und es geschafft die von-bis-daten in der class.tx_*_pi1.php auszulesen.

mein query-befehl sieht derzeit so aus:

$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","tx_msuteamer_main","deleted=0 AND hidden=0 AND pid='".$pid."'");

aber wie lautet denn für das LIMIT die genaue syntax? kann LIMIT nicht nur einen int-wert annehmen? kannst du mir an der stelle noch mal helfen bzw. mich weiterverweisen?

danke und gruss, manuel

yahooooo ·

Hi Manuel,

Beispiel:

// SELECT: 

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(

                '*',         // SELECT ... 

                'mytable',     // FROM ... 

                'uid=123 AND title LIKE "%blabla%"',    // WHERE... 

                '',            // GROUP BY... 

                'title',    // ORDER BY... 

                '5'            // LIMIT ... 

            ); 

while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){
                  $bla = $row['uid'];
}

Was Du davon nicht für die Query brauchst, einfach '' (quasi leer)lassen. Limit sind nur Zahlen von Null bis irgendwas. '0,3' gibt die ersten vier Ergebnisse aus.

Kannst mich aber auch morgen mal im Büro anrufen...

Gruß
Christian

triskal ·

hi christian,

'sja witzig 😉

danke für den tipp. so hats auf jeden fall geklappt. bin dann aber dennoch von der LIMIT-geschichte wieder abgekommen und habs über die WHERE-klausel gelöst:

$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","tx_msuteamer_main","deleted=0 AND hidden=0 AND pid='".$pid."' AND uid>='".$von."' AND uid<='".$bis."'");

ermöglicht eine einfache plugin-bedienung für die redakteure da sie die uid's in der listenansicht sehen und somit genau ansteuern können.

besten dank trotzdem!

bis dahin, manuel