diff --git a/admin.php b/admin.php index 04e8690..335077d 100644 --- a/admin.php +++ b/admin.php @@ -187,7 +187,7 @@ $requests_today = $stmt->fetchColumn();
-
+
Top 5 Artistas Más Pedidos
@@ -195,7 +195,7 @@ $requests_today = $stmt->fetchColumn();
-
+
Top 5 Canciones Más Pedidas
@@ -203,6 +203,14 @@ $requests_today = $stmt->fetchColumn();
+
+
+
Ranking de Oyentes (Top 5)
+
+

Cargando ranking...

+
+
+
@@ -589,15 +597,41 @@ $requests_today = $stmt->fetchColumn(); } } + async function fetchTopRequesters() { + const requestersDiv = document.getElementById('top-requesters'); + try { + const response = await fetch('api/get_top_requesters.php'); + const data = await response.json(); + + if (data.success) { + if (data.data.length === 0) { + requestersDiv.innerHTML = '

Sin datos aún

'; + } else { + requestersDiv.innerHTML = '
' + + data.data.map((item, index) => ` +
+ ${index + 1}. ${item.requester} + ${item.total_requests} peticiones +
+ `).join('') + '
'; + } + } + } catch (error) { + console.error('Error fetching top requesters:', error); + } + } + fetchRequests(); fetchStats(); updateNowPlaying(); fetchAnnouncements(); + fetchTopRequesters(); setInterval(() => { fetchRequests(); fetchStats(); updateNowPlaying(); fetchAnnouncements(); + fetchTopRequesters(); }, 15000); diff --git a/api/get_top_requesters.php b/api/get_top_requesters.php new file mode 100644 index 0000000..4e74a5f --- /dev/null +++ b/api/get_top_requesters.php @@ -0,0 +1,27 @@ +query(" + SELECT requester, COUNT(*) as total_requests + FROM song_requests + WHERE requester IS NOT NULL AND requester != '' AND requester != 'Anónimo' + GROUP BY requester + ORDER BY total_requests DESC + LIMIT 5 + "); + $top_requesters = $stmt->fetchAll(PDO::FETCH_ASSOC); + + echo json_encode([ + 'success' => true, + 'data' => $top_requesters + ]); +} catch (Exception $e) { + echo json_encode([ + 'success' => false, + 'error' => $e->getMessage() + ]); +}