Aggiornare pagina quando c'è un nuovo messaggio

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio
PHP:
$q=mysql_query("INSERT INTO sondaggio (data_localeS) 
                           VALUES('$data_localeS')");
E' questa la query che aggiunge un altro record.
Prova a fare un UPDATE invece di una INSERT.

L'unico che mi funziona bene è questo, però come dicevo, crea un nuovo record ad ogni voto.

PHP:
// Inserisce i dati nella tabella
$q=mysql_query("INSERT INTO sondaggio (data_localeS) 
                           VALUES('$data_localeS')");  
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio ";



PHP:
if(isset($_POST['puls_invio'])) { 
if(!isset($_COOKIE['votato'])) { //Setta il cookie (2/4), il primo si trova in connessione.php
if(isset($_POST['voto'])) {
    $voto=mysql_real_escape_string($_POST['voto']);
    $q="UPDATE sondaggio SET $voto = $voto + 1 WHERE id=1";     
    if(mysql_query($q)) { 
    echo "Grazie, il tuo voto è stato inserito!</div></div><br>"; 
    echo "<meta http-equiv='Refresh' content='2; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    setcookie("votato", "si", time()+5*365*24*60*60); //Dura 5 anni, setta il cookie (3/4)
// Inserisce i dati nella tabella
$q=mysql_query("INSERT INTO sondaggio (data_localeS) 
                           VALUES('$data_localeS')");  
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio ";
 
E' proprio per questo motivo che dovresti usare UPDATE al posto di INSERT.

Così aggiorna i campi nel db ma non stampa la data

PHP:
$q=mysql_query("UPDATE INTO sondaggio (data_localeS) 
                           VALUES('$data_localeS')");  
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio ";

Schermata 07-2456488 alle 19.23.12.png
 
Prova togliendo gli apici:
PHP:
$q=mysql_query("UPDATE INTO sondaggio (data_localeS) 
                           VALUES($data_localeS)");
 
Oh mamma.
Hai letto come si fa una query di aggiornamento al link che ti ho inviato?
Non serve a niente INTO (che ti è rimasto da insert into).
Quando l'ho postata prima non mi sono accorto del grossolano errore.
 
Oh mamma.
Hai letto come si fa una query di aggiornamento al link che ti ho inviato?
Non serve a niente INTO (che ti è rimasto da insert into).
Quando l'ho postata prima non mi sono accorto del grossolano errore.

Ho messo così ma non stampa la data, aggiorna solo i voti

PHP:
// Inserisce i dati nella tabella
$q=mysql_query("UPDATE  sondaggio SET data_localeS = $data_localeS + 1 WHERE id=1;
                           VALUES('$data_localeS')");  
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio ";
 
Allora, questa è una query esempio nel link che ti ho mandato:
Codice:
UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';
Nel tuo caso basta sostituire i campi:
Codice:
UPDATE  sondaggio 
SET data_localeS = $data_localeS + 1 
WHERE id=1
Senza values.
 
Allora, questa è una query esempio nel link che ti ho mandato:
Codice:
UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';
Nel tuo caso basta sostituire i campi:
Codice:
UPDATE  sondaggio 
SET data_localeS = $data_localeS + 1 
WHERE id=1
Senza values.

Non funziona, o che sbaglio io :crying:

PHP:
$q=mysql_query("UPDATE  sondaggio SET data_localeS = $data_localeS + 1 WHERE id=1");
                         
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio ";
 
Togli il +1 che non c'entra e se non funziona così prova a fare dei test su phpmyadmin e quando ti viene metti nella query di php.
 
Togli il +1 che non c'entra e se non funziona così prova a fare dei test su phpmyadmin e quando ti viene metti nella query di php.
Allora, quasi ci siamo, nel db da errore

Schermata 07-2456488 alle 23.34.00.png

Però non crea più una nuova colonna ma aggiorna anche la data

Schermata 07-2456488 alle 23.34.20.png
 
Non hai postato il codice che hai utilizzato per fare le percentuali e la barra quindi non so come aiutarti.
 
Questo è quello nuovo

PHP:
<?php 
$q="SELECT * FROM sondaggio WHERE id=1"; 
$risultato = mysql_query($q); 
$riga=mysql_fetch_assoc($risultato); 
$tot=0;//metto il totale a 0 
foreach($riga as $chiave => $valore) { 
     if($chiave !="id") {
        ${$chiave}=$valore;//valore del campo 
        $tot=$tot+$valore;//faccio il totale 
    } 
} 
// Definisce le variabili
$gx=""; 
$dx=""; 
$tx=""; 
$wx=""; 
$cx=""; 
$mx=""; 
$ax="";      

if($tot >0) { 
     $data_localeS=time(); 
     $gx=$giornali; // Stampa il numero di votanti
     $g= $giornali/$tot*100; $giornali_pos=(int)$g-100; // Mette la percentuale
     $giornali=number_format($g, 1, ',',''); // Mette il decimale 
  if($giornali >=100){$giornali=(int)$giornali;}  // Toglie il decimale a 100%
     $dx=$depliant;
     $d= $depliant/$tot*100; $depliant_pos=(int)$d-100; 
     $depliant=number_format($d, 1, ',',''); 
  if($depliant >=100){$depliant=(int)$depliant;} 
  	 $tx=$televisione;    
     $t= $televisione/$tot*100; $televisione_pos=(int)$t-100; 
     $televisione=number_format($t, 1, ',',''); 
  if($televisione >=100){$televisione=(int)$televisione;}  
  	 $wx=$web_banner;   
     $w= $web_banner/$tot*100; $web_banner_pos=(int)$w-100; 
     $web_banner=number_format($w, 1, ',','');  
  if($web_banner >=100){$web_banner=(int)$web_banner;}  
  	 $cx=$casualmente;  
     $c= $casualmente/$tot*100; $casualmente_pos=(int)$c-100; 
     $casualmente=number_format($c, 1, ',',''); 
  if($casualmente >=100){$casualmente=(int)$casualmente;}  
  	 $mx=$motori_di_ricerca;   
     $m= $motori_di_ricerca/$tot*100; $motori_di_ricerca_pos=(int)$m-100; 
     $motori_di_ricerca=number_format($m, 1, ',','');  
  if($motori_di_ricerca >=100){$motori_di_ricerca=(int)$motori_di_ricerca;}  
  	 $ax=$amici_o_conoscenti;    
     $a= $amici_o_conoscenti/$tot*100; $amici_o_conoscenti_pos=(int)$a-100;
     $amici_o_conoscenti=number_format($a, 1, ',',''); 
  if($amici_o_conoscenti >=100){$amici_o_conoscenti=(int)$amici_o_conoscenti;}     
}
else {
     $giornali= 0; $giornali_pos=-100;
     $depliant= 0; $depliant_pos=-100;
     $televisione= 0; $televisione_pos=-100;
     $web_banner= 0; $web_banner_pos=-100;
     $casualmente= 0; $casualmente_pos=-100;
     $motori_di_ricerca= 0; $motori_di_ricerca_pos=-100;
     $amici_o_conoscenti= 0; $amici_o_conoscenti_pos=-100;
}
if(isset($_POST['puls_invio'])) { 
if(!isset($_COOKIE['votato'])) { //Setta il cookie (2/4), il primo si trova in connessione.php
if(isset($_POST['voto'])) {
    $voto=mysql_real_escape_string($_POST['voto']);
    $q="UPDATE sondaggio SET $voto = $voto + 1 WHERE id=1";  
    if(mysql_query($q)) { 
    echo "Grazie, il tuo voto è stato inserito!<br>"; 
    echo "<meta http-equiv='Refresh' content='2; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    setcookie("votato", "si", time()+60*60*24*30); //Dura 1 mese, setta il cookie (3/4)

// Aggiorna la data nella tabella
$q=mysql_query("UPDATE sondaggio SET data_localeS = $data_localeS  WHERE id=1");
                         
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio ";  
                          
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "X-Mailer: PHP\n"; 
$headers .= "From:Alberti.Alveo<mail@gmail.com>\r\n"; 

//Invio e-mail di avviso a me
$miaemail = "Me<mail@gmail.com>"; 
$soggetto = "Qualcuno ha fatto il sondaggio";  //Le mail vanno formattate con HTML 
$corpo_messaggio ="<html>
<head>
</head>
<body>
<p style=\"font-family:arial; font-size:17px; color:#000080; font-weight:bold;\">Un visitatore ha votato il sondaggio</p>
<span style=\"font-family:arial; font-size:16px; color:#008000;\">$voto</span>
<br>
<br>     
<p style=\"font-family:arial,verdana;font-size:11px;color:#000080;\">$dataGmtS
</p>
<br>
<br>
<br>
<br>
</body>
</html>";  
//Invio della mail 
mail ($miaemail,$soggetto,$corpo_messaggio,$headers);  
    }
  } 
else { 
     echo "Devi selezionare una risposta!<br>";  
     echo "<meta http-equiv='Refresh' content='2; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
   }
}
else { 
    echo "Hai già votato, grazie!<br>";   
    echo "<meta http-equiv='Refresh' content='2; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
   } 
} 
?>
<p style="font-size:13px; text-align:center; margin-top:-5px; margin-bottom:30px; color:#e40202;">Come hai conosciuto i prodotti Akuna?</p>

<div style="margin-top:-10px; margin-left:3px; text-align:left;">
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 

<div class="fra">
<input type="radio" name="voto" value="giornali"> Giornali <span class="votanti">(<?php echo $gx;?>)</span>
<br>
<div class="a" style="background-position:<?php echo $giornali_pos;?>px"></div><div class="percentuale"><?php echo $giornali;?>%</div>
<br>
<input  type="radio" name="voto" value="depliant"> Depliant <span class="votanti">(<?php echo $dx;?>)</span>
<br>
<div class="a" style="background-position:<?php echo $depliant_pos;?>px"></div><div class="percentuale"><?php echo $depliant;?>%</div>
<br>
<input type="radio" name="voto" value="televisione"> Televisione <span class="votanti">(<?php echo $tx;?>)</span>
<br>
<div class="a" style="background-position:<?php echo $televisione_pos;?>px"></div><div class="percentuale"><?php echo $televisione;?>%</div>
<br>
<input type="radio" name="voto" value="web_banner"> Web banner <span class="votanti">(<?php echo $wx;?>)</span>
<br>
<div class="a" style="background-position:<?php echo $web_banner_pos;?>px"></div><div class="percentuale"><?php echo $web_banner;?>%</div>
<br>
<input type="radio" name="voto" value="casualmente"> Casualmente <span class="votanti">(<?php echo $cx;?>)</span>
<br>
<div class="a" style="background-position:<?php echo $casualmente_pos;?>px"></div><div class="percentuale"><?php echo $casualmente;?>%</div>
<br>
<input type="radio" name="voto" value="motori_di_ricerca"> Motori di ricerca <span class="votanti">(<?php echo $mx;?>)</span>
<br>
<div class="a" style="background-position:<?php echo $motori_di_ricerca_pos;?>px"></div><div class="percentuale"><?php echo $motori_di_ricerca;?>%</div>
<br>
<input type="radio" name="voto" value="amici_o_conoscenti"> Amici o conoscenti <span class="votanti">(<?php echo $ax;?>)</span>
<br>
<div class="a" style="background-position:<?php echo $amici_o_conoscenti_pos;?>px"></div><div class="percentuale"><?php echo $amici_o_conoscenti;?>%</div>

<div style="margin-top:30px; text-align:center;"><input type="submit" name="puls_invio" value="Vota" class="manina-guest"></div>
</div><!-- fra -->
</form>
</div><!-- div style -->
<?php 
ob_end_flush();//Questo va messo alla penultima riga, setta il cookie (4/4)
?>
 

Discussioni simili