Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    65

    select usando dati da xml

    salve a tutti, dovrei fare una specie di menu di selezione, ma i dati non arrivano da un database, ma da un xml.

    mi spiego meglio:
    nella pagina, php si connette al db in mysql, estrapola alcuni dati, li impacchetta e ogni riga del db diventa un oggetto di un file xml così strutturato:

    codice:
    <segnalino Codice="TA" Citta="Ganimede" Indirizzo="Rumingstrasse 74" Lat="40" Lng="32" Ticket="2" Appl="AAA" Sub_App="CCC" Priorita_max="0"/>
    da qui dovrei costruire una lista di tipo "select" che mi raggruppa tutti i valori di "codice" e, una volta che seleziono il codice, mi deve far qualcosa.
    ma questo magari lo vedrò dopo.

    come faccio a costruire questa "select"?

  2. #2
    Se ho capito bene, parti da qui: http://php.net/manual/en/function.si...-load-file.php e vedi come si analizza l'xml con xpath.
    Promuovi il tuo business su PartnerTip

    Condividi informazioni sulle città del mondo su KooKooZa!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    65
    no, io i dati li passo da una pagina php a una pagina html con codice javascript, tramite un file xml che viene "impacchettato" e "spacchettato"...

    e nella pagina html posso usare solo javascript, sennò con php ero a cavallo!

  4. #4
    Se usi JQuery e' molto facile e veloce scrivere un parser XML fatto apposta per la struttura del tuo documento XML.

    Potresti ad esempio fare qualcosa del genere:

    Codice PHP:
    var PARSER = {
      
    getCodice: function (row) {
        return $(
    row).attr('Codice');
      }
    }

    $.
    get ('url/alla/pagina/php/che/genera/xml', function(data) {
      $(
    data).find('segnalino').each(function() {
        var 
    codice PARSER.getCodice (this);
      });
    }); 
    L'ho scritto velocemente senza provare, ma questa e' l'idea.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    65
    in realtà riesco già tranquillamente a "riparsarlo", tramite questa funzione:

    codice:
    downloadUrl("filephp.php", function(data)
    {
            var xml = parseXml(data);
        var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++)
                    {
            var code = markers[i].getAttribute("code");
            var address = markers[i].getAttribute("address");
            var place = markers[i].getAttribute("city");
            var nation = markers[i].getAttribute("nation");
            var point = new google.maps.LatLng
                            (
                                    parseFloat(markers[i].getAttribute("Lat")),
                                    parseFloat(markers[i].getAttribute("Lng"))
                            );
            var type = markers[i].getAttribute("type");
            var app = markers[i].getAttribute("app");
            var sub_app = markers[i].getAttribute("sub_app");
            var baloon = <html>code<html/>
            var marker = new google.maps.Marker(
                    {
                            map: map,
                            position : point
                    });
    
                    switch (type)
                    {
                            case '0':
                                    marker.icon = "http://www.google.com/mapfiles/marker_white.png";
                                    break;
    
                            case '1':
                                    marker.icon ="http://www.google.com/mapfiles/marker_yellow.png";
                                    break;
    
                            case '2':
                                    marker.icon ="http://www.google.com/mapfiles/marker.png";
                                    break;
    
                            case '-1' :
                                    marker.icon = "http://www.google.com/mapfiles/marker_green.png";
                                    break;
                    }
                    bindInfoWindow(marker, map, infoWindow, baloon);
                    }
    
    });
    ora: come faccio a prendere tutti i vari valori di "codice" oppure "nazione" ed usarli per popolare le "option" di una select?

    vorrei fare una cosa tipo questo sito:

    http://dev.hillsborough.wateratlas.usf.edu/datamapper/

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    65
    buongiorno a tutti, son tornato dopo una breve vacanzuola, ma il problema ahimè non l'ho ancora risolto.
    qualcuno ha qualche idea?

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.