Classifica

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Codice:
1. nella pagina php.php

//............
$tot = ($risultato == 1) ? "$risultato punto" : "$risultato punti"; 
echo "Hai totalizzato $tot"; 
//.............

ti risulta a monitor (es)

Hai totalizzato 4 punti

oppure

Hai totalizzato 1 punto
Sì, funziona così e perfettamente...
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Pagina php.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 ==//uguale a prima
} 
 
if($frase3 == $risposta_corretta_domanda3) { 
$punteggio++; 
br>";//uguale a prima
} 

if($frase4 == $risposta_corretta_domanda4) { 
$punteggio++; 
echo "<b>Risposta alla domanda 4";//uguale a prima
} 

$tot = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti"; 
$punteggio=$_SESSION['punteggio']; 
echo "Hai totalizzato $tot"; 

?>

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 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 = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti";
$punteggio=$_SESSION['punteggio'];  


echo "<tr> 
    
    <td>$cognome_utente</td> 
    <td>$nome_utente</td> 
     <td>Hai totalizzato $tot</td>
    
    </tr>";  
} //fine del while 
echo "</table><br><br>";   
?>
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
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>1) :</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>2) :</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>3) :</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>4) :</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>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
Sì, funziona così e perfettamente...
allora sembrerebbe che tu trasmetta il valore
quindi (a parte che devi mettere prima la lettura della sessione) dovrebbe funziarti anche in classifica.php


PHP:
//............
$tot=$utenti['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>";    
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
volevo sapere, stai postando le pagine tagliuzzate o intere?
perche ad esempio nella pagina domnda.php, nella parte di php scrivi

<?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"));
?>

cosa c'è o a che ti serve quel $default=mysql eccetera?
analogo discorso per le altre (anche in php.php c'è quella select)
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Stesso risultato aimè

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 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'];
$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>";   
?>

Mi domando...perchè se $tot viene stampato in una pagina non viene stampata nell'altra? Mistero??? :confused:
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
No Borgo, quella parte non è tagliata...ma è quella che compromette il tutto?
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
prova a scrivere l'if in maniera estesa

PHP:
//..........
if($punteggio == 1){
	$tot="$punteggio punto";
}else{
	$tot="$punteggio punti";
}
//e poi la tabella...........

ed eventualmente metti dei var_dump per verificare i valori
poi per oggi basta, ci sentiamo domattina
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ho un attimino di confusione riguardo una cosa ieri notte:

nel db ho una tabella "utenti" con cognome_utente, nome_utente, pass, mail (avevo anche punteggio e tot) solo che mi andava in palla quando quanche volta mi loggavo.

Ne devo creare un'altra? "classifica" con campi tot e punteggio senza cognome_utente e nome_utente perchè questi ultimi due sono nell'altra tabella?
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ora mi dà due avvertimenti in classifica.php che ieri non mi dava :incazz:

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 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'];
$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>";   
?>

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\HostingSpaces\wwwroot\classifica.php on line 31

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wwwroot\classifica.php on line 35

Sarebbero queste:
$utenti=mysql_num_rows($query);
while($utenti=mysql_fetch_array($query)){
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao, da quello che ho capito hai tolto dalla tabella utenti il campo tot, se è così e nella query hai lasciato ORDER BY tot per quello ti da errore
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ne devo creare un'altra? "classifica" con campi tot e punteggio senza cognome_utente e nome_utente perchè questi ultimi due sono nell'altra tabella?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Direi che questa discussione sta diventando abbastanza confusionaria. Allora, ripeti da capo che cosa devi fare, posta TUTTI i file che hai già scritto e segnala gli errori riscontrati, inoltre posta anche la struttura del database e un record di esempio per ogni tabella, altrimenti così non si va da nessuna parte...
 

Bizio2009

Utente Attivo
12 Giu 2009
310
0
0
Ciao! Grazie Borgo, grazie Ale! :)

Ho due tabelle nel db:
UTENTI con id, cognome_utente, nome_utente, pass e mail (funziona)
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>

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"; 

?>

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>";   
?>

Grazie infinite di nuovo a tutti e due!
 
Ultima modifica:

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Perchè ripetere due volte le colonne cognome_utente e nome_utente quando basterebbe una foreign key verso la tabella UTENTI?
 
Discussioni simili
Autore Titolo Forum Risposte Data
Tommy03 Algoritmo classifica SQL MySQL 0
M [PHP] Elenco con "classifica" delle informazioni nel db PHP 3
cristoforo58 Classifica PHP MySQL PHP 2
primis Classifica Facebook Offerte e Richieste di Lavoro e/o Collaborazione 0
R Creare una classifica con Access 2007 Database 1
M Aggiornare valori in mysql (classifica) PHP 8
E Classifica MySQL 7
Web Designer Classifica 2012 dei migliori antivirus in commercio Sicurezza e Virus 9
P Script per classifica Tipster CMS (Content Management System) 2
G Script per Classifica PHP 2
cosov Estrarre valori unici per classifica Classic ASP 4
M php script per classifica PHP 2
O classifica parimerito Classic ASP 1
N Problema Classifica gioco Flash 1
D Chi mi può aiutare nel fare 1 classifica? PHP 1
S Classifica Gioco Flash 2
A Assegnare rango ad una classifica in MS Access MS Access 1
A Da prompt java a classifica Javascript 1
M Promuovi il tuo sito nella nuova classifica della SABA Top100 SEO e Posizionamento 0
N Creazione classifica per gioco HTML e CSS 1
L classifica amministrative... provinciali... Leggi, Normative e Fisco 0
G votare una classifica Classic ASP 2
C Sito in classifica Supporto Mr.Webmaster 2
G votare una classifica HTML e CSS 3
peppoweb Classifica annuale delle 50 persone più importanti e influenti del Web. Discussioni Varie 3

Discussioni simili