Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ Wyświetlanie rekordu Mysql

Napisany przez: Rafalsw 11.01.2021, 00:43:52

Dzień Dobry,
Kontynuuje swoją naukę z PHP i Mysql.. i napotkałem kolejny problem, którego rozwiązania nie mogę znaleźć.
Tworzę stronę użytkownika i chcę utworzyć pole ,w którym wyświetli się wartość zaczytana z bazy danych, dokładnie chodzi o "saldo"

Najpierw pokaże jak wygląda strona:

https://naforum.zapodaj.net/e257145db343.png.html

Strzałka nr 1 : Wartość wyświetlona z bazy danych, ale znajduje się w nieprawidłowym miejscu
Strzałka nr 2 : Pole ,w którym wartość z strzałki nr 1 powinna się znajdować.

Kod PHP:
//wyświetlenie salda
$q = "SELECT saldo FROM users where username ='Administrator' ";
$result = mysqli_query($link, $q) or die("Problemy z odczytem danych!");
while($row = mysqli_fetch_row($result))

{
echo $row[0];
// wartość $row[1] wypisze nazwę klasy,
// gdyby było $row[0] to wypisalibyśmy jej id
}

Kod HTML:
<br>Saldo:<input type="" name="row" value="<?php echo $row[0]?>"><br>
Tutaj wklejam treść błędu znajdującego się w powyższym kodzie html
<br /><b>Notice</b>: Trying to access array offset on value of type null in <b>D:\xampp\htdocs\Projekt\welcome.php</b> on line <b>79</b><br />
Linia 79:<br>Saldo:<input type="" name="row" value="<?php echo $row[0]?> readonly="readonly""><br>

Nie rozumiem treści komunikatu i nie wiem jak przenieść wartość wyświetlaną w górnym lewym rogu do pola ,które utworzyłem w input.
Mam jeszcze zagwostkę w jaki sposób napisać zapytanie SQL tak aby wyszukał w tabeli aktualnie zalogowanego użytkownika i wczytał jego saldo,bo aktualnie jest napisane,że wyszuka wartość użytkownika "Administrator" w jaki sposób mogę to rozwiązać? Próbowałem kombinować w ten sposób: "SELECT saldo FROM users where username ='$username'";
Ale nie działa ;/
Proszę o "łopatologiczne" wytłumaczenie gdzie jest problem.
Pozdrawiam cieplutko.

Napisany przez: dublinka 11.01.2021, 01:00:13

Pobrales kolumne saldo a gdzie username

Napisany przez: Rafalsw 11.01.2021, 01:38:44

Nie bardzo wiem o co pytasz?

Zapytanie , które użyłem to:
SELECT saldo FROM users where username ='Administrator' ";
Czyli zaznaczam kolumne saldo gdzie username jest Administrator
I wtedy wyświetla mi rekord .
Ale gdy zaloguje się na użytkownika test to także wyświetla mi saldo użytkownika Administrator, chcę zmienić w zapytaniu 'Administrator' na zmienną, która będzie pobierać automatycznie nazwę użytkownika, który jest zalogowany w danym momencie.

Napisany przez: dublinka 11.01.2021, 02:15:40

Pobierasz kolumne saldo a nie zaznaczasz. Masz rowniez pobrac kolumne username.

  1. SELECT saldo, username FROM tabela WHERE username="Administrator"

Lub

  1. SELECT * FROM tabela WHERE username="Administrator"


Uzywaj sesji. Podczas logowania przypisz jakiejs sesji nazwe usera a potem te sesje uzyj w zapytaniu.

  1. $login = $_SESSION["login"];
  2. SELECT saldo, username FROM tabela WHERE username=$login

Napisany przez: Rafalsw 11.01.2021, 12:29:27

Mhm chyba rozumiem. Wrócę z pracy to się pobawię.
Narazie dziękuję za pomoc.
Pewnie się jeszcze w tym temacie odezwę 🤣

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)