DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Sva početnička pitanja (http://www.devprotalk.com/forumdisplay.php?f=40)
-   -   Problem oko ispisa (dvije tabele) ne znam kako nazvat. (http://www.devprotalk.com/showthread.php?t=4630)

nEdImT 31. 01. 2008. 15:11

Problem oko ispisa (dvije tabele) ne znam kako nazvat.
 
Eh, ovako.

Imam tabelu "proizvodi" i tabelu "proizvodjaci". I sad u tabeli proizvodi kad upisujem imam i "proizvodjac" i tu upisujem id proizvodjaca , i to ima onaj meni padajuci gdje izaberem naziv proizvodjaca, a value je id proizvodjaca.

Eh valjda ste skontali. Sad, kad listam te proizvode imam proizvodjac i sad tu bih izlistao naziv, ali mogu samo id (jer je u tabeli proizvodi) kod proizvodjaci id a ne naziv. A necu da upisujem direktno naziv, jer ako promijenim naziv proizvodjaca onda mi se nece promijenit kad budem listao.

Eh sad ja sam uradio ovo:

PHP kôd:

$select "SELECT * FROM proizvodi ORDER BY id ASC";
$query mysql_query($select);
while(
$a=mysql_fetch_array($query)){
    
$proizvodi[] = $a;
    
$proizvodjac $a["proizvodjac"]; // id proizvodjaca u tabeli
    
    
    
    
$pro mysql_query("SELECT * FROM proizvodjaci WHERE id='$proizvodjac'");  
while(
$b=mysql_fetch_array($pro)){

$pro_id$b["id"];
$pro_naz $b["naziv"];



$smarty->assign('pro_id'$pro_id);
$smarty->assign('pro_naz'$pro_naz);


}
   


I sad tamo gdje listam ja sam ovako uradio:

{foreach from=$proizvodi item=sta}
{$sta.proizvodjac|replace:"$pro_id":"$pro_naz"}
{/foreach}

Ali samo prvi i zadnji mi upis uradi replace. Kako bih ovo rjesio? Valjda kontate na sta mislim.

cvele 31. 01. 2008. 15:30

SELECT proizvodi.*, proizvodjaci.* FROM proizvodjaci, proizvodi
WHERE proizvodjac.id=proizvodi.id

nEdImT 31. 01. 2008. 15:35

U koji query to ide?

BluesRocker 31. 01. 2008. 15:38

SELECT * FROM proizvodjaci inner join proizvodi on proizvodjac.id = proizvodi.proizvodjac

nEdImT 31. 01. 2008. 15:40

Možeš li molim te, malo bolje objasniti taj query? Ne kontam ništa. prvi put vidim tako nešto.

salebab 31. 01. 2008. 15:42

Koristi jedan sql upit.
Kôd:

SELECT proizvodi.*, proizvodjac.naziv as proizvodjac_naziv
FROM proizvodi
LEFT JOIN proizvodjac
    ON proizvodi.proizvodjac = proizvodjac.id

Zatim od rezultata napravis array i taj array posaljes u smarty i u template fajlu radis foreach tog arraya.

nEdImT 31. 01. 2008. 15:53

PHP kôd:

 $select "SELECT proizvodi.*, proizvodjac.naziv as proizvodjac_naziv
FROM proizvodi
LEFT JOIN proizvodjac
    ON proizvodi.proizvodjac = proizvodjac.id"
;
$query mysql_query($select);
while(
$a=mysql_fetch_array($query)){
    
$proizvodi[] = $a;



Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\fitness\administracija\proizvodi.p hp on line 14

negdje grijesim. :S

u phpmyadminu upisem tamo:

#1146 - Table 'fitness.proizvodjac' doesn't exist

imam tabele

proizvodjaci
proizvodi

onda upisem:

SELECT proizvodi.*, proizvodjaci.naziv as proizvodjaci_naziv
FROM proizvodi
LEFT JOIN proizvodjaci
ON proizvodi.proizvodjaci = proizvodjaci.id

i javi

#1054 - Unknown column 'proizvodi.proizvodjaci' in 'on clause'

EDIT: ovako je trebalo:

SELECT proizvodi.*, proizvodjaci.naziv as proizvodjaci_naziv
FROM proizvodi
LEFT JOIN proizvodjaci
ON proizvodi.proizvodjac = proizvodjaci.id

Hvala nisam znao da moze i ovo :D

salebab 31. 01. 2008. 16:01

Ne postoji kolona proizvodjaci u tabeli proizvodi. :) Verovatno se zove 'proizvodjac', pa izmeni to u sql upitu...

Edit:
Eto, resio si problem, nema na cemu :)

nEdImT 31. 01. 2008. 16:46

Citat:

Originalno napisao salebab (Napišite 50493)
Ne postoji kolona proizvodjaci u tabeli proizvodi. :) Verovatno se zove 'proizvodjac', pa izmeni to u sql upitu...

Edit:
Eto, resio si problem, nema na cemu :)

Još jedno pitanje :D

PHP kôd:

  $select "SELECT proizvodi.*, proizvodjaci.naziv as proizvodjaci_naziv
FROM proizvodi
LEFT JOIN proizvodjaci
ON proizvodi.proizvodjac = proizvodjaci.id 
WHERE 'naziv' LIKE '%
$trazi%'"

sta je pogresno? u phpmyadminu kaze:

MySQL returned an empty result set (i.e. zero rows). (Query took 0.0006 sec)

a treba nac 100%, jel nesto u kodu pogresno?

salebab 03. 02. 2008. 02:06

U poslednjoj liniji moras da stavis ime tabele na koju se odnosi ta kolona 'naziv'. Znaci "WHERE proizvodi.naziv LIKE..."


Vreme je GMT +2. Trenutno vreme je 12:02.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.