Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    118

    Recupero info da classe

    Ciao ragazzi,

    ho una classe per recuperare regioni, province e comuni dal db.

    Devo recuperare le informazioni della regione ma non riesco a farlo funzionare... la pagina mi va in errore 500 e non capisco dove sbaglio.

    Codice PHP:
    <?php

    include "lib/db.class.php";
    include 
    "lib/regioni.class.php";

    $db = new DataBase();
    $regioni = new Regioni();

    $regioni->getRegioni();

    ?>

    la chiamata $regioni->getRegioni(); mi manda in errore la pagina.

    Premetto che la classe connessione funziona correttamente

    Posto anche la classe Regioni

    Codice PHP:
    <?php
    /***********************************************************************
     ************* REGIONI   C L A S S *****************************
     * *********************************************************************
     *
     * Filename:    regioni.class.php
     * ********************************************************************/
     
    class Regioni
    {
        public function 
    getRegioni()
        {
            
    $query "SELECT * FROM regioni";
            if(
    $result parent::query($query))
            {
                if(
    $result->num_rows 0)
                {
                    while(
    $row $result->fetch_array())
                    {
                        
    $regioni[] = array(
                            
    'cod_regione' => $row['cod_regione'],
                            
    'regione' => $row['regione']
                        );
                    }
                    return 
    $regioni;
                }
            }
        }
        
        
    //Seleziona le province della regione scelta
        
        
    public function getProvince($cod_regione)
        {
            
    $query "SELECT * FROM province WHERE cod_regione = '".$cod_regione."'";
            if(
    $result parent::query($query))
            {
                if(
    $result->num_rows 0)
                {
                    while(
    $row $result->fetch_array())
                    {
                        
    $province[] = array(
                            
    'codice' => $row['cod_provincia'],
                            
    'nome' => $row['provincia']
                        );
                    }
                    return 
    $province;
                }
            }
        }
        
        
    //Seleziona i comuni della provincia scelta
        
        
    public function getComuni($cod_provincia)
        {
            
    $query "SELECT * FROM comuni WHERE cod_provincia = '".$cod_provincia."'";
            if(
    $result parent::query($query))
            {
                if(
    $result->num_rows 0)
                {
                    while(
    $row $result->fetch_array())
                    {
                        
    $comuni[] = array(
                            
    'codice' => $row['cod_istat'],
                            
    'nome' => $row['comune']
                        );
                    }
                    return 
    $comuni;
                }
            }
        }
        
        
    //Seleziona il cap del comune scelto
        
        
    public function getCap($cod_istat)
        {
            
    $query "SELECT * FROM cap WHERE cod_istat = '".$cod_istat."'";
            if(
    $result parent::query($query))
            {
                if(
    $result->num_rows == 1)
                {
                    
    $row $result->fetch_array();
                    
    $cap $row['cap'];
                    return 
    $cap;
                }
            }
        }

    }

    ?>
    Grazie a tutti, Loredana

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Codice PHP:
    class Regioni 

        public function 
    getRegioni() 
        { 
            
    $query "SELECT * FROM regioni"
            if(
    $result parent::query($query)) 
    Non puoi usare parent, visto che Regioni non deriva da nessun'altra classe.
    Da come è scritta la classe, sembra che ne estende qualche altra, ma manca la direttiva extends:

    Codice PHP:
    class Regioni extends AltraClasse{
       ...


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    118
    La classe che voglio utilizzare deriva da un'altra che utilizzava mysqli per connettersi al db

    questo il pezzo di classe originale

    Codice PHP:
    <?php
    class data extends mysqli
    {
        
    //Selezione di tutte le regioni
        
        
    public function getRegioni()
        {
            
    $query "SELECT * FROM regioni";
            if(
    $result parent::query($query))
            {
    io ho gia una mia classe che si collega al db e funziona bene, vorrei utilizzare solo alcune funzioni contenute nell'altra per recuperare le regioni... ecc.

    ho fatto cosi...

    Codice PHP:

    <?php
    /***********************************************************************
     ************* R E G I O N I   C L A S S *****************************
     * *********************************************************************
     *
     * Filename:    regioni.class.php
     * ********************************************************************/
    class Regioni
    {
        public function 
    getRegioni()
            {
                
    $result "SELECT * FROM regioni";
                if(
    $result)
                {
                    if(
    $result->num_rows 0)
                    {
                        while(
    $row $result->fetch_array())
                        {
                            
    $regioni[] = array(
                                
    'cod_regione' => $row['cod_regione'],
                                
    'regione' => $row['regione']
                            );
                        }
                        return 
    $regioni;
                    }
                }
            }
        
    }

    ?>
    file dove richiamo la classe


    Codice PHP:

    <?php

    include "lib/db.class.php";
    include 
    "lib/regioni.class.php";

    $db = new DataBase();

    $regioni = new Regioni();

    $regioni->getRegioni();

    ?>

    html.. bla..bla...

    <?php foreach($regioni as $val): ?>
    <option value="<?php echo $val['cod_regione']; ?>"><?php echo $val['regione']; ?></option>
    <?php endforeach; ?>

    non mi da errore 500 ma lo stesso non mi tira fuori i dati della regione

  4. #4
    ripetiamo:

    Codice PHP:
    class Regioni{

    public function 
    getRegioni() 
        { 
            
    $query "SELECT * FROM regioni"
            if(
    $result parent::query($query)) 
    secondo te parent a cosa si dovrebbe riferire?!?!?!?!?!? Regioni non estende nulla quindi funzionerà mai quel pezzo di codice, e neanche questo:

    Codice PHP:
    class Regioni 

        public function 
    getRegioni() 
            { 
                
    $result "SELECT * FROM regioni"
                if(
    $result
                { 
                    if(
    $result->num_rows 0
                    { 
                        while(
    $row $result->fetch_array()) 
                        { 
                            
    $regioni[] = array( 
                                
    'cod_regione' => $row['cod_regione'], 
                                
    'regione' => $row['regione'
                            ); 
                        } 
                        return 
    $regioni
                    } 
                } 
            } 
         


    ?> 
    visto che $result è una stringa e non una risorsa mysqli. Vedi un pò te di modificare la classe in maniera corretta
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.