我在PHP中有一个数字数组,它表示我的DB中的主键(“pro_id”),我通过CodeIgniter中的模型发送该数组,以便只获得10个特定的行。
这个数字可能会改变,但现在我将用这个来证明我的观点。
下面是数组:
Array ( [0] => 5 [1] => 3 [2] => 8 [3] => 12 [4] => 30 [5] => 29 [6] => 26 [7] => 28 [8] => 4 [9] => 7 )
这是我发送它的模型:
public function get_flores_home($array_select) {
$this->db->where_in('pro_id', $array_select);
return $query->result_array();
}
但是,我希望按数组的相同顺序对结果进行排序。
这是我目前得到的结果:
Array(
[0] => Array(
[pro_id] => 3[pro_nombre] => Ashley[pro_descripcion] => 24RosasBaseDeCerámica[pro_precio] => 480[pro_es_disponible] => 1[pro_imagen] => 0edb4 - ashley . jpg
) [1] => Array(
[pro_id] => 4[pro_nombre] => Abril[pro_descripcion] => 6RosasRojas, LilisBlancas, Alstroemerias[pro_precio] => 320[pro_es_disponible] => 1[pro_imagen] => 3f9f1 - abril . jpg
) [2] => Array(
[pro_id] => 5[pro_nombre] => Amira[pro_descripcion] => 12Rosas . Alstroemerias . MallaBlanca . Moño . [pro_precio] => 280[pro_es_disponible] => 1[pro_imagen] => 81e6c - amira . jpg
) [3] => Array(
[pro_id] => 7[pro_nombre] => Betty[pro_descripcion] => 24Rosas . Alcatraces . Alstroemerias . Moño[pro_precio] => 650[pro_es_disponible] => 1[pro_imagen] => 57219 - betty . jpg
) [4] => Array(
[pro_id] => 8[pro_nombre] => Brittany[pro_descripcion] => 24RosasRojas . MallaElegante . Moño[pro_precio] => 450[pro_es_disponible] => 1[pro_imagen] => 942cf - brittany . jpg
) [5] => Array(
[pro_id] => 12[pro_nombre] => Diana[pro_descripcion] => 24Rosas . LilisBlancas . BaseDeCeramica . [pro_precio] => 490[pro_es_disponible] => 1[pro_imagen] => a9bb8 - diana . jpg
) [6] => Array(
[pro_id] => 26[pro_nombre] => Katy[pro_descripcion] => 48Rosas . LilisAmarillas . Lisianthusmorado . CampanitaDeIrlanda . [pro_precio] => 1200[pro_es_disponible] => 1[pro_imagen] => 478a6 - katy . jpg
) [7] => Array(
[pro_id] => 28[pro_nombre] => Lucia[pro_descripcion] => 24Rosas . 10Tulipanes . CampanitaDeIrlanda . Stargazer . BaseDeCeramica . [pro_precio] => 900[pro_es_disponible] => 1[pro_imagen] => f0829 - lucia . jpg
) [8] => Array(
[pro_id] => 29[pro_nombre] => Magdalena[pro_descripcion] => 24Rosas . LilisBlancas . BaseDeCeramica . [pro_precio] => 590[pro_es_disponible] => 1[pro_imagen] => 29403 - magdalena . jpg
) [9] => Array(
[pro_id] => 30[pro_nombre] => Marisol[pro_descripcion] => 24Rosas . 5Lilis . Alstroemerias . Canasta . [pro_precio] => 750[pro_es_disponible] => 1[pro_imagen] => 1eb20 - marisol . jpg
)
)
下面是我希望结果排序的数组:
Array ( [0] => 5 [1] => 3 [2] => 8 [3] => 12 [4] => 30 [5] => 29 [6] => 26 [7] => 28 [8] => 4 [9] => 7 )
这是按所需顺序排列的结果:
Array(
[0] => Array(
[pro_id] => 5[pro_nombre] => Amira[pro_descripcion] => 12Rosas . Alstroemerias . MallaBlanca . Moño . [pro_precio] => 280[pro_es_disponible] => 1[pro_imagen] => 81e6c - amira . jpg
) [1] => Array(
[pro_id] => 3[pro_nombre] => Ashley[pro_descripcion] => 24RosasBaseDeCerámica[pro_precio] => 480[pro_es_disponible] => 1[pro_imagen] => 0edb4 - ashley . jpg
) [2] => Array(
[pro_id] => 8[pro_nombre] => Brittany[pro_descripcion] => 24RosasRojas . MallaElegante . Moño[pro_precio] => 450[pro_es_disponible] => 1[pro_imagen] => 942cf - brittany . jpg
) [3] => Array(
[pro_id] => 12[pro_nombre] => Diana[pro_descripcion] => 24Rosas . LilisBlancas . BaseDeCeramica . [pro_precio] => 490[pro_es_disponible] => 1[pro_imagen] => a9bb8 - diana . jpg
) [4] => Array(
[pro_id] => 30[pro_nombre] => Marisol[pro_descripcion] => 24Rosas . 5Lilis . Alstroemerias . Canasta . [pro_precio] => 750[pro_es_disponible] => 1[pro_imagen] => 1eb20 - marisol . jpg
) [5] => Array(
[pro_id] => 29[pro_nombre] => Magdalena[pro_descripcion] => 24Rosas . LilisBlancas . BaseDeCeramica . [pro_precio] => 590[pro_es_disponible] => 1[pro_imagen] => 29403 - magdalena . jpg
) [6] => Array(
[pro_id] => 26[pro_nombre] => Katy[pro_descripcion] => 48Rosas . LilisAmarillas . Lisianthusmorado . CampanitaDeIrlanda . [pro_precio] => 1200[pro_es_disponible] => 1[pro_imagen] => 478a6 - katy . jpg
) [7] => Array(
[pro_id] => 28[pro_nombre] => Lucia[pro_descripcion] => 24Rosas . 10Tulipanes . CampanitaDeIrlanda . Stargazer . BaseDeCeramica . [pro_precio] => 900[pro_es_disponible] => 1[pro_imagen] => f0829 - lucia . jpg
) [8] => Array(
[pro_id] => 4[pro_nombre] => Abril[pro_descripcion] => 6RosasRojas, LilisBlancas, Alstroemerias[pro_precio] => 320[pro_es_disponible] => 1[pro_imagen] => 3f9f1 - abril . jpg
) [9] => Array(
[pro_id] => 7[pro_nombre] => Betty[pro_descripcion] => 24Rosas . Alcatraces . Alstroemerias . Moño[pro_precio] => 650[pro_es_disponible] => 1[pro_imagen] => 57219 - betty . jpg
)
)
正如您所看到的,现在的顺序基于我在“where_in”方法中使用的相同数组。
3条答案
按热度按时间cfh9epnr1#
免责声明:我不知道如何使用CodeIgniter,但如果你想按一些自定义顺序(如你的顺序)订购,这就是你要做的:
现在,如果您知道如何在CodeIgniter中进行调整,使其生成如下所示的查询,那么您的问题就可以通过MySQL解决。
avkwfej42#
因为它是一个小的数据集,所以可以在控制器中操作数组,也可以在视图中操作。只需将order数组作为$order传递给视图,将结果集作为$results传递给视图即可:
8oomwypt3#