2012-04-12 10 views
2

Ich entwickle Video Player, in dem XML meine Wiedergabeliste ist. Hier ist der Code:Ersetzen Sie alte Inhalte durch neue in PHP

$crxml=file_get_contents('http://spoti.com/latest.xml/?lang=en');  
    $rss=new SimpleXMLElement($crxml); 
    $playlistitem=1; 
foreach($rss->channel->item as $post) 

if($playlistitem<=8) 

echo '<ul>'; 
echo '<li class="xtitle">'.$post->title.'</li>'; 
echo '<li class="xdesc">'.$post->description.'</li>';  
$dc=$post->children('http://search.yahoo.com/mrss/'); 
echo '<li class="xthumb">'.$dc->thumbnail->attributes()->url.'</li>'; 
echo '<li class="xpreview">'.$dc->thumbnail->attributes()->url.'</li>'; 
echo '<li class="xsources_mp4">'.$dc->content->attributes()->url.'</li>'; 
$dc->content->attributes()->url=preg_replace('/.mp4/','.webm',$dc->content-attributes()->url); 
echo '<li class="xsources_webm">'.$dc->content->attributes()->url.'</li>'; 
echo '</ul>'; 
$playlistitem++; 

ich den alten Inhalt mit neuen Inhalten ersetzen möchten, wenn Benutzer klicken Sie auf Sprache alle Eingaben ersetzen, mit neuen Einträgen

+1

was nicht funktioniert –

+3

Sofern Sie eine traditionelle Rundreise Form Einreichungssystem tun, werden Sie einige Javascript müssen die Tag-Inhalte neu zu schreiben. –

+1

Nun, was funktioniert nicht - und was wollen Sie wirklich als Ergebnis haben? Wie die Sprache austauschen und die alten Linien verschwinden? –

Antwort

0

Ein Beispiel

if(isset($_POST["lang"])) 
    { 
     $lang = $_POST["lang"]; 
    } else { 
     $lang = "eng"; 
    } 
$crxml=file_get_contents('http://spoti.com/latest.xml/?lang='.$lang);  
$rss=new SimpleXMLElement($crxml); 
$playlistitem=1; 

foreach($rss->channel->item as $post) { 
    if($playlistitem<=8) { 
     echo '<ul id="playlist">'; 
     echo '<li class="xtitle">'.$post->title.'</li>'; 
     echo '<li class="xdesc">'.$post->description.'</li>';  
     $dc=$post->children('http://search.yahoo.com/mrss/'); 
     echo '<li class="xthumb">'.$dc->thumbnail->attributes()->url.'</li>'; 
     echo '<li class="xpreview">'.$dc->thumbnail->attributes()->url.'</li>'; 
     echo '<li class="xsources_mp4">'.$dc->content->attributes()->url.'</li>'; 
     $dc->content->attributes()->url=preg_replace('/.mp4/','.webm',$dc->content-attributes()->url); 
     echo '<li class="xsources_webm">'.$dc->content->attributes()->url.'</li>'; 
     echo '</ul>'; 
     $playlistitem++; 
    } 
} 

dann in jQuery auf die Seite gibt es eine Auswahlbox mit lanuages ​​#langSelect genannt

$('#langSelect').change(function() { 
    var langSelected = $(this).val(); 

    $("#playlist").load("<?php echo $_SERVER['PHP_SELF']."?uid=".time(); ?> #playlist", {lang: langSelected}); 
}); 

zu debuggen versuchen dies mit:

$('#lang').change(function() { 
    var langSelected = $(this).val(); 
    alert('Selected language: '+langSelected); 
    var url = '<?php echo $_SERVER['PHP_SELF']."?uid=".time(); ?>'; 
    alert('Ajax POST URL is: '+ url); 
    $("#playlist").load(url+" #playlist", {lang: langSelected}, function(response, status, xhr) { 
      alert(status); 
      alert(response); 
     } 
    }); 
}); 
+0

Code ist korrekt aber funktioniert nicht als nichts in der Wiedergabeliste angezeigt wenn ich die Sprache ändere –

+0

Hmmm Kannst du es sehen die Seite laden (durch Firebug/Fiddler)? Ich denke, es könnte sich um ein Cache-Problem handeln, daher könnte es hilfreich sein, der Anfrage-URL die aktuelle Zeit hinzuzufügen. Aktualisierter Code mit einem Zeitstempel –

+0

-Yeah Ich habe die Seite nicht geladen auch passiert nichts, wenn ich die Auswahl der Optionen ändere –

Verwandte Themen