Creare sondaggio

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
guarda che ti fa tutti i calcoli errati
VEROda sito
radio213,33,3
giornali16,71,6
depliant320,04,9
televisione00,00
web banner320,04,9
casualmente320,04,9
motori di ricerca16,71,6
amici o conoscenti213,33.3
TOTALE15
ridai un occhio ai calcoli, nella colonna VERO ho calcolato quello che dovrebbe darti, nella da sito quello che ti risulta
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
guarda che ti fa tutti i calcoli errati
VEROda sito
radio213,33,3
giornali16,71,6
depliant320,04,9
televisione00,00
web banner320,04,9
casualmente320,04,9
motori di ricerca16,71,6
amici o conoscenti213,33.3
TOTALE15
ridai un occhio ai calcoli, nella colonna VERO ho calcolato quello che dovrebbe darti, nella da sito quello che ti risulta

Tutta la pagina (tranne gli url) che ho in locale è il copia-incolla di quella online, io non so cosa dovrei cambiare
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Qui c'è qualcosa che non quadra, ho provato l var_dump nel file in locale e mi da il risultato in base a quello che ha messo a video e cioè giusto.
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
carica la pagina con i var_dump e guarda cosa riportano i dump inlinea

La prova l'avevi già fatta tu al post #142, non è che magari è il db o il server che non vanno bene?

Questo è per amici_o_conoscenti

PHP:
---
     $ax=$amici_o_conoscenti;   
     var_dump($ax); 
     $a=$amici_o_conoscenti/$tot*100;
     var_dump($a);
     $amici_o_conoscenti_pos=(int)$a-100;
     var_dump($amici_o_conoscenti_pos);
     $amici_o_conoscenti=number_format($a, 1, ',',''); 
     var_dump($amici_o_conoscenti);
  if($amici_o_conoscenti >=100) {
     $amici_o_conoscenti=(int)$amici_o_conoscenti;
  }     
}
else {
…
 $amici_o_conoscenti=0; 
 $amici_o_conoscenti_pos=-100;
}
var_dump($amici_o_conoscenti);
var_dump($amici_o_conoscenti_pos);
 

Allegati

  • Schermata 04-2456778 alle 10.16.20.png
    Schermata 04-2456778 alle 10.16.20.png
    65,4 KB · Visite: 157
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
cominciamo a cercare di capire
1) string(2) "2"
è il numero degli amici e quindi è giusto, anche se dovrebbe essere int quindi forzalo a (int)
2) se il totale è 15 (controlla) il dump del float dovrebbe darti
float(0.1333333...) e non float(0.888138...)
quindi verifica la divisione tra numero amici e totale
3) il primo string(3) "0.9" è giusto col risultato errato 0.888138.. arrotondato da 0.9
4) il secondo non dovrebbe essere il valore moltiplicato per 100?

il tutto anche se non riesco a capire perche in locale ti funziona e inline no
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
ciao
cominciamo a cercare di capire
1) string(2) "2"
è il numero degli amici e quindi è giusto, anche se dovrebbe essere int quindi forzalo a (int)
2) se il totale è 15 (controlla) il dump del float dovrebbe darti
float(0.1333333...) e non float(0.888138...)
quindi verifica la divisione tra numero amici e totale
3) il primo string(3) "0.9" è giusto col risultato errato 0.888138.. arrotondato da 0.9
4) il secondo non dovrebbe essere il valore moltiplicato per 100?

il tutto anche se non riesco a capire perche in locale ti funziona e inline no

Il punto 2) non l'ho capito, comunque per me è qualcosa d'altro visto che i codici dei due file sono identici, c'è qualcosa si frappone quando i dati vengono estratti dal db.
 

Allegati

  • Schermata 04-2456778 alle 10.55.27.png
    Schermata 04-2456778 alle 10.55.27.png
    37 KB · Visite: 174
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho trovato il problema, ora si tratta di capire il perché, guarda adesso:

ti spiego cosa ho fatto: ho ripristinato la parte di file e il db di 1 mese fa, quando andava bene.
La modifica l'ho poi apportata perché voglio che nel db si inserisca una sola colonna (vedi img post precedente).

Questo è il vecchio codice, come vedi ha anche un INSERT e più records, che ho ripristinato adesso per fare la prova:

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
$rx="";
$gx=""; 
$dx=""; 
$tx=""; 
$wx=""; 
$cx=""; 
$mx=""; 
$ax="";      

if($tot >0) {
     $data_localeS=time();
     $dataGmtS=$giorno[date('w')].' '.date('d').' '.$mese[date('m')-1].' '.date('Y - H:i:s \G\M\T P');
     $ip=$_SERVER['REMOTE_ADDR'];  
     $rx=$radio; // Stampa il numero di votanti
     $r=$radio/$tot*100; $radio_pos=(int)$r-100; // Mette la percentuale
     $radio=number_format($r, 1, ',',''); // Mette il decimale 
  if($radio >=100){$radio=(int)$radio;}  // Toglie il decimale a 100%
     $gx=$giornali; 
     $g=$giornali/$tot*100; $giornali_pos=(int)$g-100; 
     $giornali=number_format($g, 1, ',',''); 
  if($giornali >=100){$giornali=(int)$giornali;} 
     $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 {
     $radio=0; $radio_pos=-100;
     $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['votatoxx'])) { //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 "Il tuo voto è stato inserito!"; 
    echo "<meta http-equiv='refresh' content='2; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
    setcookie("votato", "si", time()+259200); // Dura 3 giorni, setta il cookie (3/4)
  
  // Inserisce i dati EXTRA nella tabella
$q=mysql_query("INSERT INTO sondaggio(data_localeS,dataGmtS,ip,country)  
                           VALUES('$data_localeS','$dataGmtS','$ip','".$countries[$two_letter_country_code][1]."')");                           
                                                                 
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio";
 

Allegati

  • Schermata 04-2456778 alle 11.17.31.png
    Schermata 04-2456778 alle 11.17.31.png
    22,6 KB · Visite: 163
  • Schermata 04-2456778 alle 11.23.55.jpg
    Schermata 04-2456778 alle 11.23.55.jpg
    58,4 KB · Visite: 189
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Allora, il post precedente non guardalo, ora ho focalizzato l'inghippo e ho visto che c'è qualcosa nel codice che non quadra,.

Così funziona $q="UPDATE sondaggio SET $voto = $voto + 1 WHERE id=1"; Inoltre ho tolto INSERT, così comunque ora a video stampa giusto. Però non posso inserire nel db la data e l'ip altrimenti diventa come prima

PHP:
 $giorno=array('Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'); 
     $mese=array('','gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');
     $dataGmtS=$giorno[date('w')].' '.date('d').' '.$mese[date('m')-0].' '.date('Y - H:i:s \G\M\T P');
     $ip=$_SERVER['REMOTE_ADDR']; 
...
if(isset($_POST['puls_invio'])) { 
if(!isset($_COOKIE['votatoxx'])) { //Setta il cookie (2/4), il primo si trova in connessione.php
if(isset($_POST['voto'])) {
    $voto=$_POST['voto'];
    $q="UPDATE sondaggio SET $voto = $voto + 1 WHERE id=1";  
    if(mysql_query($q)) { 
    echo "Il tuo voto è stato inserito!"; 
    echo "<meta http-equiv='refresh' content='1; url=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
    setcookie("votato", "si", time()+259200); // Dura 3 giorni, setta il cookie (3/4)
  
// Estrae i dati dalla tabella    
$q="SELECT * FROM sondaggio";
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
L Creare un sondaggio per un sito web? HTML e CSS 3
S creare un sondaggio PHP 2
E Creare un testo trasparente dietro un div HTML e CSS 5
M Creare traccia di download file sul server HTML e CSS 2
A Cerco programmatore/sviluppatore per creare forum Offerte e Richieste di Lavoro e/o Collaborazione 2
L Creare ancore interne alla pagina PHP 1
I Creare un banner temporaneo JavaScript Javascript 0
C Creare Tabella Dati Meteo prelevandoli da dei Tags in un altro foglio PHP 27
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
U PHP creare un file excel dopo ricerca nel DB PHP 0
A Creare un cronometro PHP 5
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 3
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1
F [PHP] creare tabella e tasto cerca PHP 3
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
A [HTML] Creare sito web per eLearnig HTML e CSS 2
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
Spenalzo Creare tabelle multiple con Access via VBA MS Access 2
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
I Creare Qsl radioamatore con testo editabile Presentati al Forum 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
Z Creare VirtualHost Apache2 con PHP? Programmazione 0

Discussioni simili