Ho una colonna in MySQL nel seguente formato dopo aver eseguito un determinato $sql
:
colname
12
15
10
23
12
2
Quello che voglio è trasferire questo in
$colname = array(12,15,10,23,12,2)
Mi è venuta in mente:
$results = $wpdb->get_results($sql);
$colname=array();
foreach($results as $result){
$colname[] = $result;}
È questo il modo più efficiente? Anche l'ordine è molto importante
risposte:
1 per risposta № 1Probabilmente puoi usare qualcosa come:
$sql =
"SELECT " .
" group_concat(colname ORDER BY order_by SEPARATOR ",") AS txt_result " .
"FROM " .
" t ; " ;
$results = $wpdb->get_results($sql);
$colname = split(",", $results[0]["txt_result"])
Si noti che è necessario un certo ORDER BY
espressione. Per impostazione predefinita, SQL lo fa non fornire qualsiasi ordine determinato. $colname
sarà una matrice di rappresentazioni testuali dei tuoi numeri. Dovresti convertirli in numeri se necessario.
Vedere il risultato della query SQL su dbfiddle Qui
Riferimento: