Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    2

    Problema select concatenate

    Buongiorno a tutti.
    Vi espongo il mio problema. Ho un database "Ospedale", contenente tra le altre le seguenti tabelle(collegate tra loro):

    - Reparti (id_reparto -tinyint(3)-, nome reparto -varchar(30), ecc)
    - Esami (id_esame -smallint(6)-, id_reparto -tinyint(3), nome_esame -varchar(30)-)
    - Prenotazioni (id_prenotazione -mediumint(8)-, id_esame -smallint(6), ecc)

    Ho una pagina prenotazioni.php in cui ci sono un form e tre select.
    Una select che visualizza i reparti presenti nella tabella reparti. Una volta selezionato un reparto dalla tabella select, dovrebbero essere visualizzati tutti gli esami relativi a quel reparto e successivamente, selezionato l'esame dovrei visualizzare delle date relative a quell'esame.

    Il mio problema è che il popolamento della select relativa ai reparti avviene, ma una volta selezionato il reparto non mi viene mostrato nessun esame (pur essendocene).
    Premetto che sono una novizia di jquery e ajax e per questo nonostante i vari tentativi, non riesco a venire a capo.
    Spero qualcuno di voi possa aiutarmi a capire dove sbaglio, vi posto la parte di codice relativa alla pagina prenota.php e alle varie classi che recuperano i dati per poi popolare le select.

    La classe connection.php funziona e che crea una connessione con PDO.

    Codice PHP:
    include ($_SERVER['DOCUMENT_ROOT']  . '/php/connection.php');

    class 
    SelectList {    

     public 
    $con;

        public function 
    __construct(Connection $con) {
            
    $this->con $con->getConn();
        }
            
            public function 
    MostraReparti()
            {
                try{
                
    $res $this->con->query("SELECT * FROM reparti");
                
                
    $reparti '<option value="0">Effettua una scelta..</option>';
                
                    while(
    $row $res->fetch(PDO::FETCH_ASSOC))
                    {
                        
    $reparti .= '<option value="' $row['id_reparto'] . '">' utf8_encode($row['nome_reparto']) . '</option>';
                    }
                    
                return 
    $reparti;
                }catch (
    PDOException $e){
                echo 
    "Si è verificato un errore: "$e->getMessage();
                }
            }
            
            
            public function 
    MostraEsami()
            {
                try{
                    
    $rep_esame $_POST['id_reparto'];
                    
    $q_sql "SELECT * FROM esami WHERE id_reparto=$rep_esame";
                    
    $stmt $this->con->prepare($q_sql);
                    
    $s_res$stmt->execute();
                    
    $esami '<option value="0">Effettua una scelta..</option>';
                    
                    while(
    $row $s_res->fetch())
                    {
                        
    $esami .= '<option value="' $row['id_esame'] . '">' utf8_encode($row['nome_esame']) . '</option>';
                    }
                    return 
    $esami;
                    
                }catch(
    PDOException $e){
                    echo 
    "Si è verificato un errore: ".$e->getMessage();
                }
            
            }
            
            
            
    //funzione da rivedere poichè dovremmo trovare una data senza prenotazioni ad una determinata ora
            
    public function Mostra()
            {
                
    $q_sql "SELECT * FROM prenotazioni WHERE id_esame =?";
                
    $q_sql $this->con->prepare();
                
    $q_sql->bindParam(1$_POST[id_esame]);
                
    $s_res $q_sql->execute();
                
    $prenotazione '<option value="0">Effettua una scelta..</option>';
                
                    while(
    $row $s_res->fetch())
                    {
                        
    $prenotazione .= '<option value="' $row['id_prenotazione'] . '">' $row['data_prenotazione'] . '</option>';
                    }
                    
                return 
    $prenotazione;
            }

        
        } 
    Codice PHP:
    include_once ($_SERVER['DOCUMENT_ROOT']  . '/php/select_class.php');

    $c = new Connection();
    $opt = new SelectList($c);

    if(isset(
    $_POST['id_reparto']))
    {
        echo 
    $opt->MostraEsami();
        die;
    }

    if(isset(
    $_POST['id_esame']))
    {
        echo 
    $opt->Mostra();
        die;

    Ultima modifica di _Lucy_; 13-06-2016 a 16:51

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.