Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    52

    popolare una select con json

    buon giorno
    spiego in poche parole il mio problema,
    usando joomla come portale e un booking esterno in pratica e come se fosse 2 siti in uno joomla come contenuti moduli ecc... e il booking è collegato tramite richiami link e un modulo creato x gestire il cerca del booking inserito in home di joomla.
    ora il mio problema è che il cerca che oh creato nella home non a nulla che vedere con joomla e un modulo personalizzato con richiami al booking, e fin qui funziona tutto ora nel cerca oh una select che viene popolata tramite db del booking contenendo tutte le città da selezionare,il mio intento e di nascondere le citta che non hanno servizi su di esse, nel booking gia lo fatto funzionare aggiungendo una chekbox da spuntare quando si aggiunge il nome della città salvando il valore nel db , usando un if nel php tutto funziona , il problema e nel riprendere il tutto da passare nel cerca della home.

    ora per passare il tutto oh usato json questo è il codice che oh fatto per passare il tutto nella home
    codice:
    <?
    include("config.php");
    $obj=new sast1com();
    $obj->connessione();
    
    if($_GET['function']=="citta"){
    
    $sql="select * from citta order by nomeIT";
    $result = mysql_query ($sql);
    while($row = mysql_fetch_array($result)){  
    
            $rows[] = array(
                    "id" => $row['id'],
                    "nome" => $row['nomeIT']
            );
        }   
    
    //array_pop($rows);
    
        header("Content-Type: text/json");
        echo json_encode(array( 'citta'  =>  $rows )); 
        
    }
    
    
    if($_GET['function']=="categorie"){
    
    $sql="select * from prodotticategory order by nomeIT";
    $result = mysql_query ($sql);
    
    while($row = mysql_fetch_array($result)){  
    
            $rows[] = array(
                    "id" => $row['id'],
                    "nome" => $row['nomeIT']
            );
        }   
    
    //array_pop($rows);
    
        header("Content-Type: text/json");
        echo json_encode(array( 'categorie'  =>  $rows )); 
        
    }
    ?>
    e il codice che oh nella home è

    codice:
    <script>
    var elementi;
     $.ajax({
       url: 'http://www.passioneitalia.travel/booking/json.php?function=citta',
       dataType: 'json',
       timeout: 5000,
       type:'POST',
       data: {},
       success: function(data, status){
              $.each(data.citta, function(i, item){
                 var i=i+1;
    
    
                ciaociao='<option value="'+item.id+'">'+item.nome+'</option>';
                 elementi+=ciaociao;
              });
              var vuoto='<option></option>';
              $("#citta2").html(elementi);
       }
    });
    
    var elementi2;
     $.ajax({
       url: 'http://www.passioneitalia.travel/booking/json.php?function=categorie',
       dataType: 'json',
       timeout: 5000,
       type:'POST',
       data: {},
       success: function(data, status){
              $.each(data.categorie, function(i, item){
                 var i=i+1;
    
                 ciaociao='<option value="'+item.id+'">'+item.nome+'</option>';
                 elementi2+=ciaociao;
              });
              var vuoto='<option></option>';
              $("#cat2").html(vuoto+elementi2);
       }
    });
    </script>
    
    
    <form action="http://www.passioneitalia.travel/booking/html/servizi.php" onSubmit="return calle(this)" method="get">
    <input type="hidden" name="linguadasito" value="it">
    
    <h2><span style="font-size: medium;" size="3">Ricerca Servizi / Pianifica Cosa Fare
    </span></h2>
    <table class="bookrr0">
    <tr   class="bookrr1">
    <td style="color: #0000ff; margin-left: -5px;">Città
    
    <select name="citta" id="citta2" ><option></option>
    </select>
    </td>
    </tr>
    
    <tr   class="bookrr2">
    <td style="color: #0000ff; margin-left: -5px;">Tipo di attività
    
    <select name="cat" id="cat2">
    </select>
    </td>
    </tr>
    </table>
    </tr>
    <center>
    <input value="&nbsp;&nbsp; CERCA &nbsp;&nbsp;"  id="boxcer" type="submit"   class="button">
    </center>
    </form>

    ora come posso fare x far si che carichi solo le città che hanno lo stato a 1?
    come recupero lo stato dal db che ha il nome cittaservizi far vedere solo le città che hanno lo stato a 1.

    con json non oh molta confidenza
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se l'informazione che ti serve si trova nella tabella citta, dovrebbe già essere presente nel json, se il campo è cittaservizi ti basterà un if item.cittaservizi == 1

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    52
    ciao grazie x aver risposto
    if item.cittaservizi == 1
    puo farmi un esempio sono ore che ci sbatto la testa
    grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    ...
    if(item.cittaservizi === 1){
    ciaociao='<option value="'+item.id+'">'+item.nome+'</option>';
                 elementi+=ciaociao;
    }
    ...
    se è una stringa racchiudilo tra apici if(item.cittaservizi == "1"){

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2014
    Messaggi
    52
    nulla sia in un modo che nell'altro mi svuota la select

    aspetta oh risolto modificando anche il json in questa maniera

    $rows[] = array(
    "id" => $row['id'],
    "nome" => $row['nomeIT'],
    "cittaservizi" => $row['cittaservizi']
    );

    poi nella pagina del cerca

    questo if(item.cittaservizi == "1"){

    ora funziona

    grazie della dritta
    Ultima modifica di conti; 07-10-2014 a 17:09

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.