Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    209

    Select dinamica con php e ajax non legge caratteri con l'accento

    Ciao ho trova una select dinamica concatenata di regioni-provincia-comune solo che non mi legge le parole accentate che si trovano nel db

    tipo forlì mi legge FORL[] e cosi via tutte le parole accentate

    ho provato a mettere html_entity_decode davanti alle variabile ma niente.

    Vi posto tutto il codice

    index.php, e select_abitativa.php


    -->
    index.php

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    // Select Province e Comuni dalla Regione. 
    function selProvCom(idRegion) {
      // Seleziono province di questa regione. 
      $.get("select_abitativa.php", { regionid: idRegion, requestItems: 'province'}, 
      function(dataProvince){
        $("select[id='province']").empty();
        var options = '<option value="">-- seleziona --</option>';
        var arrayProvince = dataProvince.split( '||');
        for (var i = 1; i < arrayProvince.length; i++) {
          var provincia = arrayProvince[i].split( /,/);
          options += '<option value="' + provincia[0] + '">' + provincia[1] + '</option>';
        }
        $("select[id='province']").html(options);
      });
      // Seleziono comuni di questa regione. 
      $.get("select_abitativa.php", { regionid: idRegion, requestItems: 'comuni'}, 
      function(dataComuni){
        $("select[id='city']").empty();
        var options = '<option value="">-- seleziona --</option>';
        var arrayComuni = dataComuni.split( '||');
        for (var i = 1; i < arrayComuni.length; i++) {
          var comune = arrayComuni[i].split( /,/);
          options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
        }
        $("select[id='city']").html(options);
      });
    }

    // Select Comuni dalla Provincia. 
    function selCom(idProvincia) {
      // Seleziono comuni di questa provincia. 
      $.get("select_abitativa.php", { provinciaid: idProvincia, requestItems: 'comuni'}, 
      function(dataComuni){
        $("select[id='city']").empty();
        var options = '<option value="">-- seleziona --</option>';
        var arrayComuni = dataComuni.split( '||');
        for (var i = 1; i < arrayComuni.length; i++) {
          var comune = arrayComuni[i].split( /,/);
          options += '<option value="' + comune[0] + '">' + comune[1] + '</option>';
        }
        $("select[id='city']").html(options);
      });
    }
    </script>

    </head>

    <body>



    <label for="region">Regione:</label>

    <select id="region" name="region" onchange="selProvCom(this.value);">
    <option value="" selected="selected">-- seleziona --</option>
    <?php
    // Collegamento ad database. 
    include("dbconfig.php");

    // Query selezione tutte le regioni. 
    $sql "select * from regioni order by regione"

    // Eseguo la query. 
    $result mysql_query($sql$conn); 
    while(
    $region mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $region['id']; ?>"><?php echo html_entity_decode($region['regione']); ?></option>
    <?php
    }
    ?>
    </select>
    </p>



    <label for="province">Provincia:</label>

    <select id="province" name="province" onchange="selCom(this.value);">
    <option value="" selected="selected">-- seleziona --</option>
    <?php

    // Query selezione tutte le province. 
    $sql "select * from province order by provincia"

    // Eseguo la query. 
    $result mysql_query($sql$conn); 
    while(
    $province mysql_fetch_array($result)) {
    ?>
    <option value="<?php echo $province['id']; ?>"><?php echo html_entity_decode($province['provincia']); ?></option>
    <?php
    }
    ?>
    </select>
    </p>



    <label for="city">Città:</label>

    <select id="city" name="city">
    <option value="" selected="selected">-- seleziona --</option>
    </select>
    </p>
    </body>
    </html>

    -->
    select_abitativa.php

    Codice PHP:
    <?php
    // Seleziona Province e Comuni. 
    include("dbconfig.php");

    if (isset(
    $_GET['regionid']) and is_numeric($_GET['regionid'])) {
      if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='province') {
        
    $regionID intval($_GET['regionid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM province 
    WHERE id_regione = '
    $regionID
    ORDER BY provincia
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnProvince '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnProvince .= "||".$row['id'].",".$row['provincia'];
        }
        
    print_r(html_entity_decode($returnProvince));
      } 
      else if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='comuni') {
        
    $regionID intval($_GET['regionid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM comuni 
    WHERE id_regione = '
    $regionID
    ORDER BY comune
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnComuni '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnComuni .= "||".$row['id'].",".$row['comune'];
        }
        
    print_r(html_entity_decode($returnComuni));
      }

    else if (isset(
    $_GET['provinciaid']) and is_numeric($_GET['provinciaid'])) {
      if (isset(
    $_GET['requestItems']) and $_GET['requestItems']==='comuni') {
        
    $provinciaID intval($_GET['provinciaid']);
        
    $query = <<<EOQ
    SELECT * 
    FROM comuni 
    WHERE id_provincia = '
    $provinciaID
    ORDER BY comune
    EOQ;
        
    $result mysql_query($query$conn);
        
    $returnComuni '';
        while (
    $row mysql_fetch_array($result)) {
          
    $returnComuni .= "||".$row['id'].",".$row['comune'];
        }
        echo(
    html_entity_decode($returnComuni));
      }
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Scusa, ma non dovresti usare htmlentities() quando stampi le option della select?
    html_entity_decode() lo usi dopo per "decodificare" il carattere in html...

    O mi sto sbagliando?

    Addendum: la codifica della pagina è UTF-8 vero?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    209
    Vero

    Ho fatto una domanda stupida

    Grazie per l'aiuto

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.