2016-02-05 2 views
0

В настоящее время я покажу «светильники» спортивной команды на веб-сайте, но со всеми данными, захваченными с другого сайта.Сравнение дат, взятых с API, на сегодняшний день

У меня есть API, который получает все данные, в то числе следующего соперника, дату, удар времени и т.д.

Я отправляю каждый светильник в список, а затем каждый элемент в другие дела.

E.g. Каждое приспособление - <li><div>Date of Fixture</div> <div>Kick off time</div> <div>Home Team</div> <div>Away Team</div></li>

У меня есть каждый день в div: сначала по каждому элементу списка, и у меня есть текущая дата в промежутке.

Я попытался использовать Date.js для структурирования даты и сегодняшней даты в сопоставимом формате, а затем сравнить их друг с другом и показать последнюю, но я не могу сделать это с помощью более чем один элемент списка.

Я хочу добавить «скрытый» класс к каждому элементу списка до сегодняшнего дня.

Вот что у меня до сих пор:

<?php 
$request = "https://www.kimonolabs.com/api/csv/9shgt89o?apikey=-----"; 
$response = file_get_contents($request); 
$results = json_decode($response); 
$currentdate = date("D d M y"); 
echo "<ul>\n\n"; 
$f = fopen("https://www.kimonolabs.com/api/csv/9shgt89o?apikey=-----", "r"); 
while (($line = fgetcsv($f)) !== false) { 
    echo "<li>"; 
    foreach ($line as $cell) { 
     echo "<div>" . htmlspecialchars($cell) . "</div>"; 
    } 
    echo "</li>\n"; 
    } 
fclose($f); 
echo "\n</ul>"; 
echo "<span>" . $currentdate . "</span>" 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'> 
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script> 
<script src="date.js"></script> 
<style> 
body { 
    font-family: 'Open Sans', sans-serif; 
} 

.hidden { 
    display:none; 
} 

ul li div { 
    display:inline-block; 
    padding:6px; 
} 

ul { 
    list-style:none; 
} 

ul li { 
    padding:6px; 
} 
</style> 
<head> 
<script> 
$(document).ready(function(){ 
    $('ul li:nth-child(1)').addClass('hidden'); 
    $('ul li:nth-child(2)').addClass('hidden'); 
    $('ul li div:nth-child(7)').addClass('hidden'); 
    $('ul li div:nth-child(8)').addClass('hidden'); 
    $('span').addClass('date'); 
}); 
var todaytext = $('span').text(); 
var today = Date.parse(todaytext); 
document.write('<p>' + today +'</p>'); 

$('ul li').each(function() { 
    Date.parse(this); 
}); 
var fixturetext = $('ul li:eq(div:first').text(); 
var fixture = Date.parse(fixturetext); 
document.write('<p>' + fixture +'</p>'); 


</script> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
</body> 
</html> 

Я не думаю, что я далек от ответа, но я просто споткнувшись себя в данный момент!

Заранее спасибо.

+0

У вас есть * echo * заявления перед вашей декларацией . Документ должен быть первым в любом документе HTML. – David

+0

В чем же проблема? – David

+0

Привет, Дэвид - это не проблема на данный момент, это всего лишь тестовый документ, чтобы убедиться, что функции работают - это не будет работать. –

ответ

0

То, что должно произойти с несколькими элементами списка, должно идти в цикле. Что-то вроде этого:

$('ul li').each(function() { 
    var d = Date.parse(this); 
    if(d < today) 
     this.hide(); 
}); 

Операторы PHP должны находиться в теле HTML.

+0

Я разбирал дату в div из списка, но, судя по всему, время работает отлично, поэтому это было лишним !! Спасибо за помощь. –

Смежные вопросы