Zjíštění jména pomocí přezdívky. – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zjíštění jména pomocí přezdívky. – PHP – Fórum – Programujte.comZjíštění jména pomocí přezdívky. – PHP – Fórum – Programujte.com

 

parigamercz0
Newbie
27. 1. 2016   #1
-
0
-

Čau lidi. Potřeboval bych poradit ,jelikož potřebuju zjístit podle přezdívky jméno z databáze kvůli psanému příspěvku který se uloží pod přezdívkou a potřebuji , abych podle té přezdívky zjístil v jiné tabulce kdo to napsal takže , aby se nepsal jako autor "přezdívka" ale "jméno".

  $about_fn_query = mysql_query("SELECT added_by_firstname FROM posts WHERE added_by='$user'");
  $get_fn_result = mysql_fetch_assoc($about_fn_query);
  $about_the_fn_user = $get_fn_result['added_by_firstname'];

  echo $about_the_fn_user;
?>
Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #2
-
0
-

#1 parigamercz
K čemu je dobrá funkce mysql_query() ? V PHP7 nefunguje.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #3
-
0
-

#2 Kit
Mě mysql_query funguje :) Ale potřebuju vybrat z tabulky posts kdo odeslal příspěvek , takže ten kdo odeslal příspěvek je označen $added_by což je přezdívka a potřebuju aby pomocí druhé tabulky zjístila podle té přezdívky z added_by Jméno :)

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #4
-
0
-

#3 parigamercz
Jaké druhé tabulky?

BTW: Neboj, po upgrade PHP ti to také přestane fungovat.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #5
-
0
-

   

První obrázek je kdo psal co a to added_by je přezdívka. Název tabulky posts

Připojen obrázek.


A tady je druhá tabulka zvana users a podle té přezdívky chcu najít jméno a vypsat ho :)

Připojen obrázek.

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #6
-
0
-

#5 parigamercz
Co je to za obrázky? Nic na nich nevidím.

Takže users. Musíš ty tabulky spojit příkazem JOIN. Udivuje mě, že místo `user_id` máš ten sloupec v tabulce `posts` pojmenován `added_by`. Je dobré dodržovat konvence. No nic, zkusím to napsat tak jak to je: 

SELECT users.jmeno FROM posts JOIN users ON added_by=users.id;
Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #7
-
0
-

#6 Kit

Mám takový problém :D Nefunguje JOIN :(

Viz : Obrázek

EDIT : Používám PHP5

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #8
-
0
-

#7 parigamercz
Jestli používáš MySQL nebo MariaDB, tak JOIN musí fungovat.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #9
-
0
-

Nefunguje... Nevypisuje to nic :/ Chceš celý kód do PM a koukneš na to? :)

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #10
-
0
-

#9 parigamercz
No, nevím. Co ve tvém SQL dotazu pohledává konstrukce '$user' ? Proč nepoužíváš :user nebo prostě otazník na vložení parametru? Vždyť ten tvůj způsob je děsně nebezpečný.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #11
-
0
-

Protože $user je $user = $_SESSION["user_login"]; Takže je to ten co je přihlášený.

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #12
-
0
-

#11 parigamercz
A to se do SQL dotazu obvykle vkládá přes :user nebo ? (otazník).

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #13
-
0
-

Ano , když někdo napíše příspěvek tak se z $user získá přezdívka , jelikož $user je ten kdo je přihlášený takže přezdívka a to se zapisuje do added_by :)

Nahlásit jako SPAM
IP: 193.165.236.–
parigamercz0
Newbie
27. 1. 2016   #14
-
0
-

#12 Kit
Ani jedno.

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #15
-
0
-

#13 parigamercz
A proč máš v $user přezdívku a ne id uživatele? V tom případě bude můj SQL dotaz vypadat jinak: 

SELECT users.jmeno FROM posts JOIN users ON added_by=users.user;
Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #16
-
0
-

#15 Kit
Takže mám nastavit ,že když někdo napíše příspěvek neuloží se pod přezdívkou kdo ho napsal ale pod id toho uživatele takhle tomu mám rozumět?

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #17
-
0
-

#16 parigamercz
To je standardní postup. Pokud si někdo tu přezdívku změní, jeho ID zůstane a nová přezdívka se promítne do všech jeho příspěvků.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #18
-
0
-

Promiň za blbou otázku ale kam to mám dát ?

SELECT users.jmeno FROM posts JOIN users ON added_by=users.user;
Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #19
-
0
-

#18 parigamercz
To je SQL dotaz. Dej ho do PHP stejně jako jiné SQL dotazy.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #20
-
0
-

Nemůžeš mi to upravit tady?

  $about_fn_query = mysql_query("SELECT added_by_firstname FROM posts WHERE added_by='$user'");
  $get_fn_result = mysql_fetch_assoc($about_fn_query);
  $about_the_fn_user = $get_fn_result['added_by_firstname'];

  echo $about_the_fn_user;
?>
Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #21
-
0
-

#20 parigamercz
Prostě to tam vlepíš místo substringu "SELECT added_by_firstname FROM posts".

Zbytku kódu se štítím a nebudu ho opisovat, aby mě někdo neobvinil, že propaguji zastaralý ovladač MySQL a že podporuji SQL injection.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #22
-
0
-

Aha a jak můžu ošetřit SQL Injecetion? Mám to převést do nového SQL a jak?

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #23
-
0
-

#22 parigamercz
Nejlépe tak, že použiješ nový ovladač, který při správném použití těmito bolestmi netrpí. Novější je MySQLi (procedurální nebo objektový) a nejnovější PDO, který doporučuji (je pouze objektový).

Je to investice do budoucna, protože PHP5 už dlouho nevydrží - PHP7 ho převálcuje především výkonem. Je rychlejší.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #24
-
0
-

Aha ale můžu tam použít stejný kód nebo ho budu muset změnit? Jak PHP tak PDO či MySQLi

Nahlásit jako SPAM
IP: 193.165.236.–
Kit+15
Guru
27. 1. 2016   #25
-
0
-

#24 parigamercz
Jenom změníš volání SQL dotazů a jejich zpracování. Na zbytek aplikace to nemusí mít vliv, resp. dá se zjednodušit, protože nové ovladače toho umí víc a jsou i rychlejší.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
parigamercz0
Newbie
27. 1. 2016   #26
-
0
-

Ok díky za radu :) Jdu to zkusit , kdyžtak se ozvu.

Nahlásit jako SPAM
IP: 193.165.236.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý