[TYPO3-UG Dutch] foreign_table_where met IN statement (tca.php)

Wiel, J.A.M. van de j.a.m.v.d.wiel at tue.nl
Wed Apr 29 15:55:24 CEST 2009


Hoi Barbara,
Sorry dat ik zo ineens inval zonder de voorgeschiedenis te lezen, maar waarom gebruik je een blob als de mogelijke waarden niet anders zijn dan 1 en 2? Een TINYINT neemt flink wat minder ruimte in beslag, en het zoekt ook sneller. Persoonlijk vind ik blobs maar een lastig handelbaar datatype, zeker om op te zoeken.

Wellicht werkt het beter als je de waarde tussen de haakjes quote, als volgt:

SELECT * FROM tx_zwffietsen_soorten WHERE mogelijk IN('2');

..een blob is immers geen getal en 1 zou in dit geval ook true kunnen betekenen waardoor het wel lijkt te werken, maar gewoon alle resultaten teruggeeft. Wil je op meerdere waarden selecteren, dan krijg je zoiets:

SELECT * FROM tx_zwffietsen_soorten WHERE mogelijk IN('1','2');

..tenminste, zolang het veld 'mogelijk' een niet-numeriek datatype heeft.

Groeten,
Bas

________________________________________
From: typo3-ug-dutch-bounces at lists.netfielders.de [typo3-ug-dutch-bounces at lists.netfielders.de] On Behalf Of Barbara Wijbenga [bwijbenga at chello.nl]
Sent: Wednesday, April 29, 2009 3:46 PM
To: typo3-ug-dutch at lists.netfielders.de
Subject: Re: [TYPO3-UG Dutch] foreign_table_where met IN statement (tca.php)

Nou dacht ik dat het helemaal werkte, maar ik heb toch nog ruzie met het IN
statement:

De te selecteren records hebben bij 'mogelijk' waarde 1,2 in een blob.

Als ik in PHPmyAdmin
select * from tx_zwffietsen_soorten where mogelijk IN (1)
doe, krijg ik de goede resultaten.
Maar als ik van die 1 2 maak, krijg ik geen resultaten meer.
Waar ligt dat aan?

Gr.
Barbara


"Arjen Hoekema" <arjenhoekema at gmail.com> wrote in message
news:mailman.1.1240991332.29811.typo3-ug-dutch at lists.netfielders.de...
> Hoi Barbara,
>
> Wanneer je de waarde van een veld ophaalt waarin meerdere objecten kunnen
> worden gekoppeld (multiselect) zoals jouw categorieën krijg je helaas
> naast de "uid" ook de titel van het record binnen (<uid>|titel).
>
> Er zijn een aantal oplossingen mogelijk:
> - Geen multiselect voor de categorieën (geen optie denk ik)
> - Een reguliere expressie in de query opnemen om alles behalve getallen
> (en komma) eruit te filteren (workaround/vies)
> - Voor de select van mogelijke fietsen een eigen "itemsProcFunc" schrijven
> die de lijst met items vult (zie core api). In deze functie heb je dan
> alle vrijheid om een correcte query te maken.
>
> Owja, sowieso zou de syntax van "IN" andersom moeten:
>
> "AND tx_zwffietsen_merken.mogelijk IN (###REC_FIELD_categorie###) ORDER BY
> tx_zwffietsen_merken.sorting"
>
> Met vriendelijke groet,
>
> Arjen Hoekema
>

_______________________________________________
TYPO3-UG-Dutch mailing list
TYPO3-UG-Dutch at lists.netfielders.de
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-ug-dutch


More information about the TYPO3-UG-Dutch mailing list