Salve a tutti, il mio problema è proprio come da titolo.
l'errore è al punto dove ci sono tutti i cancelletti (#)
- richiamo table_view()
- la quale richiama row_view() in questo caso
- l'errore compare in due punti segnalati dai cancelletti (#), esattamente nella funzione table_view() e row_view().
- da considerare che in table_view() l'operazione viene eseguita esattamente due volte, la prima volta senza errore, dopo di che da errore
probabilmente mi sto perdendo qualcosa e non me ne sono accorto.
questa cosa è successa da quando ho cambiato i codici da mysql a mysqli.
le variabili da tenere traccia sono
- $result
- quelle affiancate dalla funzione di fetch_field()
p.s.
ho fatto mille cambiamenti al codice ed è probabile sia un po confuso.
grazie mille
codice:while( $row_p = mysqli_fetch_row($result) ) { table_view($row_p, $result, "list-view"); }codice:function table_view($row_p, $result, $class_view) { global $database; // prima visualizzo la proprieta echo "\n".'<div class="row-view"> <!-- start row view -->'; echo "\n\t".'<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'?content=update" method="post">'; // adesso visualizzo il risultato in base al modo di visualizzazione richiesto: se a elenco o dettagliato switch( $class_view ) { case 'list-view': // se ho la visualizzazione lista, i singoli elementi sono linkabili $rif = ""; for( $i=0; $i<count($row_p); $i++ ) { $label = mysqli_fetch_field($result); if( $label->name == 'rif' ) // qui l'errore non compare, $label risulta corretta $rif = $row_p[$i]; } echo "\n".'<a href="'.$_SERVER['PHP_SELF'].'?content=filter&view=detail&rif='.$rif.'">'; row_view($row_p, $result); echo "\n".'</a>'; break; case 'detail-view': detail_view($row_p, $result); break; } // memorizzo il riferimento nel quale siamo $rif = ""; for( $i=0; $i<count($row_p); $i++ ) { $label = mysqli_fetch_field($result); if( $label->name == 'rif' ) // ##### l'errore scatta qui $rif = $row_p[$i]; } // se l'utente ha i permessi può cliccare per modificare list($status, $user) = auth_get_status(); if( $status == AUTH_LOGGED ) { // name=server => memorizzo la pagina dalla quale sono venuto per poi ritornarci (se servisse) ?> <input name="rif_mod" value="<?=$rif?>" hidden /> <input name="server" value="<?=htmlspecialchars($_SERVER['REQUEST_URI'])?>" hidden /> <input type="submit" name="modifica" value="Modifica" /> <?php } echo "\n\t".'</form>'; echo "\n".'</div> <!-- end row view -->'; // end row-view }codice:function row_view($row, $result) { $dir_foto = ""; $dir_thumb = ""; $titolo = ""; $rif = ""; // risultati for($i=0; $i < count($row); $i++) { $label_name = $result->fetch_field(); switch( $label_name->name ) // ##### l'errore scatta qui { case 'foto1': $dir_foto = _DIR_UPLOAD_FOTO.$row[$i]; $dir_thumb = _DIR_THUMB_FOTO.$row[$i]; break; case 'titolo': $titolo = $row[$i]; break; case 'rif': $rif = $row[$i]; break; } } }


Rispondi quotando