2014-01-13 2 views
1

select query am을 사용하여 데이터베이스의 일부 데이터를 선택하십시오.배열 색인 만 인쇄하는 방법

while 루프를 사용하여 데이터를 가져 왔습니다.

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

} 

이제 $ row의 색인 만 인쇄하고 싶습니다. 그것은 또한 나에게 도움이되지 않습니다 또한 BT는)

나는 다음과 같은 문장을 사용하여 인쇄하려고하지만, 인덱스와 값 (키 ==> 값)

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

를 출력하고 난 (array_keys을 시도했다.

echo implode(array_keys($row)); 

이 문제를 해결하려면 도움을 받으십시오.

색인 만 인쇄하면됩니다.

+0

인덱스를 어떻게 사용합니까? 배열의 인덱스 (귀하의 경우 열 이름) 또는 아마도 레코드의 ID? – 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의 설명서를 참조하십시오.

그냥 숫자 배열을해야하는 경우는, 사용하십시오 mysql_* 기능이 사용되지 않습니다으로

그런데
while($row=mysql_fetch_array($query1, MYSQL_NUM)) 

, 당신은 PDO 또는 mysqli로 전환해야한다.

+1

추가 작업없이 간단하고 최상의 :-) –

0

while 루프의 변수가 각각 반복 될 때마다 덮어 쓰므로 foreach은 예상대로 작동하지 않습니다.

스토어 그래서 같은 배열의 각 $row :

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

동안에서 $ 쿼리 1을 ($ 행 :

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

지금, 배열의 키를 인쇄하려면, 당신은 implode() 간단하게 사용할 수 있습니다 = 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)); 
}