Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
* [PHP] Come contare le visite
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
ste_95
Dio maturo
Dio maturo


Registrato: 03/08/07 13:41
Messaggi: 1920
Residenza: Italy

MessaggioInviato: 08 Gen 2008 19:10    Oggetto: * [PHP] Come contare le visite Rispondi citando

Vorrei contare le visite che vengono effettuate a un pezzo nel mio sito, per fare questo avevo in mente di creare una nuova colonna nel db dove vengono memorizzate esse.

Però non so come fare la parte in php...

Qualcuno può aiutarmi?

Grazie a tutti
Top
Profilo Invia messaggio privato HomePage
horus
Macchinista
Macchinista


Registrato: 22/03/05 09:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 09 Gen 2008 08:46    Oggetto: Rispondi citando

Se nella pagina usi già una connessione al db ti conviene farti un file php che poi includerai in tutte le tue pagine dove farai qualcosa tipo (pseudocodice)

Codice:
$query = "update tabella_visite set numero_visite=numero_visite+1";
$connessione->EseguiQuery($query);
Top
Profilo Invia messaggio privato
ste_95
Dio maturo
Dio maturo


Registrato: 03/08/07 13:41
Messaggi: 1920
Residenza: Italy

MessaggioInviato: 09 Gen 2008 13:55    Oggetto: Rispondi citando

Si, allora la situazione per l'inserimento di scritti è così organizzata:

E' possibile inserire articoli, news e megafun, ma la struttura è uguale, ne elenco quella degli articoli:

Nella cartella articoli sono presenti il file index.php, che visualizza il titolo e la descrizione di un articolo (Nel quale poi dovrà venire aggiunto l'interrogazione al campo delle visite nel db), poi il file aggiungi_articolo.php del quale non sto a spiegarvi nulla... E il file visualizza_news.php, che sarà il file che, se richiesto e visualizzato, dovrà aggiungere una visita alla relativa colonna creata nel db per le visite.

Pensando che creerò una nuova colonna nel db chiamata visite.

Quindi includerò in visualizza_news.php lo script:

Codice:
$query = "update visite set visite=visite+1";
$connessione->EseguiQuery($query);


Però c'è un problema, e cioè che a ogni articolo bisognerà conteggiare le visite in modo univoco, creare quindi una nuova colonna visite alla creazione di ogni nuova riga, e fin qui nessun problema. Ma mi pare di capire che lo script dato, grosso modo, valga univocamente per tutti gli articoli, quindi ogni articolo avrà lo stesso numero di visite se io metto il codice nella pagina che visualizza singolarmente le news (visualizza_news.php).

Ho sbagliato qualcosa?
Top
Profilo Invia messaggio privato HomePage
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 09 Gen 2008 18:10    Oggetto: Rispondi citando

fai confusione tra le tabelle e i campi...

magari vuoi aggiungere un campo 'visite' alla tabella dove hai gli articoli, così che ogni volta che qualcuno legge quell'articolo il campo sia incrementato... sì?

allora sarà più tipo

Codice:
$query = "update articoli set visite=visite+1 where numero_articolo=$num";


no? Smile
Top
Profilo Invia messaggio privato HomePage
ste_95
Dio maturo
Dio maturo


Registrato: 03/08/07 13:41
Messaggi: 1920
Residenza: Italy

MessaggioInviato: 09 Gen 2008 19:28    Oggetto: Rispondi citando

Si, hai ragione
Top
Profilo Invia messaggio privato HomePage
ste_95
Dio maturo
Dio maturo


Registrato: 03/08/07 13:41
Messaggi: 1920
Residenza: Italy

MessaggioInviato: 09 Gen 2008 21:13    Oggetto: Rispondi citando

Ora mi restituisce il seguente errore:

Codice:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/softnews/articoli/visualizza_articolo.php on line 28


Questo è il codice della pagina, in rosso la riga errata:

Codice:
<html>
<head>
<style>
.sopra { background: url(http://www.softnews.altervista.org/immagini/sopra.png); width: 800px; height: 20px; }
.mezzo { background: url(http://www.softnews.altervista.org/immagini/meta.png); width: 800px; font-family: Trebuchet MS; font-size: 10px; }
.mezzo table { font-family: Trebuchet MS; font-size: 13px; text-align: center; }
.sotto { background: url(http://www.softnews.altervista.org/immagini/sotto.png); width: 800px; height: 20px; }
body { color: black;  }
a { color: white; text-decoration: none; }
a:hover { color: red; text-decoration: underline; }
</style>
<link rel="stylesheet" media="all" type="text/css" href="http://www.softnews.altervista.org/menu.css" />
<!--[if lte IE 6]>
<link rel="stylesheet" media="all" type="text/css" href="http://www.softnews.altervista.org/menu_ie.css" />
<![endif]-->
</head>
<body>

<div align="center">
<div class="sopra"></div>
<div class="mezzo">
<table>
<tr>
<td>
<?php
include('../menu.php');
include('config.inc.php');
[color=red]queryy=UPDATE articoli SET visite=NULL WHERE numero_articolo=.$row['id'];[/color]
$db = mysql_connect($dbhost, $dbusername, $dbpassword);
if (!$db)
{
die ("Errore nella connessione. Verificare i parametri nella configurazione.");
}
mysql_select_db($dbname, $db)
or die ("Errore nella selezione del database. Verificare i parametri nella configurazione");
$query = 'SELECT * FROM news WHERE id="'.$_GET['id'].'"';
$end_q = mysql_query($query,$db);
if($_GET['id'])
{
$row = mysql_fetch_array($end_q);
if($row['approved'] == '0')
{
echo '';
}
else
{
echo '<h2>'.$row['titolo'].'</h2>';
echo '<i>'.$row['descrizione'].'</i><br />';
echo 'Postata da: \'<b>'.$row['autore'].'</b>';
echo '<br />Il: '.date("j/n/y", $row[data]);
echo '<br /><br />'.$row['testo'];
}
}
?>
</td>
</tr>
</table>
</div>
<div class="sotto"></div></div>
</body>
</html>
Top
Profilo Invia messaggio privato HomePage
horus
Macchinista
Macchinista


Registrato: 22/03/05 09:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 10 Gen 2008 12:31    Oggetto: Rispondi citando

Non ho capito se questa
Codice:
queryy=UPDATE articoli SET visite=NULL WHERE numero_articolo=.$row['id'];

è già una tua elaborazione oppure quello che hai scritto nel codice.

Il concetto è che
1. non puoi fare query se non hai il db
2. la sintassi è completamente sbagliata.

Dovresti inserire prima di
Codice:
$query = 'SELECT * FROM news WHERE id="'.$_GET['id'].'"';
qualcosa tipo
Codice:
$query = "update articoli set visite=visite+1 where numero_articolo=$row['id']";
$end_q = mysql_query($query,$db);
Top
Profilo Invia messaggio privato
ste_95
Dio maturo
Dio maturo


Registrato: 03/08/07 13:41
Messaggi: 1920
Residenza: Italy

MessaggioInviato: 12 Gen 2008 09:18    Oggetto: Rispondi citando

C'era un problema,non potevo addizionare uno direttamente dalla query, allora ho creato due variabili, una era il valore originario del db, e l'altra era il risultato dell'addizione a questo di 1.

Tutto risolto.

Grazie mille Very Happy
Top
Profilo Invia messaggio privato HomePage
horus
Macchinista
Macchinista


Registrato: 22/03/05 09:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 12 Gen 2008 09:36    Oggetto: Rispondi citando

Strano, che errore ti dava?

Comunque se hai risolto va bene. Very Happy
Top
Profilo Invia messaggio privato
ste_95
Dio maturo
Dio maturo


Registrato: 03/08/07 13:41
Messaggi: 1920
Residenza: Italy

MessaggioInviato: 12 Gen 2008 09:39    Oggetto: Rispondi

L'errore ora non te lo so dire, ma mi pare che non implementasse... Razz
Top
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi