phpbar.de logo

Mailinglisten-Archive

[php] query für Setwerte

[php] query für Setwerte

Wolfgang Skupin webmaster at iwos.de
Don Mar 13 18:26:51 CET 2008


Hallo Hannes,


>Guten Tag Wolfgang Skupin,
>
>am Donnerstag, 13. März 2008 um 17:20 schrieben Sie:
>
>
>> hallo,
>
>> habe eine Tabelle `im_source`  mit einer Set-spalte `medium`
>> die Set-Werte sind in der Form
>> 'keiner','ein wert','noch ein wert', etwas anderes',
>> usw. eingetragen.
>> für das Select- Query bekomme ich ein array mit
>> dualzahlen  array( 2,4,8,16,32, ...);
>> jeder Datensatz kann jede Kombination der Set-Werte enthalten oder nur den
>> Wert 'kein' (1) .
>> nun sollen alle DS ausgewählt werden die
>> etweder min. einen oder x dieser Werte enthalten
>> oder eben alle dieser Werten enthalten ( summe der Arraywerte )
>
>
>
>>  SELECT `ims`.`id`  FROM  `im_source` AS `ims`  WHERE  1  AND 
>> (`ims`.`medium` BETWEEN 2 AND 126 OR `ims`.`medium` = 2 OR `ims`.`medium` =
>> 4 OR `ims`.`medium` =  8 OR `ims`.`medium` =  16 OR `ims`.`medium` =  32 OR
>> `ims`.`medium` =  64 OR `ims`.`medium` = 126 )    ORDER BY 
>> `ims`.`id`,`ims`.`Fileinsert`  DESC
>
>126 oder 128 , 128 waere die richtige 2er Potenz
>

mein array enthält (2,4,8,16,32,64)
 
also in diesem Fall ist Bit 1 und Bit 8  nicht gesetzt
sondern nur Bit 2 bis 7 das macht in der Summe 126

leider bekomme ich, wenn nur mit BETWEEN arbeite gleich gar keine 
korrekte Werte. 



php::bar PHP Wiki   -   Listenarchive