Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Programiranje » Zadaci za razbibrigu
zxz 07.03.2017 15:04
Predmet:Re: Zadaci za razbibrigu*

Citat:
SELECT imeKnjige FROM biblioteka WHERE imeKnjige LIKE '10%';
Ovo ce pokazati sve knjige koje imaju u nazivu prva dva karaktera 10.

Avko 07.03.2017 15:35
Predmet:Re: Zadaci za razbibrigu*

SELECT imeKnjige FROM biblioteka WHERE imeKnjige LIKE '10%\%%';

dex 07.03.2017 21:41
Predmet:Re: Zadaci za razbibrigu*

Bravo sampione! Wink

Ocemo li sad dalje?
Napraviti proceduru koja kao ulaz ima string, a vraca sve knjige koje u naslovu sadrze ulazni string.
Ulazni string moze imati znak % na bilo kom mestu.

Avko 08.03.2017 09:53
Predmet:Re: Zadaci za razbibrigu*

strImeKnjige="10%neznamcega"
SELECT imeKnjige FROM biblioteka WHERE imeKnjige LIKE '%{$strImeKnjige}%'

dex 08.03.2017 10:38
Predmet:Re: Zadaci za razbibrigu*

Jel ti ovo PHP?

Mislio sam u textbox napucas string, a procedura izbaci sve knjige koje u naslovu sadrze text iz comba.
Proceduru ****lje praviti u MySQL-u. a iz aplikacije samo prosledjivat string

Avko 08.03.2017 10:45
Predmet:Re: Zadaci za razbibrigu*

Citiraj dex:
Jel ti ovo PHP?

Mislio sam u textbox napucas string, a procedura izbaci sve knjige koje u naslovu sadrze text iz comba.
Proceduru ****lje praviti u MySQL-u. a iz aplikacije samo prosledjivat string

bas nisam strucnjak za acces, sve sto znam je malo php i staviti mysql upit u string php-a pa izvrsiti taj string. Bas sam htio pitati tamo u temi "ako ima neko volje..." ali vas nisam htio ometati. Moja pitanja bi nas odvela na pocetak acesa. Tako da , eto jednostavno ...neznam

dex 13.03.2017 20:18
Predmet:Re: Zadaci za razbibrigu*

Evo, da dam resenje

PreuzmiIzvorni kôd (SQL):
  1. CREATE PROCEDURE `pretraga` (IN ul VARCHAR(50))
  2. BEGIN
  3. SET ul = REPLACE (ul,"%", "%\%");
  4. SET ul = REPLACE (ul,"_", "_\_");
  5. SET ul = concat ("%", ul, "%");
  6. SELECT * FROM knjige WHERE naslov LIKE ul;
  7. END

Poenta cele price je da kad pravite pretragu po nekom text polju imajte na umu da korisnik moze da unese i neki joker znak, i onda dobije netacne rezultate. Na ovaj nacin se to predupredjuje.

zxz 03.04.2017 21:20
Predmet:Kreiranje sql-a

Imamo tabelu sklopivi sa poljima:
ID_Sklopa
Naziv_Sklopa

I tabelu elementi sa poljima

Id_Elementa
ID_Skolpa
Naziv elementa.

treba napraviti pretragu po elementima po id elementa ili po nazivu svejedno je a da rezultat pretrage vrati samo one sklopove koji sadrze sve elemente pretrage.
Znaci ne sve elemente sklopa nego sve elemente pretrage.

dex 04.04.2017 21:38
Predmet:Re: Zadaci za razbibrigu*

Trebalo bi napraviti Temp tabelu sa poljima IdElemanta i NazivElemanta, pa onda prvo nju popuniti onim sto je odabrano za pretragu. Onda bi SQL isao

PreuzmiIzvorni kôd (SQL):
  1. SELECT Sklopovi.NazivSklopa, COUNT(a.NazivElementa) AS broj
  2. FROM Sklopovi
  3. INNER JOIN (SELECT * FROM elementi WHERE NazivElementa
  4. IN (SELECT Temp.NazivElemanta FROM Temp))  AS a
  5. ON Sklopovi.IdSklopa = a.IdSklopa
  6. GROUP BY Sklopovi.NazivSklopa
  7. HAVING COUNT(a.NazivElementa)) = (SELECT COUNT * FROM Temp);

Evo i resenja u Accessu bez temp tabele, pomocu listboxa

Moglo bi se tu jos toga ispeglati, nastavicemo diskusiju, tema je interesantna
Dobrih fazona za ovakve stvari ima ovde
http://icentar.ba/...&id=25049
Prilozi:
Delovi.zip (Velicina datoteke:20.90 KB)

dex 05.04.2017 11:16
Predmet:Re: Zadaci za razbibrigu*

Ako zlimo sklopove koji sadrze bar jedan od izabranih jednostavno izbacimo having clauzulu,
Ako zelimo sklopove koji sadrze dva ili vise odabrana elementa postavimo

HAVING Count(a.NazivElementa)) >= 2

za tacno 2

HAVING Count(a.NazivElementa)) = 2

i tako dalje