- Home
- Categorie
- Coding e Sistemistica
- Coding
- Classifica
-
Classifica
Ciao ragazzi! Rompo ancora le scatole
Ho fatto tempo fà uno script con domande e risposte però mi piacerebbe fare una classifica tra gli utenti che si registrano nel mio sito.
Vi posto un pò di codice php ben funzionante
[PHP]$risposta_corretta_domanda1=3;
$risposta_corretta_domanda2=1;
$risposta_corretta_domanda3=4;
$risposta_corretta_domanda4=1;
$frase1=isset($_POST['R1'])?$_POST['R1']:"";
$frase2=isset($_POST['R2'])?$_POST['R2']:"";
$frase3=isset($_POST['R3'])?$_POST['R3']:"";
$frase4=isset($_POST['R4'])?$_POST['R4']:"";
$risultato = ""; // variabile del risultato
if($frase1 == $risposta_corretta_domanda1) {
$risultato++;
echo "<b>Risposta alla domanda 1</b> Il mio nome è: <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase1 == "") echo "<b>Domanda 1</b> Il mio nome è: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 1</b> Il mio nome è: <b><u><i><font color= red>ERRATA!</font></b></u></i><br>";
}
[/PHP]
Allora ditemi se dico bene
Creo nel db id_utente, nome_utente, cognome_utente, id_quiz, punteggio_id_utente, classifica_id_utente
Poi...SELECT $id_utente, $nome_utente, $cognome_utente, $id_quiz, $punteggio_id_utente, $classifica_id_utente...giusto?Grazie!!!
-
Ciao! Allora ho provato a fare così, mi sapete dire gentilmente se ho fatto giusto?
mmmmmmmmmmmmmm
Ho fatto così
Tabella DB "utenti" con questi campi: cognome_utente, nome_utente, tot (che sarebbe il punteggio totale)
Pagina classifica.php
[PHP]
$query=mysql_query("SELECT cognome_utente, nome_utente FROM utenti ORDER BY tot");
$utenti=mysql_num_rows($query);
echo "<table>";
//non devi usare l'array globale $_post
while($utenti=mysql_fetch_array($query)){$cognome_utente=$utenti['cognome_utente'];
$nome_utente=$utenti['nome_utente'];
$tot=$utenti['tot'];
$tot = ($risultato == 1) ? "$risultato punto" : "$risultato punti";echo "<tr>
<td>$cognome_utente</td> <td>$nome_utente</td> <td>Hai totalizzato $tot</td> </tr>";} //fine del while
echo "</table><br><br>";
?>[/PHP]Come faccio ora a collegarmi alla pagina html e l'altra pagina php?
Pagina html
[HTML]<form action="php.php" method="post">
<p><b>4) IL MIO NOME E':</b></p>
<input type="radio" name="R4" value="1">fabrizio</input><br>
<input type="radio" name="R4" value="2">mario</input><br>
<input type="radio" name="R4" value="2">samuele</input><br>
<input type="radio" name="R4" value="4">elia</input><br>
<input type="radio" name="R4" value="5">michela</input><br><br>
<input type="submit" value="Rispondi" />
</form>[/HTML]
Pagina php.php
[PHP]<?php
$risposta_corretta_domanda1=3;
$frase1=isset($_POST['R1'])?$_POST['R1']:"";
$risultato = ""; // variabile del risultato
if($frase1 == $risposta_corretta_domanda1) {
$risultato++;
echo "<b>Risposta alla domanda 1</b> IL mio nome è:<b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase1 == "") echo "<b>Domanda 1</b> Il mio nome è: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 1</b> Il mio nome è: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br>RIPROVA</font><br><br>";
}$tot = ($risultato == 1) ? "$risultato punto" : "$risultato punti";
echo "Hai totalizzato $tot";
?>
[/PHP]
Casinoooo!!!! :):):)
Grazie!
-
Sono arrivato a questo punto ma non mi stampa la classifica...le domande e le risposte funzionano ma non mi dà i dati nella pagina classifica.php
Ho una tabella nel dbper la classifica
CLASSIFICA con id, cognome_utente, nome_utente, tot e punteggio.Questa è la pagina domanda.php
[php]<?php
if(!isset($_SESSION)){session_start ();}
require('config.php');
if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
$default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));
?>
<form action="php.php" method="post">
<p><b></b></p>
<input type="radio" name="R1" value="1"></input><br>
<input type="radio" name="R1" value="2"></input><br>
<input type="radio" name="R1" value="3"></input><br>
<input type="radio" name="R1" value="4"></input><br>
<input type="radio" name="R1" value="5"></input><br><br><p><b></b></p>
<input type="radio" name="R2" value="1"></input><br>
<input type="radio" name="R2" value="2"></input><br>
<input type="radio" name="R2" value="3"></input><br>
<input type="radio" name="R2" value="4"></input><br>
<input type="radio" name="R2" value="5"></input><br><br><p><b></b></p>
<input type="radio" name="R3" value="1"></input><br>
<input type="radio" name="R3" value="2"></input><br>
<input type="radio" name="R3" value="3"></input><br>
<input type="radio" name="R3" value="4"></input><br>
<input type="radio" name="R3" value="5"></input><br><br>
<p><b></b></p>
<input type="radio" name="R4" value="1"></input><br>
<input type="radio" name="R4" value="2"></input><br>
<input type="radio" name="R4" value="2"></input><br>
<input type="radio" name="R4" value="4"></input><br>
<input type="radio" name="R4" value="5"></input><br><br>
<input type="submit" value="Rispondi" />
</form>[/php]
Questa è la pagina php.php (funziona col form ma non trasmette i dati nella pagina classifica.php
[PHP]<?php
if(!isset($_SESSION)){session_start();}
require('config.php');
if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
$default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));
?>
<?php
$db_host = '';
$db_utente = '';
$db_password = '';
$db_nomedb = '';
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);
?>
<?php
$risposta_corretta_domanda1=3;
$risposta_corretta_domanda2=1;
$risposta_corretta_domanda3=4;
$risposta_corretta_domanda4=1;
$frase1=isset($_POST['R1'])?$_POST['R1']:"";
$frase2=isset($_POST['R2'])?$_POST['R2']:"";
$frase3=isset($_POST['R3'])?$_POST['R3']:"";
$frase4=isset($_POST['R4'])?$_POST['R4']:"";
$punteggio = 0; // variabile del risultato
if($frase1 == $risposta_corretta_domanda1) {
$punteggio++;
echo "<b>Risposta alla domanda 1</b> : <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase1 == "") echo "<b>Domanda 1</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 1</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
}if($frase2 == $risposta_corretta_domanda2) {
$punteggio++;
echo "<b>Risposta alla domanda 2</b>: <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase2 == "") echo "<b>Domanda 2</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 2</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
}if($frase3 == $risposta_corretta_domanda3) {
$punteggio++;
echo "<b>Risposta alla domanda 3</b>: <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase3 == "") echo "<b>Domanda 3</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 3</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
}
if($frase4 == $risposta_corretta_domanda4) {
$punteggio++;
echo "<b>Risposta alla domanda 4</b>: <b><u><i><font color= green>ESATTA!</font></b></u></i><br><br>";
} else {
if ($frase4 == "") echo "<b>Domanda 4</b>: <b><u><i>NON HAI RISPOSTO</b></u></i><br><br>";
else echo "<b>Risposta alla domanda 4</b>: <b><u><i><font color= red>ERRATA!</font></b></u></i> <br><br><font color= red>RIPROVA</font><br><br>";
}
$tot = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti";
$punteggio=$_SESSION['punteggio'];
echo "Hai totalizzato $tot";
?>
[/PHP]
Questa è la pagina classifica.php
[PHP]<?php
if(!isset($_SESSION)){session_start ();}
require('config.php');
if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
$default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));?>
<?php
$db_host = '';
$db_utente = '';
$db_password = '';
$db_nomedb = '';
$dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
mysql_select_db($db_nomedb);
?>
<?php
$query=mysql_query("SELECT cognome_utente, nome_utente FROM classifica ORDER BY tot");
$classifica=mysql_num_rows($query);
echo "<table>";
//non devi usare l'array globale $_post
while($classifica=mysql_fetch_array($query)){$cognome_utente=$classifica['cognome_utente'];
$nome_utente=$classifica['nome_utente'];
$tot=$classifica['tot'];
$punteggio=$_SESSION['punteggio'];
$tot = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti";echo "<tr>
<td>$cognome_utente</td> <td>$nome_utente</td> <td>Hai totalizzato $tot</td> </tr>";} //fine del while
echo "</table><br><br>";
?>[/PHP]Domanda.php e php.php funzionano ma classifica.php no...
Grazie infinite!