Witam.
Ćwiczę sobie pobieranie danych za pomocą jQuery, ćwiczę robiąc klasyczną "Bibliotekę". Wszystko szło jak pomaśle, kiedy napotkałem na pewien dziwny błąd. Mianowicie mam problem związany z pobieraniem danych z bazy danych. Pobieram listę książek, i tam gdzie pojawi mi się jaki kolwiek String który zawiera polski znak, pobierany jest z bazy jako NULL mimo że w niej (podgląd za pomocą phpMyAdmin) wszystko jest normalnie, dla bazy ustawiłem porównywanie napisów na utf8_polish_ci.
Po drugie, wynik zapytania na stronie jest zupełnie inny niż na bazie danych.
Powtarzają się dane, drugie się nie wyświetlają, następne mają null, lub mają skrócone nazwy.
Nie rozumiem czemu tak się dzieje, proszę o pomoc.
Screen z bazy:
Adres do aplikacji: www.storin.rdl.pl/jquery
Oto kod PHP z zapytaniami:
<?php
include_once "connection.php";
global $akcja;
$akcja = $_POST['akcja'];
$akcjaGET = $_GET['akcja'];
// DODAWANIE
if($akcja == 'dodajKsiazke'){
$nazwa = $_POST['nazwa'];
$isbn = $_POST['isbn'];
$autor = $_POST['autor'];
$polka = $_POST['polka'];
$query = mysql_query("INSERT INTO `ksiazki`(`nazwa`, `isbn`, `autor_id`, `polka`) VALUES ('$nazwa', '$isbn', $autor, $polka)");
// Zwracanie ID ostatnio utworzonego INSERT'A
$lastId = array();
$lastId['lastId'] = mysql_insert_id();
//echo $lastId;
echo json_encode($lastId);
// LISTA KSIĄŻEK
} else if($akcja == 'pokazKsiazki' || $akcjaGET == 'pokazKsiazki'){
$query = mysql_query("SELECT ksiazki.id, ksiazki.nazwa, ksiazki.isbn, autor.imie, autor.nazwisko, ksiazki.polka FROM ksiazki, autor WHERE ksiazki.autor_id = autor.id ");
if(mysql_num_rows($query) > 0){
while($row = mysql_fetch_object($query)){
$ksiazki[] = $row;
}
}
echo json_encode($ksiazki);
//echo "1";
} else if($akcja == 'edytujKsiazke'){
//echo "1";
$set = "";
$idEdit = $_POST['idEdit'];
if(isset($_POST['nazwaEdit'])){
$nazwa = $_POST['nazwaEdit'];
$set .= "nazwa='".$nazwa."', ";
}
if(isset($_POST['isbnEdit'])){
$isbn = $_POST['isbnEdit'];
$set .= "isbn='".$isbn."', ";
}
if(isset($_POST['autorEditId'])){
$autor = $_POST['autorEditId'];
$set .= "autor_id=".$autor.", ";
}
if(isset($_POST['polkaEdit'])){
$polka = $_POST['polkaEdit'];
$set .= " polka=".$polka;
}
//echo $idEdit;
//echo $set;
//echo $idEdit;
mysql_query("UPDATE ksiazki SET $set WHERE id = $idEdit");
echo "1";
} else if($akcja == "usunKsiazke"){
$idUsun = $_POST['idUsun'];
mysql_query("DELETE FROM ksiazki WHERE id = $idUsun");
echo "1";
} else if($akcja == 'pokazAutor'){
$query = mysql_query("SELECT * FROM autor");
if(mysql_num_rows($query) > 0){
while($row = mysql_fetch_object($query)){
$autor[] = $row;
}
}
echo json_encode($autor);
}
?>
- baza.jpg (142 KB) - ściągnięć: 152