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

Barbara Wijbenga bwijbenga at chello.nl
Wed Apr 29 16:10:19 CEST 2009


Hallo Bas,

Ik heb de extensie met Kickstarter gemaakt en die maakte er een Blob van. 
Het is een Database Relation veld met maxItems = 100. Er staan dus uid's uit 
een andere tabel in. Bijv. 1,3,6 wat niet in een TINYINT kan.
Het lijkt mij dat Kickstarter er het geschiktste type van maakt, of is dat 
in dit geval niet zo?

Groeten,
Barbara


"Wiel, J.A.M. van de" <j.a.m.v.d.wiel at tue.nl> wrote in message 
news:mailman.3822.1241013575.1775.typo3-ug-dutch at lists.netfielders.de...
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