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:
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>
........
........
.......
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.
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.