Creare sondaggio

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
In rete ho trovato vari codici per creare un sondaggio da mettere nel sito, e come al solito non so quale usare anche perché non me intendo molto, intenderei usare il DB visto che ora lo uso
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Ma non stampa proprio nulla? Se ci sono dei '@' prima di alcune funzioni nel codice
es
PHP:
@mysql_connect($mysql[host], $mysql[user], $mysql[pass]);
levale:
esempio
PHP:
mysql_connect($mysql[host], $mysql[user], $mysql[pass]);
Poi posta gli errori!
Ciao ciao!
 

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
Ma non stampa proprio nulla? Se ci sono dei '@' prima di alcune funzioni nel codice
es
PHP:
@mysql_connect($mysql[host], $mysql[user], $mysql[pass]);
levale:
esempio
PHP:
mysql_connect($mysql[host], $mysql[user], $mysql[pass]);
Poi posta gli errori!
Ciao ciao!

Ora un po' funziona:

ho creato il file results.php e vote.php e li richiamo in un file esterno con include, questo file esterno è a sua volta richiamato in ogni pagina del sito. Ho eliminato il file install.php avendo io stesso creato la tabella nel db.

A video ora stampa questo ma non c'è la barra di progresso sotto ogni risposta

Come hai conosciuto i prodotti ?

Internet (0.0%)
Depliant (0.0%)
Casualmente (0.0%)
Giornali o televisione (0.0%)
Da amici o conoscenti (0.0%)
 

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
Vuoi postare il codice?

A sx di ogni risposta devo mettere il "radio" ed in fondo il bottone "vota"

results.php

PHP:
<?php
$question = "<span style=\"color:#008040; text-align:center;\">Come hai conosciuto i prodotti Akuna?</span>";
$answers = array("Internet", "Depliant", "Casualmente", "Giornali o televisione", "Da amici o conoscenti");
$query = @mysql_query("SELECT * FROM sondaggio");
$result = @mysql_fetch_array($query);
echo "{$question}<br /><br />";
for ($x = 1; $x <= count($answers); $x++) {
$total = $total + $result[tot_ . $x];
}
for ($i = 1; $i <= count($answers); $i++) {
@$percent = $result[tot_ . $i] / $total;
$percent = $percent * 100;
$percent = number_format($percent, 1);
echo "" . $answers[$i - 1] . "<br /><span style=\"color:#ff8000;\">({$percent}%)</span><br />";
}
?>

vote.php

PHP:
<?php
if ($_COOKIE[JacoZ_Poll] == TRUE) {
echo "Hai già votato, grazie!";
}
else
{
mysql_query("UPDATE sondaggio SET tot_{$_POST[a]} = tot_{$_POST[a]}+1 ");
setcookie("JacoZ_Poll", "www.jacoz.net", time() + 86400);
header("Location: results.php");
}
?>

nel file esterno che poi viene richiamato in tutte le pag del sito

PHP:
<!-- Richiama i file per il sondaggio e il voto -->
<p style="text-align:left; margin-left:8px; margin-top:-5px;">
<?php
include ("results.php");
include ("vote.php");
?>
echo "<form action="vote.php" method="post">";
echo "<strong>{$question}</strong><br /><br />n";
for ($i = 0; $i <= count($answers) - 1; $i++) {
echo "<input type="radio" name="a" value="" . ($i + 1) . "">{$answers[$i]}<br />n";
}
echo " <br /><input type="submit" value=" Vota ">n";
echo " <a href="results.php">Risultati</a>n";
echo "</form>n";
</p>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa devo capire cosa vuoi fare esattamente:
tu vuoi sapere la percentuale di come hanno conosciuto il tuo prodotto, giusto?
se è così c'è qualcosa che non mi torna, soprattutto per quanto riguarda il db, da quello che capisco non c'è la distinzione della "provenienza".
da quello che vedo nello script quello che stai facendo è una votazione generica che non distingue, con questa query
PHP:
mysql_query("UPDATE sondaggio SET tot_{$_POST[a]} = tot_{$_POST[a]}+1 ");
come fai ad attribuire il voto ad una certa provenienza?
secondo me è da rimettere la mani su tutto se da quanto ho capito è giusto.
 

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
ciao
scusa devo capire cosa vuoi fare esattamente:
tu vuoi sapere la percentuale di come hanno conosciuto il tuo prodotto, giusto?
se è così c'è qualcosa che non mi torna, soprattutto per quanto riguarda il db, da quello che capisco non c'è la distinzione della "provenienza".
da quello che vedo nello script quello che stai facendo è una votazione generica che non distingue, con questa query
PHP:
mysql_query("UPDATE sondaggio SET tot_{$_POST[a]} = tot_{$_POST[a]}+1 ");
come fai ad attribuire il voto ad una certa provenienza?
secondo me è da rimettere la mani su tutto se da quanto ho capito è giusto.
Quello che vorrei fare è una cosa del genere, però con il radio a sx di ogni risposta ed in fondo il bottone Vota
http://www.akuna.net/index.php?typ=AUU&showid=285
 

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38

Allegati

  • Img_01.jpg
    Img_01.jpg
    84,9 KB · Visite: 147

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
secondo me dovresti modificare la tabella così

id int(1) primarykey default 1
internet int(12) default 0
depliant int(12) default 0
casualmente int(12) default 0
giornali int(12) default 0
amici int(12) default 0

id basta int(1) in quanto la tabella avrà un solo record
gli altri campi dovendo incrementarsi di 1 ad ogni voto devono essere di tipo intero
evita di dare nomi con spazi
poi con phpmyadmin crei il primo record in pratica sarà = 1,0,0,0,0,0
questo se vuoi solo avere i totali, in questo caso il tutto si riduce al semplice script
PHP:
<?php
//dati di connessione
if(isset($_POST['vota'])){
	$voto=htmlspacialcars($_POST['voto']);//per eventuale sicurezza
	$q="UPDATE sondaggio SET $voto= $voto + 1 WHERE id=1";
	if(mysql_query($q)){
		echo "grazie di aver votato";
	}else{
		echo "si è verificato un errore, riprova più tardi";
	}
}
?>

<form action="" method="post"><!-- nell'actio il nome della pagina o echo $_SERVER['PHP_SELF'] se nella stessa-->
    <select name="voto">
      <option value="internet">internet</option>
      <option value="depliant">internet</option>
      <option value="casualmente">casualmente</option>
      <option value="giornali">giornali o televisione</option>
      <option value="amici">amici o conoscenti</option>
    </select><p>
    <input name="vota" type="submit" id="vota" value="vota"></p>
</form>

al posto della select puoi mettere dei radio con name=voto e il valore come nella select es
HTML:
internet <input name="voto" type="radio" value="internet"> | depliant <input name="voto" type="radio" value="depilant"> | ecc.....
se invece vuoi anche vedere come si sono espressi i voti es. in un certo periodo la tabella va modificata, sappimi dire se ti interessa

dimenticavo
con un po' di js puoi evitare di mettere il pulsante di submit e nella select all' onchange submit
 
Ultima modifica:

Shyson

Utente Attivo
19 Ago 2012
1.172
1
38
Non ho capito questa parte

id int(1) primarykey default 1

e questa


internet int(12) default 0
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
id int(1) primarykey default 1
dato che la tabella ha un solo record inutile dargli es int(3) che corrisponde a voler avere tanti record da 1 a 999, di default 1 perche deve rimanere sempre lo stesso
internet int(12) default 0
ho messo 12 per non avere problemi, puoi accettare un totale massimo di 999.999.999.999 voti (999 milardi, ti auguro di averli, saresti meglio di google), defaul 0 perche il conteggio deve partire da 0 (nessun voto), al primo che clicca su "internet" avrai internet = 0 + 1 = 1

per i radio basta che sostituire il codice tra <select ... >....</select> con la serie di radio

edit
se parli di quello che c'è nel box indicato "SONDAGGIO" da quello che vedo è tutto js, in tal caso non so darti una mano
 
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
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 4
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
max_400 [HTML] Come creare un jpg animata (non gif animata) HTML e CSS 3
A Come creare un framset Sviluppo app per Android 1
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
X [Apache] Creare sito clone/preservare codice sorgente Apache 7
E [PHP] creare temporary table per dati da xml PHP 2
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
P [Photoshop CC] Come posso creare quest'effetto - cerchi concentrici Windows e Software 6
R [PHP] creare pagina profilo per ogni utente PHP 4
V [WordPress] Creare una struttura di articoli da una struttura di cartelle WordPress 1

Discussioni simili