Salve a tutti, ho una pagina php che in diversi punti (lontani tra loro) necessita di informazioni prese da un db. Queste informazioni vorrei prenderle una sola volta e riutilizzarle qui e lì nella pagina ma ho un grosso problema.
Il mio codice al momento è così composto:
Ho copiato solo le prime due select, ma dello stesso tipo ce ne sono altre, che utilizzano tutte i dati ottenuti con la query $queryMoodys.codice:$queryMoodys = "select * from spr_web_scala_rating_moodys"; $stmtMoodys = OCIParse($conn, $queryMoodys); OCIExecute($stmtMoodys); ..... .... .... <select name="rating_moodys"> <? $sel=0; while (ocifetchinto ($stmtMoodys, $resMoodys, OCI_ASSOC+OCI_RETURN_NULLS)) { if($resMoodys['CODICE']==$res['RATING_TITOLO_MOODYS']){ $sel=1; ?> <option selected value="<? echo $resMoodys['CODICE'] ?>"><? echo $resMoodys['CATEGORIA'] ?></option> <?}else{?> <option value="<? echo $resMoodys['CODICE'] ?>"><? echo $resMoodys['CATEGORIA'] ?></option> <?} } if($sel==0){?> <option selected value=""></option> <?}?> </select> .... ... .... ..... ..... ..... <select name="rating_emittente_moodys"> <? $sel=0; //reset($resMoodys); while (ocifetchinto ($stmtMoodys, $resMoodys2, OCI_ASSOC+OCI_RETURN_NULLS)) { if($resMoodys['CODICE']==$res['RATING_EMITTENTE_MOODYS']){ $sel=1; ?> <option selected value="<? echo $resMoodys['CODICE'] ?>"><? echo $resMoodys['CATEGORIA'] ?></option> <?}else{?> <option value="<? echo $resMoodys['CODICE'] ?>"><? echo $resMoodys['CATEGORIA'] ?></option> <?} } if($sel==0){?> <option selected value=""><?echo "".count($resMoodys['CODICE'])?></option> <?}?> </select> ........ ........ .......
Il mio problema è questo, la prima select funziona perfettamente, la seconda no, dato che non mi viene stampata una lista di una 20 di valori circa ma un semplice elemento vuoto (quello relativo all'if $sell==0).
Come posso fare a prendere tutti dati in una volta solo ed a riutilizzarli nella pagina?
Ho letto di una funzione ocifetchstatement ma non sono riuscito a capire granchè e quando l'ho provata gli elementi che mi venivano stampati erano solo stringhe del tipo "Array" e qualche altra cosa.
Come posso fare?
Grazie a tutti, ciao ciao.

Rispondi quotando