ugrás a tartalomhoz

Mysql adat lekérdezés és kiírása

chris12 · 2016. Már. 2. (Sze), 16.36
Szia :)

van egy kis alap oldalam van egy belépés regisztrációs rendszer benne

és az index.php ki akarom írni a belépet felhasználó nevét

Lekérdezni mysqlből és ki echoval ki írni de 2 napja szenvedek vele :D

Kezdő vagyok és igen rajta vagyok az ügyön olvasgatok folyamatosan de nincs szépen le írva példával

Van egy felhasznalok táblám és egy fel_név oszlopom

//csatlakozol az adatbázishoz
mysql_connect($db_host, $db_username, $db_password,$db_name)or die('Error: Nem sikerült csatlakozni az adatbázishoz.');
//lekérdezel
$sql = "SELECT * FROM `felhasznalok` WHERE `fel_nev` = '".$res."'";
//futtatod
$res = mysql_query($sql);
//feldolgozod
while ($row = mysql_fetch_array($res))
echo $row['user']."";

de sehogy se tudom ki írni már ki próbáltam 100 lekérdezést
valaki le tudná nekem írni pontosan példával csak ennyire lenne szükségem de már 2 napja ülök rajta ..

Másik pedig én úgy vettem le hogy le kéri az oszlopot de hogy állítom be hogy éppen azt írjam ki aki be van lépve és nézi a híreket
 
1

előre is köszönöm szépen

chris12 · 2016. Már. 2. (Sze), 16.37
Előre is köszönöm szépen a válaszokat :)
főleg annak aki vágja és tud rajtam segíteni ;)
2

Hát először is ebben a

erik0415 · 2016. Már. 2. (Sze), 17.14
Hát először is ebben a sorban: "$sql = "SELECT * FROM `felhasznalok` WHERE `fel_nev` = '".$res."'";" a $res változónak van értéke? Mert itt a fel_nev értékének kell lenni-e.
Ha már ott használod a $res változót akkor szerintem ne használd a mysql query-nél is mert össze vissza bele fogsz kavarodni.

Egyébként szerintem ez a bajod:
while ($row = mysql_fetch_array($res))
echo $row['user']."";

Azt írtad, hogy egy fel_nev oszlopban vannak a felhasználónevek ezért nem "user"-t kéne hanem "fel_nev"-et kéne írni a $row változóhoz.
3

hiba ..

chris12 · 2016. Már. 2. (Sze), 19.12
Köszi természetesen fel_nev-t használtam csak gyorsan be másoltam amiről írtam ...
//csatlakozol az adatbázishoz
mysql_connect($db_host, $db_username, $db_password,$db_name)
    or die('Error: Nem sikerült csatlakozni az adatbázishoz.');

//lekérdezel
$sql = mysql_query("SELECT * FROM `felhasznalok` WHERE `fel_nev` = '".$res."'")

//feldolgozod
while ($sql = mysql_fetch_array($res)) {
    echo $ros['fel_nev']."";
}
Parse error: syntax error, unexpected 'while' -írja hibának pedig úgy van ahogy lennie kell while (...) { ... }

áhh soha nem fogok rá jönni köszönöm a válaszod de egy ilyen alap dologgal nem birkózok meg
4

$sql = mysql_query("SELECT *

erik0415 · 2016. Már. 2. (Sze), 19.37
$sql = mysql_query("SELECT * FROM `felhasznalok` WHERE `fel_nev` = '".$res."'") után a ;-t nem raktad ki.
5

Szerintem valami más lehet a

chris12 · 2016. Már. 2. (Sze), 20.37
Szerintem valami más lehet a hiba ha teszek is akkor bele köt a következő sorba

ez pl nekem a tábla rész hát nem tudom mind1 az egész már felhúzott 2 napja vagyok rajta pedig ez egy egyszerű le kérdezés
6

de köszönöm szépen a

chris12 · 2016. Már. 2. (Sze), 20.38
de köszönöm szépen a válaszaidat hogy segíteni próbáltál :) :)
8

Sajnos így hogy nem adsz

erik0415 · 2016. Már. 2. (Sze), 20.58
Sajnos így hogy nem adsz pontos infókat hiba üzenet stb, így csak találgatni tudok.
7

Mi a hibajelenség? Kapsz

Joó Ádám · 2016. Már. 2. (Sze), 20.54
Mi a hibajelenség? Kapsz hibaüzenetet?
9

ezt a hiba üzenetet kapom

chris12 · 2016. Már. 2. (Sze), 21.42
ezt a hiba üzenetet kapom
Parse error: syntax error, unexpected 'tabla_fejlec' (T_STRING) in C:\xampp\htdocs\asd\index.php on line 18


erre

//csatlakozol az adatbázishoz
mysql_connect($db_host, $db_username, $db_password,$db_name)or die('Error: Nem sikerült csatlakozni az adatbázishoz.');
//lekérdezel
$sql = mysql_query("SELECT * FROM `felhasznalok` WHERE `fel_nev` = '".$res."'");
//feldolgozod
while ($sql = mysql_fetch_array($res)



tabla_fejlec("Hírek");

echo $ros['fel_nev']."";


tabla_zaras();
10

Ez a hibaüzenet azt jelenti,

Joó Ádám · 2016. Már. 2. (Sze), 21.46
Ez a hibaüzenet azt jelenti, hogy a nyelv szabályai szerint a feldolgozó mást várt azon helyen, mint a megjelölt elem. Nézd meg jobban azt a ciklust.
11

ha az echora gondolsz elírtam

chris12 · 2016. Már. 2. (Sze), 22.09
ha az echora gondolsz elírtam
nekem echo $res['fel_nev'].""; res van írva de nem sehogy se és keresem de utána se tudok olvasni mert nem találom semmi mind1 hagyuk is..

ugyan az a hiba
12

Nem arra gondoltam. A while

Joó Ádám · 2016. Már. 2. (Sze), 22.35
Nem arra gondoltam.

A while ciklus a PHP dokumentáció szerint:

The basic form of a while statement is:
while (expr)
    statement
(…)

Like with the if statement, you can group multiple statements within the same while loop by surrounding a group of statements with curly braces (…)


A te ciklusod így néz ki:
while ($sql = mysql_fetch_array($res)
    tabla_fejlec("Hírek");
Látod már a hibát?
13

Azért nem sikerül

erik0415 · 2016. Már. 3. (Cs), 14.59
Azért nem sikerül megcsinálnod mert amikor kijavítasz 1 hibát, akkor csinálsz egy másikat.
14

Nézd meg ezt

smokey · 2016. Már. 3. (Cs), 21.54
A fenti kód példából idézek:


$sql = mysql_query("SELECT * FROM `felhasznalok` WHERE `fel_nev` = '".$res."'");
//feldolgozod
while ($sql = mysql_fetch_array($res)


Egy pici gubancot látok a változókkal kapcsolatban.
1. Ha a $res a result só rövidítése, akkor a a query paraméterét én kapásból máskép nevezném el, pl. $fel_nev -nek, egyértelműbbnek tűnik
2. A query resultodat fetcheled, ezért én a helyedben nem $sql nevű változót használnék, hanem itt használnám a $res elnevezést.
3. A te esetedben a mysql_fetch_array($res) függvényhívás nem kap megfelelő paramétert, mert ha a fenti kódbó indulok ki, akkor a $res értéke string, nem pedig erőforrás; ha a 2. pont alapján használod a $res változót, akkor a mysql_fetch_array($res) is jól fog működni
4. A fenti kód első sorában az $sql változó egy resource értéket kap, viszont a mysql_fetch_array($res) egy - optimális esetben - adatokkal feltöltött tömböt ad vissza, ezért én nem az $sql nevet, hanem inkább a $row nevet használnám

A pontok alapján tehát a "refaktorált" forráskód

$res = mysql_query("SELECT * FROM `felhasznalok` WHERE `fel_nev` = '".$fel_nev."'");
//feldolgozod
while ($row = mysql_fetch_array($res)
A $row változó mostmár elvileg tartalmazza a neked szükséges értéket, vagyis a fel_nev -et, amit $row['fel_nev'] módon elérhetsz.

Remélem tudtam segíteni.
15

mind1 nem vágom azért köszi

chris12 · 2016. Már. 5. (Szo), 01.15
mind1 nem vágom
azért köszi szépen a tiédre is
mindig a Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

mysql_fetch_array hibát kapom
16

Be tudnád másolni az aktuális

smokey · 2016. Már. 5. (Szo), 08.49
Be tudnád másolni az aktuális kódodat?
18

Nem akarok beléd kötni, de

erik0415 · 2016. Már. 5. (Szo), 13.04
Nem akarok beléd kötni, de amit adtál neki kód az hibás. Nézd meg kicsit jobban a while ciklusnak a végét. Hiányzik onnan egy ) jel.
19

Pont az a zárójel hiányzik,

smokey · 2016. Már. 5. (Szo), 13.22
Pont az a zárójel hiányzik, ami a 9. commentben is lemaradt, a fő probléma szemszőgéből a zárójel hibája szerintem most irreleváns ;) BTW a kódot nem teszteltem, így lehet, hogy hibás, és a régi (3-4 évvel ezelőtti) emlékek alapján írtam amit írtam.