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

Wyświetlanie wartości z bazy danych zależnie od $_GET['id']

0 głosów
858 wizyt
pytanie zadane 18 listopada 2017 w PHP przez Jake Obywatel (1,820 p.)

Witam, na starcie może wytłumaczę jaki bym chciał osiągnąć efekt - otóż mam już taki system, że jeśli nie ma żadnego parametru $_GET['id'] wyświetlam stronę główną gdzie mam wszystkie wpisy, natomiast chciałbym zrobić aby jeśli jest $_GET['id'] sprawdzało czy istnieje w bazie rekord z takowym id i jeśli tak to go wyświetlało a jeśli nie wyświetlało stronę z błędem, że nie znaleziono wpisu.

Dotychczas robiłem to poprzez sprawdzanie ilości linijek 

if($_GET['id']<=$num_rows){
      (.....)
} else {
      echo 'Nie znaleziono wpisów!';
}

lecz ostatnio dodałem opcję usuwania postów i to troszkę skomplikowało sprawę.

Z góry dziękuję za pomoc!

2 odpowiedzi

0 głosów
odpowiedź 20 listopada 2017 przez Jake Obywatel (1,820 p.)
 
Najlepsza

Dobra, poradziłem sobie, zrobiłem zwyczajnie 

$result = $pdo->query("SELECT `id` FROM jake_posts WHERE id = ".$_GET['id']);
if($line = $result->fetch()){
      //cos wyswietla
}

ps spokojnie pierw sprawdziłem czy $_GET['id'] istnieje oraz jest liczbą.

1
komentarz 20 listopada 2017 przez CzikaCarry Szeryf (75,340 p.)
Jak korzystasz z PDO to korzystaj też z bindowanie parametrów
+1 głos
odpowiedź 18 listopada 2017 przez sc4rface Dyskutant (7,710 p.)

Wykorzystaj funkcję count w SQL, zwróć sobie ilość rekordów o danym ID. Na przykład:

function getValue($id) {

$sql = "SELECT count(*) FROM `tabela` WHERE `id` = $id; // zalecam bindParam w PDO 

// zwróć sobie tutaj tablicę z wynikiem

}

 I później już prosta droga - na podstawie zwróconej wartości, tworzysz warunek i wyświetlasz to, czego oczekujesz ;)

if(getValue($_GET['id'] > 0) {

// zrób, jeżeli $_GET istnieje

}  else {

// zrób, jeżeli nie istnieje

}

Taki przykład - jeżeli dobrze zrozumiałem to, co chcesz osiągnąć.

komentarz 19 listopada 2017 przez Jake Obywatel (1,820 p.)
Nie o to chodziło - jeśli mam np 4 rekordy - id 1, 2, 3, 4 i np usunę rekord o id 1 to chciałbym aby nie dało się wejść na adres/?id=1 bo pokazuje pustą stronę

Podobne pytania

0 głosów
2 odpowiedzi 771 wizyt
pytanie zadane 4 listopada 2017 w PHP przez SzukającyPrzygód Bywalec (2,310 p.)
0 głosów
1 odpowiedź 2,279 wizyt
pytanie zadane 30 października 2017 w PHP przez cyberDEV Użytkownik (780 p.)
0 głosów
2 odpowiedzi 6,888 wizyt
pytanie zadane 21 maja 2016 w PHP przez Chisorq Obywatel (1,680 p.)

93,600 zapytań

142,525 odpowiedzi

322,993 komentarzy

63,085 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

Kursy INF.02 i INF.03
...