Php Listeleme Hakkında
Merhaba,
Bir fiyat tablom var. Ve bu tabloda fiyat ve tarih yer almakta.
Örnek;
Fiyat : 1200
Tarih : 2022-05-09 10:00
Fiyat : 1100
Tarih : 2022-05-09 11:00
Fiyat : 1350
Tarih : 2022-05-09 12:00
İsteğim şu ki; aynı tarihli olan fiyatlar tek bir tarih altında toplayıp, saatlerine göre listelemek
// Listeleme
* 2022-05-09
-- 1350 (12:00)
-- 1100 (11:00)
-- 1200 (10:00)
Desteğiniz için teşekkür ederim
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
const veri = [
{
dateTime: "2022-05-09 10:00",
price: 1200
},
{
dateTime: "2022-05-09 11:00",
price: 1100
},
{
dateTime: "2022-05-09 12:00",
price: 1350
},
{
dateTime: "2022-02-24 19:21",
price: 800
},
{
dateTime: "2022-02-24 09:21",
price: 1800
},
]
function duzenle(data){
function dt(string){
const t = string.match(/[0-9]{2}:[0-9]{2}/ig);
const d = string.match(/[0-9]{4}(-[0-9]{2})*/ig);
return {time: t[0],date: d[0]}
}
var data_ = []
data.forEach(e => {
var dates= dt(e.dateTime), feature = `${e.price} (${dates.time})`;
if(typeof data_[dates.date] == 'undefined') data_[dates.date] = [feature];
else data_[dates.date].push(feature)
})
return data_;
}
console.log(duzenle(veri))
bu kodu php uyarlayarak aynı sonucu alabilirsin
Tabloya istediğim şu sıralamayı yapmak, bunu nasıl gruplandırabilirim;
18 Mayıs 2022
- 1.400 (13:00)
- 1.300 (12:00)
- 1.200 (11:00)
17 Mayıs 2022
- 2.999 (23:00)
- 1.999 (20:00)
- 999 (18:00)
Tablo adı : fiyatlar
<table>
<thead>
<th>Fiyat</th>
<th>Tarih</th>
</thead>
<tbody>
<tr>
<td>1.200</td>
<td>2022-05-18 11:00</td>
</tr>
<tr>
<td>1.300</td>
<td>2022-05-18 12:00</td>
</tr>
<tr>
<td>1.400</td>
<td>2022-05-18 13:00</td>
</tr>
<tr>
<td>999</td>
<td>2022-05-17 18:00</td>
</tr>
<tr>
<td>2.999</td>
<td>2022-05-17 23:00</td>
</tr>
<tr>
<td>1.999</td>
<td>2022-05-17 20:00</td>
</tr>
</tbody>
</table>