2013-03-10 2 views
1

У меня есть база данных, которая выглядит так -Извлечение данных из базы данных, а не получать правильные данные

Image 1

Я пытаюсь принести первые 10 записей в зависимости от времени (записи с топ-10 значений в time колонка). У меня есть следующий код.

<?php 
    include_once("connect.php"); 
    $sql = "SELECT * FROM scores order by time desc limit 10"; 
    $query = mysql_query($sql) or die("systemResult=Error"); 
    $counter = mysql_num_rows($query); 

    if($counter>0) 
    { 
     print("systemResult=Success"); 
     $array = mysql_fetch_array($query); 

     foreach($array as $data) 
     { 
      $athleteName = $data["athleteName"]; 
      $email = $data["email"]; 
      $time = $data["time"]; 
      $timeStamp = $data["timeStamp"]; 
      $country = $data["country"]; 

      print "&athleteName=" . $athleteName; 
      print "&email=" . $email; 
      print "&time=".$time; 
      print "&timeStamp=".$timeStamp; 
      print "&country=".$country; 
     } 
    } 
    else 
    { 
     print("systemResult=Error"); 
    } 
?> 

Выход я получаю

systemResult=Success&athleteName=7&email=7&time=7&timeStamp=7&country=7&athleteName=7&email=7&time=7&timeStamp=7&country=7&athleteName=4&email=4&time=4&timeStamp=4&country=4&athleteName=4&email=4&time=4&timeStamp=4&country=4&athleteName=G&email=G&time=G&timeStamp=G&country=G&athleteName=G&email=G&time=G&timeStamp=G&country=G&athleteName=n&email=n&time=n&timeStamp=n&country=n&athleteName=n&email=n&time=n&timeStamp=n&country=n&athleteName=2&email=2&time=2&timeStamp=2&country=2&athleteName=2&email=2&time=2&timeStamp=2&country=2&athleteName=I&email=I&time=I&timeStamp=I&country=I&athleteName=I&email=I&time=I&timeStamp=I&country=I 

Как можно видеть, выход я получаю не то, что находится на столе в базе данных. Я получаю странные ценности. Что я делаю не так?

ответ

2

Вам не нужно использовать для каждого в вашем случае, и если да, то просто напечатать $ данные, попробуйте удалить цикл Еогеасп, и если вы хотите, чтобы получить все записи, а затем, в то время как использовать:

while($data = mysql_fetch_array($query)) 
    { 
     $athleteName = $data["athleteName"]; 
     $email = $data["email"]; 
     $time = $data["time"]; 
     $timeStamp = $data["timeStamp"]; 
     $country = $data["country"]; 

     print "&athleteName=" . $athleteName; 
     print "&email=" . $email; 
     print "&time=".$time; 
     print "&timeStamp=".$timeStamp; 
     print "&country=".$country; 
    } 
+0

спасибо, этот код работает. –

2

попробовать

while($data = mysql_fetch_array($query)) { 
    $athleteName = $data["athleteName"]; 
    //... 
Смежные вопросы