2015-05-07 2 views
1

Я работаю над университетским проектом, и мне нужно создать веб-сайт, который использует базу данных mysql.Xampp - mysql не возвращает все записи

Я начал использовать XAMPP, но выяснил, что при отправке запроса с веб-страницы отображаются не все записи.

Веб-страница должна показать все книги в библиотеке, я загружен 39 записей, но сервер отвечает только с 32.

это запрос, который я послал:

SELECT titolo, autore FROM libro WHERE 1 ORDER BY libro ASC 

У меня есть эта проблема с веб-страницы, но если я сделаю тот же запрос из командной строки, сервер вернет все записи.

Здесь PHP скрипт, который запрашивает у сервера:

$mysqli = new mysqli("127.0.0.1","","","biblioteca"); 
if($mysqli->connect_errno) 
{ 
    echo "Connessione fallita (". $mysqli->connect_errno.")".$mysqli->connect_error; 
} 

//query per recupero di tutti il libri disponibili 
$result = $mysqli->query("SELECT titolo, autore, genere, disponibilita, codLibro FROM libro WHERE 1 ORDER BY titolo ASC") or die ("Query fallita".$mysqli->error); 

//visualizzazione di tutti gli elementi dell'arrray 
$count = 1; 
print "<br>"; 
foreach($result as $value){ 
    foreach($value as $attrib){ 
     //recupero singoli attributi della tabella 'libro' e li stampo 
     $row = $result->fetch_row(); 

     print $count.". "; 
     print " ".$row[0]. " - ".$row[1]." - ".$row[2]." - "; 

     //se è disponibile inserisco immagine 
     if($row[3]==1) 
     { 
      print "<a href=\"prenota.php?cod=".$row[4]."&user=". $_GET['user']. "\"><img name=\"prenota\" title=\"Effettua la     prenotazione\" src=\"/img/ok.png\" width=\"25\" height=\"25\"/></a>"; 
      print "<br>"; 
     }else{ 
      print "<img src=\"/img/no.jpeg\" height=\"25\" width=\"25\"/>"; 
      print "<br>"; 
     } 
     print "<br>"; 
     $count = $count +1; 
    } 
} 

ответ

2

Ваши Foreach петли не являются правильными, одноконтурный достаточно, оно должно быть:

while ($row = $result->fetch_row()) { 
    //recupero singoli attributi della tabella 'libro' e li stampo 

    print $count.". "; 
    print " ".$row[0]. " - ".$row[1]." - ".$row[2]." - "; 
    ... 
} 

Кроме того, гораздо лучше для удобства чтения и управляемость заключается в использовании fetch_array(), а затем имена столбцов в качестве индексов $row['titolo'].

0

проверить его

$mysqli = new mysqli("127.0.0.1","","","biblioteca"); 
if($mysqli->connect_errno) 
{ 
    echo "Connessione fallita (". $mysqli->connect_errno.")".$mysqli->connect_error; 
} 

//query per recupero di tutti il libri disponibili 
$result = $mysqli->query("SELECT titolo, autore, genere, disponibilita, codLibro FROM libro ORDER BY titolo ASC") or die ("Query fallita".$mysqli->error); 

//visualizzazione di tutti gli elementi dell'arrray 
$count = 1; 
print "<br>"; 

while($row = $result->fetch_assoc()){ 
    echo $row['username'] . '<br />'; 
    //recupero singoli attributi della tabella 'libro' e li stampo 
    print $count.". "; 
    print " ".$row["titolo"]. " - ".$row["autore"]." - ".$row["genere"]." - "; 

    if($row["disponibilita"]==1){ 
     print "<a href=\"prenota.php?cod=".$row["doLibro"]."&user=". $_GET['user']. "\"><img name=\"prenota\" title=\"Effettua la     prenotazione\" src=\"/img/ok.png\" width=\"25\" height=\"25\"/></a>"; 
     print "<br>"; 
    }else{ 
     print "<img src=\"/img/no.jpeg\" height=\"25\" width=\"25\"/>"; 
     print "<br>"; 
    } 
    print "<br>"; 
    $count++; 
} 
+0

Это не влияет на результат на всех. –