2013-05-19 3 views
2

아래 코드는 [3]2010-01-01으로, [6]edited으로 바꾸고 싶습니다. 내가 키 장소에서 편집 기능을 찾을 작동 그게 그나마 제대로 PHP :키를 입력하여 배열을 변경하십시오.

while ($aRow = mysql_fetch_array($rResult)) 
{ 
    replace_key('id', '00', $aRow); 
    $output['aaData'][] = $aRow; 
} 

결과 : mysql_fetch_array()의 기본 인수를 사용

Array 
(
    [0] =>aaaaaaa 
    [title] => bbbbbb 
    [1] => 86 
    [id] => 86 
    [2] => rewr 
    [subject] => rewr 
    [3] => 0000-00-00 
    [date_time] => 0000-00-00 
    [4] => admin 
    [username] => admin 
    [5] =>cccc 
    [6] =>ddddd 
) 
+0

나는 당신의 질문을 이해하고 있는지 잘 모르겠습니다. '$ aRow [3] = '2010-01-01'; $ aRow [6] = '편집 됨'; –

+0

@FabianTamp, 네, 도와 주실 수 있습니까? 감사합니다 –

+0

당신은 이것을하려고합니까? ... http://stackoverflow.com/questions/240660/in-php-how-do-you-change-the-key-of-an-array-element – Jimbo

답변

0

, 당신의 SQL 쿼리는 인덱스와 연관 배열 모두 반환 각 행에 대한 항목.

첫째, 나는 강력하게 mysql_* 스타일 기능을 사용하지 않는 것이 좋습니다. 이 도구 세트는 잠시 동안 더 이상 사용되지 않으며 더 이상 업데이트되지 않습니다. 그 이유를 자세히 설명하는 온라인 자료와 좋은 대안이 많이 있습니다. 아아, 계속 나아 갑시다.

다음으로 두 번째 인수로 함수에 MYSQL_ASSOC (연관 배열) 또는 MYSQL_NUM (번호 매겨진 배열)을 전달하여 반환 형식 메서드 하나 또는 다른 방법을 사용하는 것이 좋습니다.

예. MYSQL_ASSOC 당신을 줄 것이다 : 당신이 당신의 쿼리 내에서 열을 선택한 순서에 의존 할 필요가 없기 때문에

Array 
(
    [title] => bbbbbb 
    [id] => 86 
    [subject] => rewr 
    [date_time] => 0000-00-00 
    [username] => admin 
) 

일반적으로,이 번호가 배열보다 선호된다.

예. MYSQL_NUM은 다음을 제공합니다 :

Array (
    [0] =>aaaaaaa 
    [1] => 86 
    [2] => rewr 
    [3] => 0000-00-00 
    [4] => admin 
) 

오른쪽.

// Using MYSQL_ASSOC 

while ($aRow = mysql_fetch_array($rResult , MYSQL_ASSOC)) { 

    $aRow['date_time'] = '2010-01-01'; 
    $aRow['status'] = 'edited'; // Whatever key this column should be needs to be added instead of 'status' 

    $output['aaData'][] = $aRow; 

} 

또는 : 당신은 여전히 ​​모두를 고수하려면

// Using MYSQL_NUM 

while ($aRow = mysql_fetch_array($rResult , MYSQL_NUM)) { 

    $aRow[3] = '2010-01-01'; 
    $aRow[6] = 'edited'; 

    $output['aaData'][] = $aRow; 

} 

것은, 당신이 사용해야합니다 이제, 당신은 단지 다음 줄을 추가 할 수 있습니다, 당신의 while 루프에서 배열을 편집합니다 두 예 모두의 줄 :

// Using DEFAULT/MYSQL_BOTH 

while ($aRow = mysql_fetch_array($rResult)) { 

    $aRow['date_time'] = '2010-01-01'; 
    $aRow[3] = '2010-01-01'; 

    $aRow['status'] = 'edited'; // Whatever key this column should be needs to be added instead of 'status' 
    $aRow[6] = 'edited'; 

    $output['aaData'][] = $aRow; 

} 
관련 문제