Come fare un sondaggio con 4 scelte collegato a mysql

  • Creatore Discussione Creatore Discussione Zorthan
  • Data di inizio Data di inizio

Zorthan

Utente Attivo
24 Feb 2007
85
0
0
ciao:)
ho un po' di difficoltà a creare un sondaggio
per ora ho sono arrivato qua
ho creato radio button (stesso nome, "vota"), uguale al nome della colonna "vota" in mysql che conterrà i valori
ho inserito direttamente quattro valori x, y, z, w nella colonna vota (1 solo campo per la tabella di nome "sondaggio")
ho seguito le istruzioni del manuale che sto studiando che mi consigliad id generare dinamicamente l'html con php in questo modo:

$sql = "SELECT vota FROM Sondaggio ORDER BY vota";
$result = mysql_query ($sql);
echo "<form action = 'vote.php' method ='POST'>\n";
while ($row = mysql_fetch_array ($result))
{
extract ($row);
echo "<input type='radio' name='vota' value = '$vota' >$vota</br>\n";

echo "<p>";
}
echo "<p><input type ='submit' value='vai' </form>\n";


?>

infatti mi appaiono nella pag del mio sito i nomi dei quattro valori a fianco del radio button
volevo pero' capire come incrementare il contatore ad ogni scelta. Devo creare un array?:confused:
Come faccio ad associare un contattore ad ogni valore nella tabella che ha appunto un solo campo? (vota)?
grazie:fonzie:
 
Diciamo che hai due soluzioni;
modifichi la tabella e associ un contatore ad ogni possibilità di voto quando un utente vota incrementi il contatore di uno.

Diversamente fai in modo che si crei un record per ogni voto, poi ti conti i voti per ogni campo con mysql_num_rows(), ad esempio:

PHP:
$res= mysql_query("SELECT vota FROM Sondaggio WHERE vota='x'");
$num = mysql_num_rows($res);
echo $num;
 
grazie, ma ho una domanda

se incremento il record con la seconda soluzione, nel form di scelta delle opzioni mi mostra ogni record nuovo inserito?
nel senso, ora vedo 4 scelte nel sondaggio,
perché dinamicamente crea lhtml (stampa le righe della tabella che ora ha 4 record da me inseriti direttamente, ovvero le opzioni da scegliere)
ma se aumento il numero di record ogni volta che voto, in output mi viene fuori il numero di record totale. non piu
1.x
2.y
3.w
4.z
ma..
1.x
2.y
3.w
2.y
1.x
4.z
4.z
4.z
2.y
ecc..ecc..

non so se mi sono spiegato:)
grazie x consigli, attendo se puoi risposta :fonzie:
 
PHP:
$res= mysql_query("SELECT DISTINCT(vota) FROM Sondaggio ORDER BY vota");
 
Ultima modifica:
Inserimento dati nel db mysql

ciao
se metto una query del genere dopo lo script da te suggerito, è sufficiente per inserire direttamente nella tabella sondaggio il voto preso dal radio button?

$sql = 'INSERT INTO `Sqlxxxxx`.`Sondaggio` (`vota`) VALUES (\'$vota\');';

o devo aggiungere altri dati?
sono un po' perso
grazie:)
 

Discussioni simili