• User Newbie

    Errore nell' assegnazione della variabile $this->id su una funzione

    Buongiorno a tutti ,
    ho bisogno di un vostro piccolo aiuto in quanto devo gestire un $id = $_GET['id']; (che legge dei valori dall url) ed ignettarlo nelle funzioni ShowRegioni e ShowProvince .
    Il problema è che in ShowRegioni la variabile $this->id , funziona correttamente mentre in ShowProvince non risulta valorizzata .. Mi sapete dare una spiegazione? mi sembra anomalo questo malfunzionamento..

    Vi ringrazio in anticipo

    [PHP]<?php

    class SelectList_mod
    {
    protected $id;

    public function ID(){
        $this->id = $_GET['id'];
        return TRUE;
        }
    
    protected $conn;
    
    
        public function __construct()
        {
            $this->DbConnect();
            $this->ID();
       
        }
    
         function DbConnect()
        {
            //const $connessione="";
            include ('/../connect.php');
           
            //include_once('connect.php');
           
            $this->conn = mysqli_connect($host,$user,$password,$db) OR die("Impossibile connettersi al database");
            mysqli_select_db($this->conn,$db) OR die("Impossibile selezionare il database $db");
           
            return TRUE;
        }
       
        public function ShowRegioni()
        {
            $confronto_id_associati = mysqli_query($this->conn, "SELECT id , regione FROM associati WHERE id LIKE '" . mysqli_escape_string($this->conn, $this->id) ."'")
                                                                or die(mysqli_error($this->conn));
                    while($array_confronto_associati = mysqli_fetch_array($confronto_id_associati))
                                                                {  
                                             $array_confronto_associati['id'];
                                             $array_confronto_associati['regione'];
                                   
            $confronto_id_regioni = mysqli_query($this->conn, "SELECT id_reg , nome_regione FROM regioni WHERE id_reg LIKE '" . mysqli_escape_string($this->conn, ($array_confronto_associati['regione'])). "'")
                or die(mysqli_error($this->conn));
                    while($array_confronto_regioni = mysqli_fetch_array($confronto_id_regioni))
                   
                {
                     $array_confronto_regioni['id_reg'];
                     $array_confronto_regioni['nome_regione'];
                    $regioni="";
                    $regioni .= '<option value="' . $array_confronto_regioni['id_reg'] . '">' . 'VALORE PRECEDENTE : ' . utf8_encode($array_confronto_regioni['nome_regione']) . '</option>';
               
                $res = mysqli_query($this->conn,"SELECT * FROM regioni");
                   
                while($row = mysqli_fetch_array($res))
                {
                    $regioni .= '<option value="' . $row['id_reg'] . '">' . utf8_encode($row['nome_regione']) . '</option>';
                }
               
                }
                }
               
            return $regioni;
               
        }
       
        public function ShowProvince()
        {
            $confronto_id_associati = mysqli_query($this->conn, "SELECT id , provincia FROM associati WHERE id LIKE '" . mysqli_escape_string($this->conn, $this->id) ."'")
                                                                or die(mysqli_error($this->conn));
                    while($array_confronto_associati = mysqli_fetch_array($confronto_id_associati))
                                                                {  
                                             $array_confronto_associati['id'];
                                             $array_confronto_associati['provincia'];
                                   
       
    
            $confronto_id_provincia = mysqli_query($this->conn, "SELECT id_pro , nome_provincia FROM province WHERE id_pro LIKE '" . mysqli_escape_string($this->conn, ($array_confronto_associati['provincia'])). "'")
                or die(mysqli_error($this->conn));
                    while($array_confronto_provincia = mysqli_fetch_array($confronto_id_provincia))
                   
                {
                     $array_confronto_provincia['id_pro'];
                     $array_confronto_provincia['nome_provincia'];
            $province="";              
            $province .= '<option value="' . $row['id_pro'] . '">' . 'VALORE PRECEDENTE : ' . utf8_encode($array_confronto_provincia['nome_provincia']) . '</option>';
            $res = mysqli_query($this->conn,"SELECT * FROM province WHERE id_reg=$_POST[id_reg]");
            //$province = '<option value="0">Scegli Provincia...</option>';
           
                while($row = mysqli_fetch_array($res))
                {
                    $province .= '<option value="' . $row['id_pro'] . '">' . utf8_encode($row['nome_provincia']) . '</option>';
                }
               
                }
                }
            return $province;
        }
    

    }

    ?>[/PHP]


  • User

    A prima vista sembra tutto ok, non è che il problema è fuori dalla classe?