Выборка из MySQL в индексный массив

senty

Постоялец
Регистрация
23 Дек 2009
Сообщения
62
Реакции
2
Вот такой запрос
Код:
    $sql = "SELECT	product_id, product_name 
            FROM 	product
            WHERE	catalogue_id='".$prodItem['catalogue_id']."' 
			AND 	product_visible='1'";
А его содержимое необходимо поместить в массив такого вида:
Код:
$arr = array();

  $arr[1] = "22";

  $arr[2] = "23";

  $arr[3] = "24";
 
Исходя из указанных условий скорее всего так:
PHP:
$arr = array();
$ssql=mysql_query($sql);
while($ars=mysql_fetch_assoc($ssql)){
$arr[$ars[product_id]] = $ars[product_name];//или наоборот $arr[$ars[product_name]] = $ars[product_id];
}
print_r($arr);
 
Исходя из указанных условий скорее всего так:
PHP:
$arr = array();
$ssql=mysql_query($sql);
while($ars=mysql_fetch_assoc($ssql)){
$arr[$ars[product_id]] = $ars[product_name];//или наоборот $arr[$ars[product_name]] = $ars[product_id];
}
print_r($arr);

Спасибо, тио что нужно

---------- Post added at 11:09 ---------- Previous post was at 09:54 ----------

dino, оказалось что не так =)
Все таки необходимо что бы было именно
Код:
$arr = array();
  $arr[1] = "22";
  $arr[2] = "23";
  $arr[3] = "24";
т.к. выглядеть он будет по другому, а именно:
Код:
$arr = array();
  $arr[1] = "50";
  $arr[2] = "40";
  $arr[3] = "30";
Потому что при выборке из базы данных будет еще происходить сортировка по полю, в котором хранится значение вес продукта.
А ключи используются для перехода на следующий товар и предыдущий =)
Т.е., я сделал как ты написал во втором после и вывел этот массив, выдало:
Код:
Array ( [22] => 22 [23] => 23 [24] => 24 [27] => 27 [28] => 28 [29] => 29 [30] => 30 [31] => 31 [32] => 32 [33] => 33 [34] => 34 [35] => 35 [36] => 36 [37] => 37 [38] => 38 [39] => 39 [40] => 40 [41] => 41 [42] => 42 [43] => 43 [44] => 44 [45] => 45 [46] => 46 [47] => 47 [48] => 48 [49] => 49 [50] => 50 [51] => 51 [52] => 52 [53] => 53 [54] => 54 [55] => 55 [56] => 56 [57] => 57 [58] => 58 [59] => 59 [60] => 60 )
А надо:
Код:
Array ( [1] => 22 [2] => 23 [3] => 24 [4] => 27 [5] => 28 [6] => 29 [7] => 30 [8] => 31 [9] => 32 [..] => ..

Добавлено через 14 минут
Нумерацию сделал так:
PHP:
$arr = array();
$ssql=mysql_query($query);
$i=1;
while($ars=mysql_fetch_assoc($ssql)){
$arr[$i++] = $ars[product_id];
//$arr[$ars[product_id]] = $ars[product_id];

А как обратится к значению элемента, к примеру 1?
Т.е., если:
Код:
Array ( [1] => 22 [2] => 23 [3] => 24 [4] => 27 [5] => 28 [6] => 29 [7] => 30 [8] => 31 [9] => 32 [10] => 33 [11] => 34 [12] => 35 [13] => 36 [14] => 37 [15] => 38 [16] => 39 [17] => 40 [18] => 41 [19] => 42 [20] => 43 [21] => 44 [22] => 45 [23] => 46 [24] => 47 [25] => 48 [26] => 49 [27] => 50 [28] => 51 [29] => 52 [30] => 53 [31] => 54 [32] => 55 [33] => 56 [34] => 57 [35] => 58 [36] => 59 [37] => 60 )
то как обратится к [1] и вывести на экран значение 22? :)

Добавлено через 17 минут
Разобрался, спасибо еще раз.
Код:
echo $arr[2];
 
Назад
Сверху