Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Spajanje I Pretraga Nizova

[es] :: PHP :: Spajanje I Pretraga Nizova

[ Pregleda: 1836 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nera1981

Član broj: 283582
Poruke: 8
*.dynamic.telemach.ba.



Profil

icon Spajanje I Pretraga Nizova21.09.2011. u 21:47 - pre 153 meseci
Postoje dva dinamička dvodimenzionalna niza. Jedan sadrži podatke o proizvodima(ID,ime,opis), a drugi o prodavnicama(ID,ime, adresa). Korisnik unosi naziv proizvoda u promenljivu na početku programa, a program emituje listu svih proizvoda sličnog naziva, kao i informacije o prodavnicama u kojima se isti može naći.
Da li je nužno prvo napraviti još jedan niz, koji bi sadržavao parove ID proizvoda i ID prodavnice, kako bi se znalo koji proizvod se može naći u kojoj prodavnici?
Hvala unaprijed
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.static.stelkom.net.



+18 Profil

icon Re: Spajanje I Pretraga Nizova22.09.2011. u 06:45 - pre 153 meseci
Ne znam jesam li shvatio pitanje ali evo pokusaj odgovora :)

Mozes ili napraviti jos jedan niz sa parovima ID proizvoda i ID prodavnice, ili mozes u niz proizvoda dodati jos jedan podatak "id_prodavnice"
 
Odgovor na temu

nera1981

Član broj: 283582
Poruke: 8
*.dynamic.telemach.ba.



Profil

icon Re: Spajanje I Pretraga Nizova22.09.2011. u 11:48 - pre 153 meseci
Citat:
vatri: Ne znam jesam li shvatio pitanje ali evo pokusaj odgovora :)

Mozes ili napraviti jos jedan niz sa parovima ID proizvoda i ID prodavnice, ili mozes u niz proizvoda dodati jos jedan podatak "id_prodavnice"

Mislim da si shvatio suštinu problema. Sada recimo da otpada ova druga opcija(u niz proizvoda dodati još jedan podatak,IDprodavnice).

Da li bi otprilike ovako trebao da izgleda taj niz sa parovima IDproizvoda-IDprodavnice:

$IDrelacije=array(array(IDproizvoda1, IDprodavnice1),
array(IDproizvoda1, IDprodavnice2),
array(IDproizvoda1, IDprodavnice5),
array(IDproizvoda2, IDprodavnice2),
array(Idproizvoda2, IDprodavnice4),
array(IDproizvoda3, IDprodavnice1),
array(Idproizvoda4, IDprodavnice2),
array(IDproizvoda4, IDprodavnice3),
array(IDproizvoda5, IDprodavnice1),
array(IDproizvoda5, IDprodavnice2),
array(IDproizvoda5, IDprodavnice4),
array(IDproizvoda6, IDprodavnice3),
array(IDproizvoda4, IDprodavnice5)…);
 
Odgovor na temu

nera1981

Član broj: 283582
Poruke: 8
*.dynamic.telemach.ba.



Profil

icon Re: Spajanje I Pretraga Nizova28.09.2011. u 16:39 - pre 153 meseci
Evo kod za sva tri niza.

Code:
<?php
$nizProizvodi = array( 
"proizvod1"=>array("ID"=>"01","naziv"=>"nazivI1","opis"=>opis1),
"proizvod2"=>array("ID"=>"02","naziv"=>"nazivI2","opis"=>opis2),
"proizvod3"=>array("ID"=>"03","naziv"=>"nazivI3","opis"=>opis3),
"proizvod4"=>array("ID"=>"04","naziv"=>"nazivI4","opis"=>opis4),
"proizvod5"=>array("ID"=>"05","naziv"=>"nazivI5","opis"=>opis5)
...
);
 

 

$nizProdavnice = array( 
"prodavnica1"=>array("ID"=>"91","naziv"=>"nazivP1","adresa"=>"adresa1"),
"prodavnica2"=>array("ID"=>"92","naziv"=>"nazivP2","adresa"=>"adresa2"),
"prodavnica3"=>array("ID"=>"93","naziv"=>"nazivP3","adresa"=>"adresa3"),
"prodavnica4"=>array("ID"=>"94","naziv"=>"nazivP4","adresa"=>"adresa4"),
"prodavnica5"=>array("ID"=>"95","naziv"=>"nazivP5","adresa"=>"adresa5")
...
);
 
$nizInstrumentiProdavnice = array(
"relacija1" =>array("IDproizvoda"=>"01","IDprod"=>"91"),
"relacija2" =>array("IDproizvoda"=>"01","IDprod"=>"93"),
"relacija3" =>array("IDproizvoda"=>"02","IDprod"=>"92"),
"relacija4" =>array("IDproizvoda"=>"02","IDprd"=>"94"),
"relacija5" =>array("IDproizvoda"=>"03","IDprod"=>"93"),
"relacija6" =>array("IDproizvoda"=>"03","IDprod"=>"95"),
"relacija7" =>array("IDproizvoda"=>"04","IDprod"=>"92"),
"relacija8" =>array("IDproizvoda"=>"04","IDprod"=>"93"),
"relacija9" =>array("IDproizvoda"=>"05","IDprod"=>"94"),
"relacija10" =>array("IDproizvoda"=>"05","IDprod"=>"95"),
...
);
 

?>

Nizovi su dinamički. Treći niz, ako neko ne može odmah shvatiti, sadrži parove ID proizvoda i ID prodavnice, i služi isključivo za uspostavljanje relacije između prve dvije tabele, odnosno da bi se znalo koji proizvod se može naći u kojoj prodavnici. Ove vrijednosti u nizovima nisu prave, već samo primjeri.

Znači, da ponovim: treba da napravim program koji će na osnovu unosa korisnika (korisnik unosi naziv proizvoda, što se na početku programa može dodijeliti običnoj promjenljivoj, npr. $nazivProizvoda= "neki naziv"), vratiti listu proizvoda sličnog naziva, kao i podatke o prodavnicama gdje se ti proizvodi mogu naći. Zahvaljujem unaprijed na bilo kakvoj pomoći.

[Ovu poruku je menjao nera1981 dana 28.09.2011. u 19:17 GMT+1]
 
Odgovor na temu

pajaja
Beograd

Administrator
Član broj: 41598
Poruke: 3430
*.dynamic.sbb.rs.

Jabber: pajaja@elitesecurity.org
ICQ: 253317269


+144 Profil

icon Re: Spajanje I Pretraga Nizova28.09.2011. u 20:15 - pre 153 meseci
A odakle izvlacis te nizove?
xxx
mali mali mali kamičak...nebo plave boje.
In Memoriam: Madzone Zeka(15.09.2005-16.09.2005)
 
Odgovor na temu

nera1981

Član broj: 283582
Poruke: 8
*.dynamic.telemach.ba.



Profil

icon Re: Spajanje I Pretraga Nizova29.09.2011. u 08:24 - pre 153 meseci
Citat:
pajaja: A odakle izvlacis te nizove?

Zadatak je da sam napravim niz, ali mislim to nije relevantno u ovom slučaju (osim ako misliš da nešto nije dobro urađeno). Bitan mi je algoritam koji će, kao što sam već rekao, da ih pretraži i vrati tražene podatke. Čak nije toliko releventan način implementacije unosa korisnika, jer se to može predstaviti kao obično dodjeljivanje vrijednosti unosa nekoj varijabli na početku programa(npr. $NazivProizvoda="neko ime"). Mogao bih nekako da napišem program za pretraživanje samo niza $Proizvodi, ali mi nije jasno kako da to pretraživanje povežem sa druga dva niza, tako da mi vrati zajedno sa podacima o proizvodu i povezane podatke o prodavnici u kojoj se nalazi.
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.static.stelkom.net.



+18 Profil

icon Re: Spajanje I Pretraga Nizova29.09.2011. u 10:29 - pre 153 meseci
Evo ti u attachmentu kod za pretrazivanje. Moze se to i ljepse uraditi, ali neka ;)

Prikačeni fajlovi
 
Odgovor na temu

nera1981

Član broj: 283582
Poruke: 8
*.dynamic.telemach.ba.



Profil

icon Re: Spajanje I Pretraga Nizova29.09.2011. u 13:52 - pre 153 meseci
Citat:
vatri: Evo ti u attachmentu kod za pretrazivanje. Moze se to i ljepse uraditi, ali neka ;)

Zahvaljujem puno na trudu, ali na žalost, previdio si jednu stvar . Pretraga se treba vršiti po nazivu proizvoda, ne po njegovom ID-u. Postavlja se pitanje može li se uopće to implementirati uz ovakvu strukturu nizova?
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.static.stelkom.net.



+18 Profil

icon Re: Spajanje I Pretraga Nizova29.09.2011. u 15:33 - pre 153 meseci
Mogao si se potruditi pa sam zakljuciti sta treba promjeniti.

Novi kod:

Code:

// pretrazujemo niz proizvoda 
    foreach($_arrProd as $key => $arrData)
    {
        //if( $arrData['ID'] == $prodID) // << staro pretrazivanje
        if( $arrData['naziv'] == $prodID)
        {
            $prodID = $arrData['ID'];// pretrazujemo po ID ostala 2 niza(prodavnice i relacije)
            $arrOut['naziv'] = $arrData['naziv'];
            $arrOut['opis'] = $arrData['opis'];
            break;
        }
    }


i dole u pozivu funkcije samo stavis ime proizvoda umjesto ID-ja
 
Odgovor na temu

nera1981

Član broj: 283582
Poruke: 8
*.dynamic.telemach.ba.



Profil

icon Re: Spajanje I Pretraga Nizova30.09.2011. u 08:17 - pre 153 meseci
Citat:
vatri: Mogao si se potruditi pa sam zakljuciti sta treba promjeniti.

Novi kod:

Code:

// pretrazujemo niz proizvoda 
foreach($_arrProd as $key => $arrData)
{
//if( $arrData['ID'] == $prodID) // << staro pretrazivanje
if( $arrData['naziv'] == $prodID)
{
$prodID = $arrData['ID'];// pretrazujemo po ID ostala 2 niza(prodavnice i relacije)
$arrOut['naziv'] = $arrData['naziv'];
$arrOut['opis'] = $arrData['opis'];
break;
}
}


i dole u pozivu funkcije samo stavis ime proizvoda umjesto ID-ja

U pravu si, mogao sam sam ovo prepraviti, ali pomislio sam da to neće biti moguće bez mjenjaja strukture trećeg niza(zamjeniti IDproizvoda sa nazivom). U svakom slučaju, zahvaljujem mnogo.
 
Odgovor na temu

[es] :: PHP :: Spajanje I Pretraga Nizova

[ Pregleda: 1836 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.