- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come far apparire online solo una volta un utente piuttosto che 4 volte
-
Come far apparire online solo una volta un utente piuttosto che 4 volte
Ciao a tutti oggi sono alle prese con questa pagina online.php:
</SPAN>[php]
<html>
<head>
<title>Persone online</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function apri(nick_ut)
{
window.open("profilo.php?nick=" + nick_ut,nick_ut,"width=500, height=280, left=200");
}
</script>
</head><body bgcolor="#E7E9FA">
<?
include("config.php");$ar_online=file($file_online);
$dim=count($ar_online);for ($i=0;$i<$dim;$i++)
{
$ut_online=chop($ar_online*);
$utente=explode("|",$ut_online);
$nick_ut=$utente[0];
$data=$utente[1];
$orario=$utente[2];$parti_data=explode("/",$data);
$giorno=$parti_data[0];
$mese=$parti_data[1];
$anno=$parti_data[2];$parti_orario=explode(":",$orario);
$ora=$parti_orario[0];
$minuti=$parti_orario[1];
$secondi=$parti_orario[2];$ts=mktime($ora,$minuti,$secondi,$mese,$giorno,$anno);
$diff=time()-$ts;
$min_trascorsi=$diff/60;
if ($min_trascorsi<$min_online)
{
$array_on[]=$nick_ut;
}
}
$ar_unico=array_unique($array_on);
$dim_unico=count($ar_unico);echo "<font face="Verdana" size="1">Online: ";
for($i=0;$i<count( $array_on);$i++)
{
echo $array_on*. ", ";
}
?></body>
</html>[/php]
praticamente a video mi compaiono i nomi degli utenti che negli ultimi 60 secondi hanno scritto un messaggio, quindi se un utente mi scirve 4 messaggi a video mi compare 4 volte il suo nome come faccio perchè piuttosto che 4 volte venga messo solo una volta il suon nome? spero di essere stato più chiaro possibile, e ringrazio chi mi aiuterà!
mi è stato consigliato di usare un array multidimensionale ma non so come fare, spero mi aiutiate!
-
Devi usare l'array $ar_unico che contiene già i valori come servono a te
-
@Gorka said:
Devi usare l'array $ar_unico che contiene già i valori come servono a te
ok ma lo uso già non hai visto la pagina e il codice che ho già postato?:?
-
Nell'ultimo ciclo
[php]echo "<font face="Verdana" size="1">Online: ";
for($i=0;$i<count( $array_on);$i++)
{
echo $array_on*. ", ";
} [/php]usi l'array $array_on
Secondo me devi sostituirlo con $ar_unico, quindi :[php]echo "<font face="Verdana" size="1">Online: ";
for($i=0;$i<$dim_unico;$i++)
{
echo $ar_unico*. ", ";
} [/php]
-
@Gorka said:
Nell'ultimo ciclo
[php]echo "<font face="Verdana" size="1">Online: ";
for($i=0;$i<count( $array_on);$i++)
{
echo $array_on*. ", ";
} [/php]usi l'array $array_on
Secondo me devi sostituirlo con $ar_unico, quindi :[php]echo "<font face="Verdana" size="1">Online: ";
for($i=0;$i<$dim_unico;$i++)
{
echo $ar_unico*. ", ";
} [/php]grazie Gorka senza il tuo aiuto non ce l'avrei mai fatta, grazie mille!
-
accidenti pensavo funzionasse e invece non è così...
adesso a video mi appare online solo l'ultimo che nei 60 secondi ha inviato un messaggio
-
Utilizzia DISTICT nella query SELECT
-
la mia chat è solo su fogli di testo non usa database, nessun altro che abbia qualche idea? :bho:
-
proprio nessuno che sappia aiutarmi a risolvere questo enigma?
-
boh è da tanto che cerco di risovere questa cosa ma ad ora ancora non ci sono riuscito qualcuno mi sa aiutare? per favore magari è una cavolata ma non ci riesco, aiutatemi