2014-01-13 2 views
1

Используя select query am, выберите некоторые данные из базы данных.Как распечатать только индекс массива

Я извлек данные, используя цикл while.

while($row=mysql_fetch_array($query1)) 
{ 

} 

Теперь я хочу напечатать только индекс строки $.

я пытался напечатать с помощью следующих операторов, но он печатает индекс и значение (Key ==> Value)

foreach ($row as $key => $value) { 
    echo $key ; 
} 

и я попытался array_keys() также Ь также не полезно для меня.

echo implode(array_keys($row)); 

, пожалуйста, помогите выйти.

Мне нужно распечатать только индекс.

+0

Что означают индексы? Индекс массива (в именах столбцов вашего случая) или, может быть, идентификатор записи? – MSadura

+0

Мне нужно напечатать ключ не значение. – sandeep

+0

Используете ли вы одни и те же '$ row' в первом и втором циклах? Если да, то вы переписываете его в первом цикле, а затем вы получите только 1 строку во втором –

ответ

0

Вы должны передать разделитель (текст клея) в функции Implode.

Для ключей с разделителями-запятыми можно использовать код ниже.

echo implode(",",array_keys($row)); 
+0

, используя вышеуказанный оператор, также он печатает 0, sa, 1, ff, 2df как это, но мне нужны только ключевые значения 0,1,2. – sandeep

+0

то что вы хотите сделать? –

+0

Параметр 'glue' не является обязательным -' implode() 'может работать без него. –

2

Вы Извлечение результатов строки как как ассоциативный массив и числовой массив (по умолчанию), смотрите руководство по mysql_fetch_array.

Если вам нужно только числовой массив, используйте:

while($row=mysql_fetch_array($query1, MYSQL_NUM)) 

Кстати, вы должны переключиться на PDO или MySQLi как mysql_* функции устарели.

+1

Простой и лучший без дополнительной работы :-) –

0

Переменная $row в вашем цикле while перезаписывается на каждой итерации, поэтому foreach не будет работать так, как вы ожидаете.

магазин каждый $row в массиве, например, так:

$arr = array(); 
while($row=mysql_fetch_array($query1)) { 
    $arr[] = $row; 
} 

Теперь, чтобы напечатать ключи массива, вы можете использовать простой implode():

echo implode(', ', array_keys($arr)); 
0

$ Query1 от в то время как ($ строки = mysql_fetch_array ($ Query1)) должно быть результатом

$query1 = mysql_result("SELECT * FROM table"); 
//then 
while($row=mysql_fetch_array($query1)) 

Чтобы получить только использование ключей mysql_fetch_row

$query = "SELECT fields FROM table"; 
$result = mysql_query($query); 
while ($row = mysql_fetch_row($result)) { 
    print_r(array_keys($row)); 
} 
Смежные вопросы