225,20 → 225,30 |
$proto_fields = DelTk::sqlFieldsToAlias(self::$mappings['protocoles'], $select['protocole'], 'p'); |
|
$where = array(); |
$idsImages = array_values(array_map(create_function('$a', 'return $a["id_image"];'), $images)); |
$where[] = sprintf('v.ce_image IN (%s)', |
implode(',', array_values(array_map(create_function('$a', 'return $a["id_image"];'), $images)))); |
implode(',', $idsImages)); |
|
if ($protocole) { |
$where[] = "v.ce_protocole = $protocole"; |
} |
|
return $db->recupererTous(sprintf( |
// pour une fois, on conserve l'ordre en ne luttant pas contre les IDs reçus |
$ordreDesIdsRecus = sprintf('FIELD(v.ce_image, %s)', implode(',', $idsImages)); |
$req = sprintf( |
'SELECT %s, %s FROM del_image_vote AS v'. |
' INNER JOIN del_image_protocole p ON v.ce_protocole = p.id_protocole'. |
' WHERE %s -- %s', |
$vote_fields, $proto_fields, |
$where ? implode(' AND ', $where) : 1, |
__FILE__ . ':' . __LINE__)); |
' WHERE %s'. |
' ORDER BY %s -- %s', |
$vote_fields, |
$proto_fields, |
($where ? implode(' AND ', $where) : 1), |
$ordreDesIdsRecus, |
__FILE__ . ':' . __LINE__); |
|
//echo "REQUETE: $req"; exit; |
|
return $db->recupererTous($req); |
} |
|
/** |