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 (' where counter - это счетчик, который будет увеличиваться во время цикла –

ответ

1

Вы извлекаете все строки в while loop, но вы не используете ни одну из этих данных. Вы просто перезаписываете одни и те же переменные снова и снова.

Только когда цикл закончен, форма выводится один раз с текущими значениями этих переменных. В результате вы видите только последнюю строку результатов запроса.

+0

Здравствуйте, GolezTrol. Есть ли способ отображения всего результата с помощью формы? – Crescent

+0

@Crescent: после подсказки, не можете ли вы попробовать и рассказать нам о проблеме, с которой вы столкнулись? Atleast try man ... –

+0

Здравствуйте, Fahim, после получения подсказки, я знаю, почему нужно менять? Поэтому я снова спросил . :(И тогда, если я поместил свою форму в php-эхо, я могу только изменить одно слово вместо предложения. – Crescent

0

Переменная $ case_number не является массивом. Измените переменную на массив, затем он примет несколько значений.

Ваш текущий код показывает только последнее значение из цикла while.

+0

Vinoth, вы не возражаете, чтобы показать мне пример? спасибо – Crescent

Смежные вопросы