Ben php kodlamak için yeni ve bir hava durumu API (http://openweathermap.org) bir çağrı tarafından üretilen bir döngü artan bir tarih alma hakkında bir sorgu var, ben PHP curl kullanıyorum XML'i döndüren ve sonra 3 gün için 3 set veri ile döngü yapıyorum, ilk gün geçerli gün ve sonraki iki sonraki 2 sonraki tarihler. php ile bir döngü içinde tarih artırılması
Ben basit yolu bu gibi geçerli tarih kaydedebilir ve daha sonra kod döngüler bu tarih her şey artırmak için olacağını düşündüm:if($numOfItems>0){ // yes, some items were retrieved
foreach($items as $current){ //open loop
?>
<div style="width:33%;float:left;position:relative;padding:2%" class="WeatherSection">
<?php
$myDate = date('d/m/Y');
echo $myDate;
var $day = date('d++');
$day = 'd';
$summary = $current->symbol['name'];
echo "<p>$summary</p>";
?>
</div>
<?php
} //close loop
} //close code
> Ne yazık ki bu işe görünmüyor
? Eminim, daha fazla PHP deneyimi olan birisi için bu basit bir çözümdür, ancak bunun neden işe yaramayacağını anlayamıyorum.
REDAKTE: Sadece tarih istiyorum
$time = time();
echo date('d/m/Y', $time);
$time = strtotime('+1 day', $time);
echo date('d/m/Y', $time);
$time = strtotime('+1 day', $time);
echo date('d/m/Y', $time);
Ama ekran görüntüsüne, döngüler gibi tüm bu tarihlerdeki 3 kez görüntüler ... : Yardımlarınız için teşekkür ederim, ben bu kodu ekleyerek çalıştı Bir kez görüntüleyin, bir sonraki döngü için artırın ve yeni tarihle tekrar görüntüleyin ve bir kez daha görüntüleyin. Bunu yapmanın kolay bir yolu var mı?
EDITED: seçenekler inceledikten sonra, en iyi seçenek, PHP kıvırmak olsa veri toplar yolu olabilir XML tarihini toplamaya çalışırken, ben alamıyorum görünüyor görünüyor 'zaman' içindeki verilere. İşte benim yeni kod:
<?php
$ isteği = // benim API anahtarı eklenir nerede bu StackOverflow'daki
$crl = curl_init(); // creating a curl object
$timeout = 10;
curl_setopt ($crl, CURLOPT_URL,$request);
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
$xml_to_parse = curl_exec($crl);
curl_close($crl); // closing the curl object
$parsed_xml = simplexml_load_string($xml_to_parse);
// traversing the xml nodes to count how many days were retrieved
// ignore the first one (weatherdata)
$items = $parsed_xml->forecast->time;
$numOfItems = count($items);
if($numOfItems>0){ // yes, some items were retrieved
foreach($items as $current){ //open loop
?>
<div style="width:30%;float:left;position:relative;padding:1.5%;margin-top:10px;text-align:center;" class="WeatherSection">
<?php
$dateofweather = strval($current->time['day']); //my attempt to retrieve data from the XML
echo "<p>$dateofweather</p>";
$summary = $current->symbol['name'];
echo "<p>$summary</p>";
$icon = $current->symbol['var'];
echo "<p><img src='http://localhost:8888/images/weathericons/$icon.png'/></p>";
$rain = intval($current->precipitation['value']);
if($rain > 5) { echo "<div class='orange_background'><h5 style='padding:10px'>Very Rainy! Remember to regularly get your roof checked!</h5></div>"; }
?>
</div>
<div style="width:1px;height:300px;float:left;position:relative;padding:0;margin:5px;margin-top:10px;background:#fff;"></div>
<?php
} //close loop
} //close code
>
Bu XML tarih var prosedürel içinde php nesne add function kullanabilirsiniz, ancak ben bu işten verileri yakalar gibi görünüyor olabilir. Veriler ile biter, bunların arasında yer alan sözdiziminden veri alabilirim ancak bu ilk zaman sözdiziminden bu verileri almam mümkün görünmüyor. – Emily
Ah, tamam! XML'i asıl soruya yollayacağım .. :) – Emily
Burada yayınlayamadım ama XML verisinin ekran görüntüsü - http://www.emilyfraser.co.uk/Untitled.jpg – Emily