Beste,
Voor een script om verschillende bedrijven die voldoen aan bepaalde eigenschappen, wordt een array opgeslagen in de Database. Dit gebeurd middels de php functie 'serialize'.
Deze array bestaat vervolgens enkel uit een aantal id's. (Bijv. Array(1,3,7,9).
Wanneer we nu een selectie willen maken uit de database die voldoet aan één van die waarden willen we eigenlijk het volgende:
<?php
SELECT * FORM table WHERE keuze = 3
?>
Bestaat er binnen SQL een functie om direct in deze serialized array te kijken, of moet je eerst alle waarden weer omzetten en vervolgens via een array_push o.i.d. een nieuwe Array opbouwen.
Dus:
<?php
$qry = SELECT * FROM table
$gevonden = array();
while($item = mysql_fetch_object(mysql_query($qry))
{
$array = unserialize($item->keuze);
if(in_array(3,$array)
{
array_push($item->id,$gevonden);
}
}
?>
En zo ja... als dit de enige oplossing is, hoeveel data zou ik dan gelijk kunnen vergelijken? Wat als ik straks een Database heb met +/- 5 a 6000 records waarvoor deze actie een in enkele klik moet worden uitgevoerd?
Met vriendelijke groet,
Raymond Veldhuizen.
945 views