-1

PHP と YouTube Data API を使用して、すべての動画と動画情報を MySQL データベースに入れようとしています。機能を利用していsimplexml_load_fileます。私はそれを働かせることができません。何の成果もあげません。(非推奨の PHP/MySQL をお許しください。) コードは次のとおりです。

<?php
mysql_connect('localhost', '*NOT NEEDED*', '*NOT NEEDED*');
mysql_select_db('demoScript');
mysql_query("TRUNCATE videos");
$url = "http://gdata.youtube.com/feeds/api/users/demoScript/uploads";
$xml = simplexml_load_file($url);
$targeti = substr_count($url, "<entry>");
for($i=0; $i<$targeti; $i++){
    $title = $xml->entry->title;
    $id = $xml->entry->id;
    $date = $xml->entry->published;
    $views = $xml->entry->yt['viewCount'];
    $rating = $xml->entry->gd['average'];
    $faves = $xml->entry->yt['favoriteCount'];
    $desc = $xml->entry->content;

    mysql_query("INSERT INTO `videos` VALUES ('".$id."','".$title."','".$date."','".$views."','".$rating."','".$faves."','".$desc."')");
}
?>
<!DOCTYPE html>
<html>
<head>
    <link rel='stylesheet' href='css/bootstrap.css' />
    <link rel='stylesheet' href='css/bootstrap-responsive.css' />
</head>
<body>
    <ul class='nav nav-tabs'>
        <div class='brand' style='float: right; margin-right: 10px; margin-top: 8px; font-size: 20px;'>demoScript</div>
        <li class='active'><a href='#'>Home</a></li>
        <li><a href='#'>About</a></li>
        <li><a href='#'>Videos</a></li>
        <li><a href='#'>Contact</a></li>        
    </ul>
    <div class='hero-unit'>
        <center><h2>Most Viewed Video</h2></center><p />
    </div>
    <script src='js/bootstrap.js'></script>
</body>

4

1 に答える 1

1

ループで $i を使用するのを忘れました。次のようなこともできます$xml->entry[$i];が、 simplexml_load_file はすでにオブジェクトを提供しています。次を使用して、その子をループできます。

foreach($xml->nameOfParentTag as $entry){
   $title = $entry->title;
   $id = $entry->id;
   $date = $entry->published;
   $views = $entry->yt['viewCount'];
   $rating = $entry->gd['average'];
   $faves = $entry->yt['favoriteCount'];
   $desc = $entry->content;
}

部分文字列カウンターを使用する代わりに。

于 2013-07-15T19:34:32.103 に答える