Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: riempire form

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171

    riempire form

    salve.
    ho una pagina con un menu a tendina nomi .
    io vorrei che quan l'utente sceglie un nome mi compaia un altro menu a tendina con tutti i cognomi che hanno quel nome, i dati sono salvati in un DB, poi dopo che l'utente clicca su un determinato cognome si riempiono tutti gli altri campi data_nascita residenza ecc...

    penso sia una cosa fattibile con jquery anche se non sono sicuro,
    spero qualcuno di voi mi possa dare una mano, grazie a tutti

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    A) Soluzione più semplice senza select http://jqueryui.com/autocomplete/#remote-jsonp
    B) Soluzine più complessa prima parte select http://forum.html.it/forum/showthrea...ostid=10589649 la seconda select json http://forum.html.it/forum/showthrea...readid=1110967
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    ho provato a usare la soluzione B ma non funziona mi da un milione di errori, mi sono messo a correggere gli errori ma stavo impazzendo

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    ho trovato questo che sarebbe perfetto se non fosse per il fatto che usa mysqli e non so come modificarlo dato che lo devo usare su postgresql.

    Codice PHP:
    <?php
    include_once('config/config.php');
    include_once(
    'class/data.class.php');

    $mysqli = new data(HOSTUSERNAMEPASSWORDDATABASE);
    $regioni $mysqli->getRegioni();
    ?>
    <!doctype html>
    <html>
        <head>
        <meta charset="utf-8" />
        <title>Untitled Document</title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <script type="text/javascript" src="js/italia.js"></script>
        </head>

        <body>
        <form>
            <p><label for="regione">Regione</label>
            <select name="regione" id="regione" class="dinamiche">
                <option value="">Seleziona...</option>
                <?php foreach($regioni as $val): ?>
                <option value="<?php echo $val['cod_regione']; ?>"><?php echo $val['regione']; ?></option>
                <?php endforeach; ?>
            </select></p>
            <p><label for="provincia">Provincia</label>
            <select name="provincia" id="provincia" class="dinamiche">
                <option value="">Seleziona...</option>
            </select></p>
            <p><label for="comune">Comune</label>
            <select name="comune" id="comune">
                <option value="">Seleziona...</option>
            </select></p>
            <p><label for="cap">Cap</label><input type="text" name="cap" id="cap" readonly="readonly"/></p>
        </form>
        </body>
    </html>
    Codice PHP:
    <?php
    class data extends mysqli
    {
        
    //Selezione di tutte le 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;
                }
            }
        }
    }
    ?>
    Codice PHP:
    $(document).ready(function(){
        $(
    '#regione').change(function(){
            var 
    elem = $(this).val();
            
            $.
    ajax({
                
    type'POST',
                
    url:'ajax/select.php',
                
    dataType'json',
                
    data: {'regione':elem},
                
    success: function(res){
                    $(
    '#provincia option').each(function(){$(this).remove()});
                    $(
    '#provincia').append('<option selected="selected">Seleziona...</option>');
                    $(
    '#comune option').each(function(){$(this).remove()});
                    $(
    '#comune').append('<option selected="selected">Seleziona...</option>');
                    $(
    '#cap').attr('value','');
                    $.
    each(res, function(ie){
                        $(
    '#provincia').append('<option value="' e.codice '">' e.nome '</option>');
                    });
                }
            });
        });
        
        $(
    '#provincia').change(function(){
            var 
    elem = $(this).val();
            
            $.
    ajax({
                
    type'POST',
                
    url:'ajax/select.php',
                
    dataType'json',
                
    data: {'provincia':elem},
                
    success: function(res){
                    $(
    '#comune option').each(function(){$(this).remove()});
                    $(
    '#comune').append('<option selected="selected">Seleziona...</option>');
                    $(
    '#cap').attr('value','');
                    $.
    each(res, function(ie){
                        $(
    '#comune').append('<option value="' e.codice '">' e.nome '</option>');
                    });
                }
            });
        });
        
        $(
    '#comune').change(function(){
            var 
    elem = $(this).val();
            
            $.
    ajax({
                
    type'POST',
                
    url:'ajax/select.php',
                
    dataType'json',
                
    data: {'cod_istat':elem},
                
    success: function(res){
                    $(
    '#cap').attr('value',res);
                }
            });
        });
    }); 
    Codice PHP:
    <?php
    include_once('../config/config.php');
    include_once(
    '../class/data.class.php');

    $mysqli = new data(HOSTUSERNAMEPASSWORDDATABASE);

    if(isset(
    $_POST['regione']))
    {
        
    $datastore $mysqli->getProvince($_POST['regione']);
    }
    if(isset(
    $_POST['provincia']))
    {
        
    $datastore $mysqli->getComuni($_POST['provincia']);
    }
    if(isset(
    $_POST['cod_istat']))
    {
        
    $datastore $mysqli->getCap($_POST['cod_istat']);
    }
    echo 
    json_encode($datastore);
    ?>
    mi potreste aiutare a modificarlo per usarlo senza programmazione a oggetti, o almeno senza mysqli dato che su postgresql non funziona

    grazie mille
    Ultima modifica di processore; 07-11-2013 a 17:26

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Usa la soluzione A più snella e corretta, non posso aiutarti col php perché non lo conosco bene al limite chiedi il transfert della discussione su php
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    grazie mille, ma purtroppo devo farlo cosi.
    come faccio a chiedere il transfert su php ?

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Premi il "tringolo col punto esclamativo" grigio alla sinistra dei post
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    non c'è nessuno che mi possa aiutare ?

  9. #9
    basta che sostituisci le funzioni per mysqli con quelle per postgresql http://www.php.net/manual/en/ref.pgsql.php . Al limite visto che pg non c'è OO come mysqli, invece di avere data che estende mysqli fai che data estenda PDO, poi dal link sopra vedi come si apre un aconnession a postgresql e sei piu o meno a posto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    171
    ho provato a fare come mi hai detto ma ancora con la programmazione a oggetti ho molti problemi.
    ti sarei grato se mi puoi dare una mano.

    ho provato a fare cosi:
    Codice PHP:
    <?php



    class DatabaseConnection {

    private 
    $dbname     "italia";
    private 
    $host       "localhost";
    private 
    $user       "postgres";
    private 
    $password   "pass";
    private 
    $port       5432;

    private 
    $DBH;

    public function 
    __construct() {
        try {
            
    $this->DBH  = new PDO("pgsql:host=$this->host;port=$this->port;dbname=$this->dbname;user=$this->user;password=$this->password");
        } catch(
    PDOException $e) {
            echo    
    $e->getMessage();  
        }

    }
    public function 
    disconnect() {
        
    $this->DBH  null
    }
    }
    ?>

    Codice PHP:
    $mysqli=new DatabaseConnection;

    $regioni $mysqli->getRegioni(); 

    ma da sempre errore.


    per la connessione al db piu o meno la sto usando nel senso che sto facendo il sito e funziona.

    se mi puoi dare una mano per risolvere questa parte


    grazie mille

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 © 2024 vBulletin Solutions, Inc. All rights reserved.