11. april 2005 - 19:01Der er
5 kommentarer og 1 løsning
array og sql
Jeg har følgende array: $arr_options = array( "22" => array(2,26), "14" => array(16,19));
Og så har jeg en tabel: id: options_id: option_value_id 1 22 2 2 22 26 3 22 24 4 14 33 5 14 19 6 14 16 7 14 6
Jeg ønsker at selecte de værdier der IKKE matcher værdierne i arrayet, så jeg ender op med følgende resultat: id: options_id: option_value_id 3 22 24 4 14 33 7 14 6
Det er dog ikke svært - men det laver en ordentlig where-sætning:
$arr_options = array( "22" => array(2,26), "14" => array(16,19)); $where = " options_id NOT IN (".join(",",array_keys($arr_options).")"; foreach($arr_options as $key = $opts) { $where .= " OR (options_id = $key AND options_value_id NOT IN (".join(",",array_keys($opts)."))"; } $sql = "SELECT * FROM table WHERE ".$where;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.