2013-08-20 2 views
-2

데이터베이스를 업데이트 한 후 데이터베이스의 데이터를 표시하는 데 문제가있었습니다. 여기에 내가 사용하고있는 코드가있다. 오류나 이유가 하나의 행만 반환 한 이유가 무엇입니까?mysql_fetch_array는 하나의 행만 표시합니다.

$sql = "SELECT * FROM report";   
    $myData = mysql_query($sql,$con); 

    while ($row = mysql_fetch_array($myData)){ 
     $data[] = array(
     $id = $row['id'], 
     $case_number = $row['case_number'], 
     $contents = $row['contents'], 
      ); 

    } 

    ?> 
    <section> 
    <form action="sqlstatement.php" method="post"> 
     <input type="text" name="case_number" value=" <?php echo $case_number; ?>" /> 
     <input type="text" name="contents" value=" <?php echo $contents; ?>" /> 
     <input type="hidden" name="id" value=" <?php echo $id; ?>" /> 
     <input type="submit" name="edit" value="edit"/> 
     <input type="submit" name="delete" value="delete"/> 

     <?php echo $case_number; ?> 
    </form> 

감사합니다.

+0

* sidenote : * 더 이상 사용되지 않는'mysql_ * '함수 사용을 중단하십시오. 대신에 MySQLi 또는 PDO를 사용하십시오. – Raptor

+0

예, 한 행만 출력합니다. 하나의 '

'만 출력한다면 어떻게 여러 행을 출력 할 것이라고 생각하십니까? – deceze

+0

isnt'$ data [] = array ('$ data [counter] = array (') 여야합니다. 여기서 카운터는 루프 while 인크 루먼 될 카운터입니다. –

답변

1

while loop에있는 모든 행을 가져 오지 만 그 데이터는 사용하지 않습니다. 같은 변수를 반복해서 덮어 씁니다.

루프가 완료 될 때만 양식이 해당 변수의 현재 값과 함께 한 번 출력됩니다. 결과적으로 쿼리 결과의 마지막 행만 표시됩니다.

+0

안녕 GolezTrol, 양식을 사용하여 모든 결과를 표시하는 방법이 있습니까? – Crescent

+0

@ 크레센트 : 힌트를 준 후, 당신이 직면하고있는 문제로 우리에게 시도해 볼 수는 없습니까? –

+0

안녕하세요 파힘은 힌트를 얻은 후 왜 변경해야하는지 알고 있습니까? . : (그리고 만약 내가 PHP 에코에 내 양식을 배치하면 문장 대신 한 단어 만 편집 할 수 있습니다. – Crescent

0

변수 $ case_number는 배열이 아닙니다. 변수를 배열로 변경하면 여러 값을 사용할 수 있습니다.

현재 코드는 while 루프의 마지막 값만 표시합니다.

+0

Vinoth, 예를 보여 주시겠습니까? 고맙습니다 – Crescent

관련 문제