tutorials.de Buch-Aktion 05/2012
Seite 1 von 5 1234 ... LetzteLetzte
Like Tree7Danke
ERLEDIGT
JA
ANTWORTEN
68
ZUGRIFFE
1634
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Eclipse16V Eclipse16V ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Beiträge
    90
    Hallo,

    vielleicht hat der ein oder andere es schon in meinem letzten Thema schon gelesen und habe ein Problem mit PHP & Formularen.

    Folgendes Problem habe ich:

    Ich habe 2 Seiten (index.php (Hauptseite) und genxml.php (Wo der XML Code erstellt wird)) und möchte nun eine Möglichkeit schaffen das man per URL oder Formular (z.B. index.php?year=2010 ) auf der index.php ein Jahr auswählen kann welches dann in der genxml.php angewendet wird.
    Wie mache ich das?
    In meiner index.php gibt es eine Zeile in der die genxml.php so aufgrufen wird:
    PHP-Code:
    ....

    });
            
    downloadUrl("/map/genxml.php", function(data
            {

    .... 
    Kann mir dazu vielleicht jemand helfen?

    Danke
     

  2. #2
    threadi threadi ist offline Mitglied Brokat
    Registriert seit
    Dec 2006
    Ort
    Leipzig
    Beiträge
    478
    Wie sieht die Funktion downloadUrl() aus?
     

  3. #3
    Eclipse16V Eclipse16V ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Beiträge
    90
    PHP-Code:
    <script type="text/javascript">
        
    //<![CDATA[

    ......

        function 
    initialize() 
        {
            var 
    query location.search.substring(1);
            var 
    pairs query.split("&");
            for (var 
    i=0i<pairs.lengthi++) 
            {
                var 
    pos pairs[i].indexOf("=");
                var 
    argname pairs[i].substring(0,pos).toLowerCase();
                var 
    value pairs[i].substring(pos+1).toLowerCase();
                if (
    argname == "lat"
                {
                    
    lat parseFloat(value);
                }
                if (
    argname == "lng"
                {
                    
    lng parseFloat(value);
                }
                if (
    argname == "zoom"
                {
                    
    zoom parseInt(value);
                }
                if (
    argname == "type"
                {
                    if (
    value == "m") {maptype google.maps.MapTypeId.ROADMAP;}
                    if (
    value == "k") {maptype google.maps.MapTypeId.SATELLITE;}
                    if (
    value == "h") {maptype google.maps.MapTypeId.HYBRID;}
                    if (
    value == "t") {maptype google.maps.MapTypeId.TERRAIN;}
                }
            }
            var 
    myOptions 
            {
                
    zoomzoom,
                
    center: new google.maps.LatLng(lat,lng),
                
    mapTypeIdmaptype,
                
    scaleControltrue
            
    }
            
    map = new google.maps.Map(document.getElementById("map"), myOptions);
            
    makeLink();
            
    google.maps.event.addListener(map, \'maptypeid_changed\', makeLink);
            google.maps.event.addListener(map, \'center_changed\', makeLink);
            google.maps.event.addListener(map, \'bounds_changed\', makeLink);
            google.maps.event.addListener(map, \'zoom_changed\', makeLink);
            google.maps.event.addListener(map, \'click\', function() 
            {
                infowindow.close();
            });
            downloadUrl("/map/torn_genxml.php", function(data) 
            {
                var xml = data.responseXML;
                var markers = xml.documentElement.getElementsByTagName("marker");
                for (var i = 0; i < markers.length; i++) 
                {
                    var zip = markers[i].getAttribute("zip");
                    var city = markers[i].getAttribute("city");
                    var bundesland = markers[i].getAttribute("bundesland");
                    var country = markers[i].getAttribute("country");
                    var uhrzeit = markers[i].getAttribute("uhrzeit");
                    var landnutzung = markers[i].getAttribute("landnutzung");
                    var intensitaet = markers[i].getAttribute("intensitaet");
                    var art = markers[i].getAttribute("art");
                    var typ = markers[i].getAttribute("typ");
                    var urls = markers[i].getAttribute("urls");
                    var year = markers[i].getAttribute("year");
                    var month = markers[i].getAttribute("month");
                    var day = markers[i].getAttribute("day");
                    var lat = markers[i].getAttribute("lat");
                    var lng = markers[i].getAttribute("lng");
                    var point = new google.maps.LatLng(
                        parseFloat(markers[i].getAttribute("lat")),
                        parseFloat(markers[i].getAttribute("lng")));
                    var html = "<div class=\'infowindow\'><strong>" + city + " " + year + "</strong> <br/>Ort: " + zip + "" + city + " / " + bundesland + " (" + country + ")<br>Datum: " + day + "." + month + "." + year + "<br>Zeitpunkt: " + uhrzeit + "<br>Intensit&auml;t: " + intensitaet + "<br>Art: " + art + "<br><a href=\'" + urls + "\' target=\'_blank\'>... mehr Infos</a></div>";
                    var type = markers[i].getAttribute("type");
                    var marker = createMarker(point,city,html,type);
                }
                show("tornado");
                show("tornadof0");
                show("tornadof1");
                show("tornadof2");
                show("tornadof3");
                show("tornadof4");
                show("tornadof5");
                show("funnelcloud");
                show("sturmboe");
                hide("unbekannt");
                makeSidebar();
          });
        }

    ....

        //]]>
    </script> 
     

  4. #4
    Avatar von Starfox2007
    Starfox2007 Starfox2007 ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    87
    Du übergibst die Daten per Formular oder per URL und bei der entsprechenden Seite hohlst du dir die Daten wieder mit:

    Wenn die URL so aussieht index.php?year=2010 wäre der Aufruf so:

    PHP-Code:
    $jahr $_GET["year"]; 
    um die Daten wieder in eine Variable zu speichern.

    bei einem Formular so:

    PHP-Code:
    $jahr $_POST["year"]; 
    PHP-Code:
    <form action="index.php" method="post">
    <
    select name="year" id="year">
    <
    option value="2010">2010</option>
    </
    select>
     <
    input type="submit" />
    </
    form
    Geändert von Starfox2007 (25.11.11 um 20:24 Uhr)
     

  5. #5
    Eclipse16V Eclipse16V ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Beiträge
    90
    Danke für die Antwort aber genau das habe ich auch schon gemacht und es hat nicht geklappt. Auf einer Testseite ging es nur da wo ich es brauche ging es nicht. Hatte es mit einem Formular und der POST Funktion gemacht.
     

  6. #6
    Avatar von Lime
    Lime Lime ist gerade online frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    373
    Die Alternative wäre eine GET-Übergabe....

    Du könntest das abhängig machen von der ausgewählten Option...
    Dass durch eine Veränderung beim SELECT einfach durch Javascript der Link abgeändert wird.

    Wie genau, kann ich jetzt auf die schnelle - und um die Uhrzeit - nicht erklären... Probieren geht bekanntlich über Studieren!

    €: Wieso gibst du der Funktion downloadUrl nicht einfach einen zusätzlichen Parameter, nämlich das Jahr?

    Grüße
     

  7. #7
    Eclipse16V Eclipse16V ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Beiträge
    90
    Habe ich auch schon probiert.
    Ging auch nicht.
    Deshalb frage ich ja auch hier ob vielleicht jemand weiter weiß.
    Ich zumindest gebe es bald auf.
     

  8. #8
    Avatar von Lime
    Lime Lime ist gerade online frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    373
    Das ist Javascript, oder?

    Dann könntest du die URL einfach per ajax aufrufen und dort mit POST Daten mitschicken!
     

  9. #9
    Eclipse16V Eclipse16V ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Beiträge
    90
    Ja aber auch nur der Teil von Google Map.
    Den Rest habe und möchte ich gerne in PHP machen.
    Nur wie übergebe ich den Wert an die eine Datei?
     

  10. #10
    Kyôya Kyôya ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Ort
    Würzburg
    Beiträge
    62
    Hi,

    mal ganz blöd gefragt: was macht die genxml.php eigentlich?
     
    Oracle Certified MySQL 5 Professional Developer
    Zend Certified PHP 5.3 Engineer

    Vorträge, Webinare, etc im Mayflower - Blog

  11. #11
    Eclipse16V Eclipse16V ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Beiträge
    90
    Sie erzeugt aus einer MySQL DB eine XML Datei mit Marker die an auf einer Google Map angezeigt werden.
     

  12. #12
    Kyôya Kyôya ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Ort
    Würzburg
    Beiträge
    62
    Ok, du hast uns noch nicht gezeigt, wie die JS Funktion "downloadUrl" aussieht. In deinem Beispiel oben ist ein Aufruf der Funktion zusehen.
     
    Oracle Certified MySQL 5 Professional Developer
    Zend Certified PHP 5.3 Engineer

    Vorträge, Webinare, etc im Mayflower - Blog

  13. #13
    Kyôya Kyôya ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Ort
    Würzburg
    Beiträge
    62
    Postest du bitte mal die Definition der "downloadUrl".
    Die müßte dem folgenden Schema entsprechen:
    Code :
    1
    2
    3
    4
    
    function downloadUrl(...)
    {
        ...
    }
     
    Oracle Certified MySQL 5 Professional Developer
    Zend Certified PHP 5.3 Engineer

    Vorträge, Webinare, etc im Mayflower - Blog

  14. #14
    Eclipse16V Eclipse16V ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Beiträge
    90
    PHP-Code:
    <?php

    function parseToXML($htmlStr

        
    $xmlStr=str_replace('<','&lt;',$htmlStr); 
        
    $xmlStr=str_replace('>','&gt;',$xmlStr); 
        
    $xmlStr=str_replace('"','&quot;',$xmlStr); 
        
    $xmlStr=str_replace("'",''',$xmlStr); 
        
    $xmlStr=str_replace("&",'&amp;',$xmlStr); 
        return 
    $xmlStr


    $connection=mysql_connect ($localhost$username$password);
    if (!
    $connection
    {
        die(
    'Not connected : ' mysql_error());
    }

    $db_selected mysql_select_db($database$connection);
    if (!
    $db_selected
    {
        die (
    'Can\'t use db : ' mysql_error());
    }

    $query "SELECT * FROM markers WHERE 1";
    $result mysql_query($query);
    if (!
    $result
    {
        die(
    'Invalid query: ' mysql_error());
    }

    header("Content-type: text/xml");

    echo 
    '<markers>';

    while (
    $row = @mysql_fetch_assoc($result))
    {
        echo 
    '<marker ';
        echo 
    'year="' parseToXML($row['year']) . '" ';
        echo 
    'month="' parseToXML($row['month']) . '" ';
        echo 
    'day="' parseToXML($row['day']) . '" ';
        echo 
    'zip="' parseToXML($row['zip']) . '" ';
        echo 
    'city="' parseToXML($row['city']) . '" ';
        echo 
    'bundesland="' parseToXML($row['bundesland']) . '" ';
        echo 
    'country="' parseToXML($row['country']) . '" ';
        echo 
    'uhrzeit="' parseToXML($row['uhrzeit']) . '" ';
        echo 
    'landnutzung="' parseToXML($row['landnutzung']) . '" ';
        echo 
    'intensitaet="' parseToXML($row['intensitaet']) . '" ';
        echo 
    'art="' parseToXML($row['art']) . '" ';
        echo 
    'typ="' parseToXML($row['typ']) . '" ';
        echo 
    'urls="' parseToXML($row['urls']) . '" ';
        echo 
    'lat="' $row['lat'] . '" ';
        echo 
    'lng="' $row['lng'] . '" ';
        echo 
    'type="' $row['type'] . '" ';
        echo 
    '/>';
    }

    echo 
    '</markers>';

    ?>
     

  15. #15
    Kyôya Kyôya ist offline Mitglied Silber
    Registriert seit
    Nov 2011
    Ort
    Würzburg
    Beiträge
    62
    Nicht den Inhalt der genxml.php. Mich interessiert die Funktionsweise der JavaScript Funktion downloadUrl.
     
    Oracle Certified MySQL 5 Professional Developer
    Zend Certified PHP 5.3 Engineer

    Vorträge, Webinare, etc im Mayflower - Blog

Ähnliche Themen

  1. Daten an PHP übergeben
    Von live4music im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 06.04.11, 10:25
  2. Mit VB.net Daten an ein Programm übergeben
    Von atlantyz im Forum .NET Café
    Antworten: 4
    Letzter Beitrag: 29.06.08, 11:38
  3. Daten an PDF übergeben
    Von crotalus im Forum PHP
    Antworten: 6
    Letzter Beitrag: 14.11.06, 22:41
  4. Daten übergeben
    Von cheergirly1984 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 21.05.05, 09:13
  5. daten übergeben
    Von Wolf of Doom im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 18.06.03, 11:38