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
Non carica la pagina, però ci son delle cose non chiare, es. il file install.php dice di creare un tabella, io invece me la sono creata nel db, che dici se iniziamo da capo?
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%)
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.
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.
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
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
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