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

Wyświetlanie pojedynczego rekordu z bazy danych

VPS Starter Arubacloud
+1 głos
139 wizyt
pytanie zadane 13 listopada 2021 w PHP przez IBIALYI Początkujący (250 p.)

Cześć,

Próbuję wykonać podstronę która wyświetla dokładne dane z bazy danych tzn. po kliknięciu np. w zgłoszenie wyświetla mi się id, tytuł i treść.

Przy kliknięciu przycisku przekierowuję mnie na stronę ale nie wyświetla żadnej treści z bazy oraz nie zaciąga id.

Nie mam pojęcia co ewentualnie można tutaj poprawić :/

 

URL:

<a href="<?php echo SITEURL; ?>view.php?task_id=<?php $task_id; ?>">Podgląd</a>

Strona która ma wyświetlać informację:

<?php

include('config\constants.php');

if (isset($_GET['task_id'])) {

  $task_id = $_GET['task_id'];



  $conn = new mysqli(LOCALHOST, DB_USERNAME, DB_PASSWORD, DB_NAME);

  // Check connection

  if ($conn->connect_error) {

    die("Connection failed: " . $conn->connect_error);

  }

  $sql = "SELECT * FROM tbl_task WHERE task_id = $task_id";



  $res = mysqli_query($conn, $sql);

  if ($res == true) {

    $row = mysqli_fetch_assoc($res);

    $task_name = $row['task_name'];

    $task_description = $row['task_description'];

    $list_id = $row['list_id'];

    $priority = $row['priority'];

    $deadline = $row['deadline'];

  }

} else {

  header('location:index.php');

}

?>

 

3 odpowiedzi

+1 głos
odpowiedź 14 listopada 2021 przez VBService Ekspert (251,270 p.)
wybrane 14 listopada 2021 przez IBIALYI
 
Najlepsza

W Twoim kodzie zapomniałeś echo

<a href="<?php echo SITEURL; ?>view.php?task_id=<?php echo $task_id; ?>">Podgląd</a>

 

 

P.S.

$res = mysqli_query($conn, $sql);
 
if ($res == true) { ...


na

 
if ($res = mysqli_query($conn, $sql)) {  ...

 

0 głosów
odpowiedź 13 listopada 2021 przez reaktywny Nałogowiec (40,650 p.)
edycja 13 listopada 2021 przez reaktywny

Możesz dodać na końcu LIMIT 1. I spróbuj taki zapis:

$sql = "SELECT * FROM tbl_task WHERE task_id = :task_id";

 

komentarz 13 listopada 2021 przez IBIALYI Początkujący (250 p.)
Niestety nadal to samo :/
komentarz 13 listopada 2021 przez reaktywny Nałogowiec (40,650 p.)

Ja PHP nie znam, a sprawdzałeś czy w bazie są dane tam gdzie ich oczekujesz? Może głupie pytanie, ale sprawdź w PHPMyAdmin czy wszystko jest OK (nie twierdzę, że nie).

Tu ( https://pasja-informatyki.pl/programowanie-webowe/php-mysqli-wariant-proceduralny/ ) znalazłem taki zapis:

$sql = "SELECT * FROM tbl_task WHERE task_id = '$task_id' ";

 

komentarz 13 listopada 2021 przez IBIALYI Początkujący (250 p.)
W phpmyadmin wsyzstko ok, z innego wiersza normalnie dodaje recordy do bazy
1
komentarz 13 listopada 2021 przez Wiciorny Ekspert (269,120 p.)

@reaktywny, ten zapis przecież wyciąga ci wszystkie kolumny rekordy o podanym warunku a rekordów o takim warunku moze byc wiele o ile task_id nie jest unikalne  

–1 głos
odpowiedź 13 listopada 2021 przez Chess Szeryf (76,710 p.)
select * from tbl where id=$_GET["param"];

Wyciągnie pojedynczy wiersz, rekord z bazy.

<a href="?id=0">0</a>

<a href="?id=1">1</a>

Zero => x, y, z

One => a, b, c

Po naciśnięciu na tożsamość 0 pojawi się x, y i z. W drugim przypadku a, b, c.
komentarz 13 listopada 2021 przez IBIALYI Początkujący (250 p.)
Nie wiem czy dobrze rozumiem twój przykład ale tutaj chyba zostanie wyciągnięty dokładny id z bazy. Bardziej chodziło mi o to np. mamy stronę główną ze zgłoszeniami, chcę przejść do zgłoszenia aby dodać np. komentarz zmienić status .etc  i  teraz stronka ma wiedzieć w jakie dokładnie zgłoszenie weszliśmy i sama ma zaciągać dane z bazy
komentarz 13 listopada 2021 przez Chess Szeryf (76,710 p.)
No to dokładnie to przedstawiłem. Pętlą generujesz 5 linków, które mają id do 5 zgłoszeń.

Klikając w pierwszy link o id 23, na stronie zostaną pokazane te dane.
komentarz 13 listopada 2021 przez IBIALYI Początkujący (250 p.)
Dzięki poszło z małymi korektami :)

Podobne pytania

+1 głos
2 odpowiedzi 142 wizyt
0 głosów
2 odpowiedzi 1,422 wizyt
pytanie zadane 31 sierpnia 2015 w PHP przez tytanik2011 Użytkownik (930 p.)
0 głosów
2 odpowiedzi 920 wizyt
pytanie zadane 3 kwietnia 2018 w PHP przez LinosiK Obywatel (1,920 p.)

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...