kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: json_decode vs simplexml_load_string

    geschrieben von zitatbox

    das wäre schön,
    aber ich habe verschiedene Datenquellen die mal XML sind und mal JSON
    und die Ergebnisse will ich gerne einheitlich haben.

    habs ja schon fast, komme immerhin auch an die Attribute aus SimpleXML-Objekt dran,
    aber eben nur für "bekannte" Elemente, jetzt fehlt mir noch ein rekrusiver Durchlauf
    um für alle Elemente und deren "Children" eventuelle Attribute direkt als Objekt zu bekommen,
    also über alle Ebenen, denn manche Daten sind auch derb verschactelt,
    das oben ist nur ein einfaches Beispiel

    also ich brauche wohl eine Funktion mit Rekursion
    irgendwie mit
    if($xml_result->hasChildren()) { ... }
    aber ich bekommst nicht hin

    (oder gibts ne besseere Lösung als Rekursion um alle Ebenen durch zu gehen ?)

  • in: Direkte Verarbeitung des Formulars

    geschrieben von zitatbox

    Du muss dem <select> eine ID geben

    <select name="spieltag" id="spieltag">
       <option value="1">Tag 1</option>
       <option value="2">Tag 2</option>
       <option value="3">Tag 3</option>
    </select>


    name="spieltag"
    braucht Du, damit bei "normalem" Formular senden
    in der send.php auch %_POST['spieltag'] ankommen würde

    aber da Du ja mit jQuery sendest braucht man das hier eigentlich nicht

    id="spieltag"
    braucht Du, damit Du per jQuery auf die ID (Selector) Zugreifen kannst
    und dessen Werte (Value oder Text) auslesen kannst ... um diese im Ajax Post Aufruf zu übergeben.

    Wie Du schon richtig erkannt hast, den Wert der aktuell gewählten Option bekommst Du mit:
    $('#spieltag').val();


    also wenn die 2te Option ausgewählt wird, dann bekommst du die Zahl
    2


    Möchtest Du den Text, also Inhalt der aktuell gewählten Option erhalten,
    dann geht dies über den zusätzlichen Selektor “:selected” und die Funktion “text”:
    $('#spieltag:selected').text();

    also wenn die 2te Option ausgewählt wird, dann bekommst du den Text
    Tag 2


    PS: ich kann das auch nicht alles auswendig, ich nutze einfach Google
    in diesem Fall .... https://www.google.de/search?q=jquery+select+option+value

    Man muss nur wissen, was man suchen soll, also die "richtigen" suchbegriffe nehmen :)

    :)
  • in: Direkte Verarbeitung des Formulars

    geschrieben von zitatbox

    hmm, keine Ahnung ...

    ... oha ... du nutzt ja Version: jquery-1.5.min
    ... nimm mal eine aktuellere jQuery Version ... http://code.jquery.com/jquery-1.9.1.min.js

    siehe: http://jquery.com/download/

    PS: jQuery 2.0 does not support Internet Explorer 6, 7, or 8 ... also besser die 1.9.1 Version nehmen.

    aber sollte eigentlich auch mit Version 1.5 funktionieren ?!!? ... hmmm

    hast Du es schonmal mit einem anderen Browser versucht ?

    sonst musst Du Dich bei jQuery oder dem Hersteller Deines Browsers beschweren :wall:

  • in: Direkte Verarbeitung des Formulars

    geschrieben von zitatbox

    nimm als Daten nicht data sonder Dein msg ... Dein Variable-Name !!!

    nicht so
    $("#myFormDiv").empty().fadeIn(2000).html(data);


    sondern so
    $("#myFormDiv").empty().fadeIn(2000).html(msg);


    :xD ... :P .. sorry ...:=) .
  • in: json_decode vs simplexml_load_string

    geschrieben von zitatbox

    hmm, aber auf die XML Datei habe ich keinen Einfluss, da muss ich nehmen was kommt ...

    ich hab mir jetzt eine Funktion gebastelt
    function attributes_to_object($object) { 
    	$attributes = $object->attributes(); 
    	$new_object = new stdClass;
    	if (!empty($attributes)) { 
    		foreach ($attributes as $attr_key => $attr_val) { 
    			$new_object->$attr_key = (string)$attr_val; 
    		}
    		$new_object->content = (string)$object; 
    	}
    	else { 
    		$new_object = (string)$object; 
    	}
    	return $new_object; 
    }



    Aber dazu muss ich das Element kennen, in dem die Attribute sind, hier
    $xml_result->a

    $test_data = array(); 
    foreach($xml_result->a as $aitem) { 
    $test_data[] = attributes_to_object($aitem); 
    }


    ich bräuchte was, mit dem ich egal für welches Ergebnis aus simplexml
    die Attribute in Standard-Objekte umwandeln kann, am besten rekrusiv, also über alle Ebenen

  • in: Direkte Verarbeitung des Formulars

    geschrieben von zitatbox

    versuch mal das .fadeIn() nach vorne zu setzen

    $("#myFormDiv").empty().fadeIn(2000).html(data);


    ... vielleicht ist es ja nur, weil zuerst html() ausgeführt wird und erst danach .fadein()

    also mal andersrum probieren ... :)
  • in: Direkte Verarbeitung des Formulars

    geschrieben von zitatbox

    das load() hat dann nichts mehr mit den gesendeten Daten zu tun,

    entweder Du speicherst die Variablen beim senden in Session und gibst diese dann aus
    oder gibst direkt das Ergebnis beim Senden aus, ohne nochmal .load()

    versuch mal so

    success: function(msg)
                {
                    /* form-div verstecken, seite nachladen & wieder einblenden (2000 ms) */
                    $("#myFormDiv").empty().html(msg).fadeIn(2000);
                }


    und anstatt dem
    $.ajax({  type: "POST", ... ...
    Konstrukt
    kannst Du auch direkt jQuery POST nehemen

    $.post("script/send.php", { "name" : $("#name").val() , "email" : $("#email").val() })
    .done(function(data) {
     $("#myFormDiv").empty().html(data).fadeIn(2000);
    });


    das ist die "Kurzform" für
    $.ajax({  type: "POST", ...  ...


    ist die Datei send.php auch im Ordner script/ ??
  • in: infos von einer webseite fetchen

    geschrieben von zitatbox

    oder mit YQL, dazu muss Dur "Nur" den xpath kennen, also HTML-TAGs und ID oder Klasse

    die YQL Abfrage sieht dann so aus

    select * from html where url="http://www.gameladen.com/goods-506-FarCry3PC.html" and xpath='//ul[@class="priceInfo_rg"]/li[@class="price"]'


    Beispeil in der YQL Console ----> Ergebnis als XML YQL Ergebnis

    Zugriff auf die XML Daten mit PHP über simplexml_load_file
    (Alternativ ist das Ergebnis auch als JSON Format möglich, siehe YQL Console)

  • in: json_decode vs simplexml_load_string

    geschrieben von zitatbox

    Hallo

    Wenn ich die gleichen Daten als XML oder als JSON habe,
    bekomme ich bei Auslesen jeweils unterschiedliche Ergebnisse

    Beispiel-Daten (PHP)
    $daten[0] = '<a href="http://www.google.de" title="Google">Suche bei Google</a>'; 
    $daten[1] = '<a href="http://www.bing.de" title="Bing">Suche bei Bing</a>'; 
    $daten[2] = 'Ein Text ohne Link';


    wenn die Daten als JSON vorliegen und ich Auslese mit json_decode()
    ... Ausgabe mit print_r($json_result)
    stdClass Object
    (
        [a] => Array
            (
                [0] => stdClass Object
                    (
                        [href] => http://www.google.de
                        [title] => Google
                        [content] => Suche bei Google
                    )
    
                [1] => stdClass Object
                    (
                        [href] => http://www.bing.de
                        [title] => Bing
                        [content] => Suche bei Bing
                    )
                [2] => Ein Text ohne Link
    }



    wenn die Daten als XML vorliegen und ich Auslese mit simplexml_load_string()
    ... Ausgabe mit print_r($xml_result)
    SimpleXMLElement Object
    (
        [a] => Array
            (
                [0] => Suche bei Google
                [1] => Suche bei Bing
                [2] => Ein Text ohne Link
            }
    }


    also hier ist mit print_r() die Ausgabe ohne Attribute
    es ist kein Unterschied zu erkennen, ob weitere Attribute vorhanden sind,
    beides ... "Link-Text " und "nur Text" sehen "gleich" aus = nur String

    erst wenn ich Ausgabe direkt für ein [a] Objekt mache
    dann sehe ich die Attribute, aber ohne 'content' wie bei JSON

    print_r($xml_result->a[0])
    SimpleXMLElement Object
    (
        [@attributes] => Array
            (
                [href] => http://www.google.de
                [title] => Google
            )
    )


    jetzt habe ich zwar die Attrubute, aber der "Link-Text" aka 'content' fehlt ...


    FRAGE .... wie baue ich das XML Ergebnis um, damit die Werte nicht in [@attributes] sind
    sondern (so wie bei json_decode) direkt als Objekt vorliegen ?
    ... gerne auch inklusive dem "Link-Text" aka 'content' also dem "nicht-Attribut" ...


Login zum Webhosting ohne Werbung!