[ _CaRtMan_ @ 30.06.2009. 22:10 ] @
Imam ovako:

Code:

$q = $this->query("SELECT * FROM otrecept2kat WHERE idrecept=$idrecept"); // moja query funkcija da ne dodajem die(); stalno i sl
        while($a=mysql_fetch_array($q)){ 
        $sel[] = $a;
        }



Imam i nesto ovako:

Code:

$output .= "    <option value=".$podkat["idkategorija"]." $selected>"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$podkat["nazivkategorija"]."</option>";


I sad fino se to generise. Kao sto mozete vidjeti ima varijabla $selected.

$podkat["idkategorija"]; su mi kategorije svih tih opcija. Zelim da uporedim nesto tipa:

Code:

if($podkat["idkategorija"]==$sel["idkategorija"]
$selected = "selected='selected'";
else
$selected = "";


Ali nikako ne uspjevam da dodjem do ovog sel.. kad odem

print_r($sel)

dobijem:

Code:
Array
(
    [0] => Array
        (
            [0] => 33
            [idrecept2kat] => 33
            [1] => 1
            [idrecept] => 1
            [2] => 28
            [idkategorija] => 28
        )

    [1] => Array
        (
            [0] => 32
            [idrecept2kat] => 32
            [1] => 1
            [idrecept] => 1
            [2] => 27
            [idkategorija] => 27
        )

    [2] => Array
        (
            [0] => 31
            [idrecept2kat] => 31
            [1] => 1
            [idrecept] => 1
            [2] => 26
            [idkategorija] => 26
        )

)


al ne mogu nikako da dodjem do idkategorija.

Jedino ovako:

Code:

    $q = $this->query("SELECT * FROM otrecept2kat WHERE idrecept=$idrecept");
        while($a=mysql_fetch_array($q)){ 
        $sel = $a;
        echo $sel["idkategorija"];
        } 


bez [] kod $sel...

[ Miroslav Ćurčić @ 30.06.2009. 23:29 ] @
dej celu petlju oko $output .= ...

moram priznati da nisam baš razumeo šta treba da dobiješ, tj. relaciju podataka, napiši i kako bi to trebalo da izgleda select za ovaj konkretan primer što si ispisao sa print_r
[ Nikola Poša @ 01.07.2009. 10:05 ] @
Prvo, ako hoćeš asocijativan pristup, koristi mysql_fetch_assoc. Drugo, nemoj da koristiš dvostruke navodnike ako radiš konkatenaciju, koristi jednostruke. Treće, ne znam šta ti tu nije jasno, vidiš valjda kad si odradio print_r tog niza da je on multi-dimenzionalan, pa ne možeš direktno da pristupiš $sel["idkategorija"], već samo $sel[0]["idkategorija"], sel[1]["idkategorija"], itd.

Ti si nam taj tvoj kod prikazao sve iz nekih delova, ne može jasno da se zaključi šta si tu radio, al' kol'ko vidim, to je samo običan, dinamički ispis neke padajuće liste, koja kol'ko vidim sadrži te neke kategorije. E sad, ne znam gde ispisuješ sve te stvari, dal' istovremeno ide ispis i tog nekog recepta i te padajuće liste, ili kako... Najbolje je da ponovo pošalješ kod, ali u celini...
[ _CaRtMan_ @ 01.07.2009. 10:07 ] @
Code:
    
$output = "";
    $output .= "<select name=\"cbkategorija[]\" size=\"1\" multiple=\"multiple\" id=\"cbkategorija\" title=\"Držite CTRL i označavajte kojim sve kategorijama pripada recept.\" style=\"height:100px; width:200px;\" tabindex=\"5\"'>";
// Kreira select a ispod query
    $q = $this->query("select * from tpkategorija where parent=0");
    while($kat=mysql_fetch_array($q)){
    $podaci[] = $kat;
    // Ispis kategorije
    $output .= "<option disabled=\"disabled\">"."-- ".$kat["nazivkategorija"]." --"."</option>";
    #$output .= " <optgroup label=".$kat["nazivkategorija"].">"."</optgroup>";
     
    // Query
    $qq = $this->query("select * from tpkategorija where idkategorijapripada=$kat[idkategorija]");
    
        while($podkat=mysql_fetch_array($qq)){
        
            $podacii[] = $aa;
            // PA OPET OVDJE :)
            // Ispis podkategorije         

            if($podkat["idkategorija"]==$idodabrano) // <--- ovo idodabrano treba da provjerava sta je u bazi
            $selected = "selected='selected'";
            else
            $selected = "";    
                
            
            $output .= "    <option value=".$podkat["idkategorija"]." $selected>"."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$podkat["nazivkategorija"]."</option>";
            
        }
        
    }         
         
    $output .= "</select>";
    $this->assign('cbkategorija', $output); 



Code:

        $q = $this->query("SELECT * FROM otrecept2kat WHERE idrecept=$idrecept");
        while($a=mysql_fetch_array($q)){ 
        $sel= $a;
$idodabrano = $sel["idkategorija"];
// ovdje echo ispise sve
        }  
// echo ovdje i ispod samo jednan id     


Hovu ovo selected="selected" da sredim...