php mysql unikatno izdvajanje

1

php mysql unikatno izdvajanje

offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

Zelim kad mi izbaci (taj deo sam uradio)podatke recimo o nekim osobama da klikom izdvojim posebno neku osobu ili bilo kakav podatak.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Napravis page za jednog usera, a tom page-u prosledjujes ID osobe iz baze.
Kontas?



offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

e pa to je i problem znam kako da napravim preko padajucih menija pretragu i da mi izdvoji pretrzene informacije e sad kako da mu posaljem na tu stranicu da neko zeli da vidi podatke o tom pojedincu!

offline
  • Pridružio: 20 Dec 2004
  • Poruke: 2887
  • Gde živiš: Na Balkanu

Unutar baze za svakog korisnika treba da imaš unikatni ključ po kojem ćeš da vršiš pretragu. Najjednostavnije i najbolje je da imaš id kolonu (auto_increment)

Treba da kreiraš stranicu koja će da prikazuje zaseban profil u zavisnosti od tog ključa.

Posle kreiraš link prema toj stranici na sledeći način

fajl.php?id=1
fajl.php?id=2

U zavisnosti koju vrednost ima ID ti ćeš da vadiš podatke iz baze.
Koristi metod GET da preuzmeš podatke.

offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

znaci za svaki profil posebna stranica?

offline
  • Pridružio: 20 Dec 2004
  • Poruke: 2887
  • Gde živiš: Na Balkanu

Ne.
Praviš jednu stranicu, a ona prikazuje rezultate u zavisnosi od vrednosti ID koja joj je prosleđena preko linka.

Pojednostavljeno bi izgledalo ovako

select * from database where id = $_GET['id'];

offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

ah da hvala!

Dopuna: 21 Mar 2009 12:26

select * from database where id = $_GET['id'];
problem je sa ovom skriptom ne prikaze mi stranu
$query = "select * from database where orgid = $_GET['orgid']";
ovako sam ga postavio

Dopuna: 21 Mar 2009 12:37

$query = "select * from info where orgid = '{$_GET['orgid']}'";
resio ovako ide!

offline
  • Pridružio: 20 Dec 2004
  • Poruke: 2887
  • Gde živiš: Na Balkanu

Verovatno da sam pogrešio kad sam ti dao onaj gore kod bez objašnjenja.
Rekao sam da je to pojednostavljen primer, a to nije i najbezbednije rešenje, jer se podaci direktno koriste unutar upita bez da su prethodno obrađeni.

Googlaj malo za mysql injection.

Mislim da je bolje da podatke preuzimaš pre upita i da ih provučeš kroz neku od funkcija.

$orgid = addslashes ($_GET['orgid']); select * from database where id = $orgid;

Addslashes možeš koristiti kad radiš sa stringovima, a ako je orgid broj najbolje je da koristiš intval();

$orgid = intval ($_GET['orgid']); select * from database where id = $orgid;

Pogledaj i mysql_real_escape_string

offline
  • Pridružio: 18 Dec 2007
  • Poruke: 95

ok hvala puno to je to!

Dopuna: 21 Mar 2009 16:11

i jos nesto hocu da postavim da mi iscita recimo 5 profila po stranici uradio sam sa koandom while da mi prikaze prvih 5 a kako da nastavi da klikom iscita dalje na sledecoj strani?

offline
  • Pridružio: 20 Dec 2004
  • Poruke: 2887
  • Gde živiš: Na Balkanu

Nemoj koristiti while

Koristi limit u samom upitu

select * from database where id = $orgid LIMIT $start, 5;

Ovo će iz baze uzeti 5 rezultat, a prvi će biti definisan promenljivom $start.

Formiraj linkove na sledeći način
fajl.php?start=1
fajl.php?start=6

Opet koristi intval() funkciju.

Ko je trenutno na forumu
 

Ukupno su 740 korisnika na forumu :: 8 registrovanih, 2 sakrivenih i 730 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: DejanSt, Dorcolac, goxin, MikeHammer, mnn2, sasa76, Shilok, voja64