finalizzazione del progetto

This commit is contained in:
2026-04-10 05:16:11 +02:00
parent 00e81f9da4
commit ba1717cbb6
24 changed files with 1650 additions and 389 deletions
+7 -32
View File
@@ -1,35 +1,10 @@
<?php
$debug = false;
function setDebug($val) {
$debug = $val;
if ($debug) {
echo "db";
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "save-the-island";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
}
$db_test = [
[
'nome' => 's1',
'p1' => 95,
'p2' => 90,
'pt' => 50,
'g' => '24-11-2025'
],
[
'nome' => 's1',
'p1' => 95,
'p2' => 90,
'pt' => 50,
'g' => '24-11-2025'
]
];
$classifica = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function riga($pos, $data) {
$pos++;
$nome = $data['nome'];
$p1 = $data['p1'];
$p2 = $data['p2'];
$pt = $data['pt'];
$g = $data['g'];
echo '<tr><td>'.$pos.'</td><td>'.$nome.'</td><td>'.$p1.'</td><td>'.$p2.'</td><td>'.$pt.'</td><td>'.$g.'</td></tr>';
}
?>
+48
View File
@@ -0,0 +1,48 @@
<?php
/*
database schema:
CREATE TABLE punteggi (
id INT AUTO_INCREMENT PRIMARY KEY,
data_partita DATE NOT NULL,
score1 INT NOT NULL,
score2 INT NOT NULL,
scoreT INT NOT NULL,
nome VARCHAR(100) NOT NULL
);
*/
define('TABLE_NAME', 'punteggi_test'); // Cambia in 'punteggi_test' se necessario
require 'db.php';
/**
* Crea una mappa [ID => Posizione] basata sullo scoreT
* Utile per sapere la posizione di una partita a prescindere dall'ordinamento visivo
*/
function getRankMap() {
global $conn;
$result = $conn->query("SELECT id FROM " . TABLE_NAME . " ORDER BY scoreT DESC");
$orderedIds = array_column($result->fetch_all(MYSQLI_ASSOC), 'id');
// array_flip trasforma [0 => id1, 1 => id2] in [id1 => 0, id2 => 1]
$rankMap = array_flip($orderedIds);
return $rankMap;
}
function getSortedLeaderboardByDate() {
global $conn;
$result = $conn->query("SELECT * FROM " . TABLE_NAME . " ORDER BY data_partita DESC, id DESC");
return $result->fetch_all(MYSQLI_ASSOC);
}
function getSortedLeaderboardByScore() {
global $conn;
$result = $conn->query("SELECT * FROM " . TABLE_NAME . " ORDER BY scoreT DESC");
return $result->fetch_all(MYSQLI_ASSOC);
}
// Altre funzioni di utility se necessarie...
function getTop10byScore() {
global $conn;
$result = $conn->query("SELECT * FROM " . TABLE_NAME . " ORDER BY scoreT DESC LIMIT 10");
return $result->fetch_all(MYSQLI_ASSOC);
}
?>
+15
View File
@@ -0,0 +1,15 @@
<?php
require 'db.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data_partita = $_POST['data_partita'];
$score1 = $_POST['score1'];
$score2 = $_POST['score2'];
$scoreT = $_POST['scoreT'];
$nome = $_POST['nome'];
$stmt = $conn->prepare("INSERT INTO punteggi_test (data_partita, score1, score2, scoreT, nome) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("siiis", $data_partita, $score1, $score2, $scoreT, $nome);
$stmt->execute();
$stmt->close();
}
?>