Zašto upit vraća dupli rezultat?

Zašto upit vraća dupli rezultat?

offline
  • Pridružio: 13 Jan 2008
  • Poruke: 3657
  • Gde živiš: Stara Pazova

Imam problem sa bazom, pa ako neko ima ideju kako to da rešim.
Ovo je upit koji se izvršava:
$sql = mysql_query( "SELECT sifra_artikla,naziv_artikla,SUM(kolicina) FROM faktura WHERE datum_fakture='24.06.2009.' GROUP BY sifra_artikla" );    while($red=mysql_fetch_array($sql))    {    foreach($red as $stampaj)    echo $stampaj ."<br />";    }

Rezultat koji bi trebao da dobijem je npr:
156
Komplet
20

Umesto toga ja dobijam:
156
156
Komplet
Komplet
20
20

Svaki predlog je dobrodošao. smešak



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 11 Maj 2005
  • Poruke: 871
  • Gde živiš: Aleksinac - Niš

Probaj za početak sa DISTINCT.



offline
  • Pridružio: 13 Jan 2008
  • Poruke: 3657
  • Gde živiš: Stara Pazova

Hmmm.....
Nešto se čudno ovde događa Exclamation
Probao sam sa DISTINCT i ništa nisam uspeo osim što mi umesto 7 artikala (koliko ih ima po zadatom datumu) vrati samo jedani to opet duplo. Još veća tuga je to što sam vratio na stari upit, bez DISTINCT i sad mi opet ne vraća svih 7 već samo jedan artikla, naravno dupli. Neko nekog ovde kerebeči. Mr. Green

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

Niko se ne kerebeči vec kad na taj nacin to koristis umjesto mysql_fetch_array koristi ili mysql_fetch_assoc ili mysql_fetch_row
a onda umjesto
{    foreach($red as $stampaj)    echo $stampaj ."<br />";    }
mozes krace staviti

print implode('<br/>', $red).'<br/>';

offline
  • Pridružio: 13 Jan 2008
  • Poruke: 3657
  • Gde živiš: Stara Pazova

Ma nisam mislio na nekog sa foruma, već da mene malo moja baza... Mr. Green
Bravo care, to je to, nema duplikata. Hvala ti PUNO! Ziveli

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3745
  • Gde živiš: 127.0.0.1

Ili to sto ti je rekao igor86, ili:

while($red=mysql_fetch_array($sql,MYSQL_ASSOC))

Zasto dobijas "duple" rezultate? Da si uradio var_dump - video bi da je rezultat u stvari sledeci niz:

$red = array( "sifra_artikla" => "156", 0 => "156", "naziv_artikla" => "Komplet", 1 => "Komplet" "kolicina" => "20", 2 => "20" );

offline
  • Pridružio: 13 Jan 2008
  • Poruke: 3657
  • Gde živiš: Stara Pazova

Dobro, ne zamerite, nisam programer, pa ne znam sve cake, zato pitam vas koji znate. Wink
Hvala vam svima. smešak

Ko je trenutno na forumu
 

Ukupno su 1369 korisnika na forumu :: 36 registrovanih, 8 sakrivenih i 1325 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: 9k38, aleksmajstor, Alibaba1981, bladesu, Bobrock1, bojank, bojankrstc, Boris90, ccoogg123, cemix, crnogorac, Dannyboy, Dimitrise93, doktor1964, Dorcolac, dragoljub11987, FileFinder, GenZee, havoc995, ILGromovnik, kuntalo, ljuba, ljubacv, madza, maiden6657, mile23, milutin134, opt1, pein, Seeker, shone34, Srle993, Valter071, Zandar, zillbg, Čivi