[supersaibal]
Originariamente inviato da Alexsuper1987
Ok ho realizzato il quiz!
I risultati vengono salvati in un file di testo
in questo modo
$risultato=$nickname . $spazio . $punteggio . $spazio ;
$risultati_file="risultati.txt" ;
$fp=fopen($risultati_file,"a+") ;
$fw=fwrite($fp,$risultato) ;
fclose($fp) ;
le mie domande sono 2:
- come faccio a far visualizzare i risultati a capo e non uno accanto all'altro nel file di testo
la seconda è c'è possibilità di far vedere automaticamente la classifica del quiz? [/supersaibal]
allora.. forse dovresti strutturare un filo meglio il file di database se vuoi ottimizzare il tutto..
il mio consiglio è di usare un file .php nel quale registri della variabili e dei conseguenti valori con un paio di finzioncine e un array multidimensionale [parolone, ma non ti spaventare!!]
---struttura file---
<?php
$risultato[0][0]="$nome0";
$risultato[0][1]="$punteggio0";
..etc..
allra array multidimensionalre prchè?? perchè puoi mettere nello stesso campo più informazioni, ovvero in $risultato[$x] hai al primo posto il nick e alse condo il punteggio..
----funzione di scrivi file database---
suppornsndo una var $risultato già strutturata come detto prima
codice:
function scrivi_db($ris)
{
$file=fopen($risultati_file,'w');
fputs($file,"<?php\n");
fputs($file,"echo \"You can't read this file.. SORRY!\";");//comunica che è un file riservato.. cmq nn verrebbe visualizzato nulla!
for ($x=0;$x<sizeof($ris);$x++)
{
echo "\$risultato[$x][0]=\"$ris[$x][0]\";\n";
echo "\$risultato[$x][1]=\"$ris[$x][1]\";\n";
}
fputs($file,"?>");
fclose($file);
}
per avere i dati immagazzinati in un database fatto così ti basterà fare
include "$risultati_file";
e otterrai tutto scritto dentro alla variabile $risultato
---per ordinare la classifica.. altra funzioncina---
una volta incluso il file..
codice:
function ordina()
{
global $risultato;
foreach($risultato as $res)
$sortAux[] = $res[1];
array_multisort($sortAux, SORT_DESC, $risultato);
}
ti trovi nell'array ordinati dal posto 0 con valore di punteggio più alto alll'ultimo posto il valor edi punteggio più basso..
.......................
ultima cosa e poi credo di aver finito, quando hai un nuovo valore da inserire mettiamo $n_nick $n_punti
$risultato[sizeof($risultato)+1][0]=$n_nick;
$risultato[sizeof($risultato)+1][]=$n_punti;
.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,..,.,. ,.,.,
spero essere stato chiaro..
ciao ciao
..IcE..