• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem ze zrobieniem przycisku sortowania

Object Storage Arubacloud
0 głosów
139 wizyt
pytanie zadane 29 kwietnia 2020 w PHP przez Hub ert Nowicjusz (170 p.)
edycja 29 kwietnia 2020 przez Hub ert
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    <select name="order">
       <option value=' data_wpisow ASC'> Data ROSN.</option>
       <option value=' data_wpisow DESC'> Data MALEJ.</option>
       <option value=' naglowek_wpisu ASC'> Wpisy ROSN.</option>
       <option value=' naglowek_wpisu DESC'> Wpisy MALEJ.</option>
    </select>
   <button type="submit">Sortuj</button>
</form>
$order = "SELECT * FROM wpisy ORDER BY";
if(isset($_REQUEST['order'])) {
    $order .= $_REQUEST['order'];
}
else {
    $order .= 'data_wpisow DESC';
}

$tw = mysqli_query($conn, $order);

        while ($row = mysqli_fetch_assoc($tw)) {
.....
}

Szukałem różnych przykładów, ale nie mogę znaleźć nic konkretnego.

Mam stronke w php ktora tworzy kolejne divy->okienka(wpisy), zrobiłem sortowanie wg daty_wpisu, nazwy_wpisu, treści wpisu, ale chce zrobić przełącznik (przycisk) zmieniający sortowanie. Próbuje to zrobić tak jak wyżej, ale nie działa. Zapytanie jest generowane poprawnie, strona działa, ale nie wyświetla nowego sortowania po naciśnięciu.

Problem jest w linii: while ($row = mysqli_fetch_assoc($tw)) która wyświetla notice:

mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/...

Sporo już próbowałem. Proszę o radę, ew. inną technologię, ktora zrobi taki działający select/przycisk sortowania.

 

PROBLEM ROZWIĄZANY dałem coś takiego pod zapytanie $tw: 

if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } 

bledu nie wyswietlilo

zmieniłem metode na POST

i z ciekawości dałem w tym miejscu dwie spacje zamiast jednej:

$order = "SELECT * FROM wpisy  ORDER BY"

Nie do końca rozumiem co to zmieniło, ale zaczeło działać.

komentarz 29 kwietnia 2020 przez Hub ert Nowicjusz (170 p.)

PROBLEM ROZWIĄZANY

1 odpowiedź

0 głosów
odpowiedź 29 kwietnia 2020 przez eunstachy Stary wyjadacz (14,180 p.)
edycja 29 kwietnia 2020 przez eunstachy
To co robisz to prosta droga do SQL Injection. Zobacz, że pobierasz bezpośrednio parametr z url i wstawiasz go do zapytania slq. NIGDY nie można robić czegoś takiego. Dane pobrane w ten sposób zawsze muszą przejść przez walidację. Oczywiście, może to jest tylko jakiś mały projekt który nigdy nie będzie opublikowany w internecie, ale nie możesz zaczynać nauki od wyrabiania sobie złych nawyków.

Tak więc polecam zacząć wszystko od początku zmieniając zupełnie podejście.

Podobne pytania

0 głosów
1 odpowiedź 459 wizyt
pytanie zadane 14 czerwca 2021 w C i C++ przez warzywko13 Użytkownik (840 p.)
0 głosów
1 odpowiedź 238 wizyt
0 głosów
2 odpowiedzi 238 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...