Jak zrobić prostą wyszukiwarkę książek w PHP ?

Jak zrobić prostą wyszukiwarkę książek w PHP ?
AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 403
0

Jak zrobić prostą wyszukiwarkę książek w PHP ? Wyświetlającą książki po podaniu tytułu i autorze ?

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 288
6

Tworzysz bazę danych, tabele, wypełniasz je danymi i przygotowujesz zapytania. W PHP się łączysz z bazą, wykonujesz te zapytania i wyświetlasz rezultat użytkownikowi na ekranie

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6965
0

Oczywiście jak w każdym temacie o PHP, wypadałoby wspomnieć, że lepiej z PHP już nie korzystać i od razu robić w C# albo Javie.

N3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

@pavarotti: nie lepiej skorzystać z gotowego API które ma tysiące pozycji w swoich zasobach?

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 403
0

@N3: Czy to jest poprawny zapis ?

if(isset($_GET['tytul']) && $_GET['autor'] != "") {

$wynik = mysqli_query($link,"SELECT * FROM Zamowienia where tytul = $row['%tytul%'] ");

N3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

Nie.

Kopiuj
$wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');
Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6965
2
N3 napisał(a):
Kopiuj
$wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');

Czy w PHP nie trzeba już zabezpieczać danych przekazywanych przez $_GET przed SQL Injection?

Radosław Głębicki
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Sardine, Italy
  • Postów: 187
0

A może autor nie potrzebuje SQL-a. Może zwykły plik CSV mu wystarczy?

AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 403
0

Polecenie: $wynik = mysqli_query($link, "SELECT * FROM Zamowienia where tytul LIKE '%" . $_GET['tytul'] . "%');

powoduje błąd Dziękuję za pomoc.

Freja Draco
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3394
2

Bo to jest polecenie odczytu z bazy, jak już jesteś połączony z bazą.

Zobacz ten post i wątek:
Jak pobrać dane z bazy za pomocą pola select?

TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: 700m n.p.m.
  • Postów: 681
1

@adamon - na forum nie nauczysz się programować, co najwyżej ktoś Cię może gdzieś nakierować.

Po drugie Twój kod jest nieprawidłowy, ponieważ jest podatny na atak typu SQL INJECTION.

Zamiast mysqli_query używaj biblioteki PDO i Prepared Statements.

PS.dlaczego wszyscy początkujący z uporem maniaka wciskają do kodu stare funkcje MySQL-a zamiast PDO, i dlaczego baza danych to zawsze MySQL a nie np. PostgreSQL czy cokolwiek innego. To jest jakiś rak.

Freja Draco
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3394
1

@TomRZ

PS.dlaczego wszyscy początkujący z uporem maniaka wciskają do kodu stare funkcje MySQL-a zamiast PDO

Oj to ty tutoriala sprzed ćwierć wieku nie widziałeś :p

Kopiuj
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con) die('Could not connect: ' . mysql_error());

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

mysql_close($con);

i dlaczego baza danych to zawsze MySQL a nie np. PostgreSQL czy cokolwiek innego.

Że w temacie w sumie zielona jestem, to zapytam: co dolega MySQL?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.