Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    INSERT INTO su più record contemporaneamente

    ciao a tutti,

    ho preparato un questionario per fare un sondaggio, ci sono 6 domande (ma potrebbero essere di più o di meno, il numero è variabile per ogni sondaggio) e per ogni domanda ci sono delle risposte (anche queste di un numero variabile) con a fianco il relativo input type="radio".

    La domanda è visto che ogni domanda e ogni risposta escono con un ciclo while($row_sondaggio=mysql_fetch_array($result_cat egoria1)){ dovrei mettere un pulsante invia per ogni risposta? Però così mi inserirebbe nel db la risposta di una sola domanda.
    Come si fa a mettere un'unico pulsante invia in un questionario?

    Questo il db:

    e_sond_sondaggio
    id_sond_sondaggio smallint(4) No
    nome_sondaggio varchar(150) Sì NULL

    e_sond_domande
    id_sond_domande smallint(4) No
    id_sond_sondaggio smallint(6) No 1
    domanda varchar(300) Sì NULL

    e_sond_risposte
    id_sond_risposte smallint(4) No
    id_sond_domande smallint(6) No 1
    risposta varchar(300) Sì NULL

    e_sond_risposte_utente
    id_sond_risposte_ute smallint(4) No
    id_sond_sondaggio smallint(6) No 1
    id_sond_domande smallint(4) Sì NULL
    id_sond_risposte smallint(4) Sì NULL
    ip_sond_utente varchar(50) No

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    io la tabella risposte me la eviterei.. immagino siano a risposta multipla, e sempre lo stesso numero di possibilità di risposte. aggiungerei un INT con il numero della risposta (o smallint come hai fatto nell'altra tabella...), tanto quelle sono, e un VARCHAR con la risposta finale.

    sulla tua domanda ti chiedo se tutte le domande stanno in una sola pagina. immagino di si, altrimenti non chiederesti come inviarle tutte insieme..
    io farei così: fai il tuo ciclo con tutte le domande. in un campo nascosto ci metti il valore di mysql_num_rows, che ti dice quante domande sono. quando invii in POST hai quel valore che lo potresti mettere in un for tipo
    Codice PHP:
    for ($i=1;$i<=$_POST['RIGHETOTALI'];$i++) {
    // e qua le tue query


  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da telegio
    io la tabella risposte me la eviterei.. immagino siano a risposta multipla, e sempre lo stesso numero di possibilità di risposte.
    No non hanno lo stesso numero di possibilità di risposte, come dicevo prima il numero è variabile. E poi perchè la tabella risposte la eviteresti? Come faccio a registrare le risposte degli utenti?

    Originariamente inviato da telegio
    sulla tua domanda ti chiedo se tutte le domande stanno in una sola pagina. immagino di si, altrimenti non chiederesti come inviarle tutte insieme..
    si sono in un'unica pagina, altrimenti avrei utilizzato il metodo delle sessioni

    Originariamente inviato da telegio
    io farei così: fai il tuo ciclo con tutte le domande. in un campo nascosto ci metti il valore di mysql_num_rows, che ti dice quante domande sono. quando invii in POST hai quel valore che lo potresti mettere in un for tipo
    Codice PHP:
    for ($i=1;$i<=$_POST['RIGHETOTALI'];$i++) {
    // e qua le tue query

    L'ultima tuo punto forse l'ho capito cercherò di partire da qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    No scusa forse ho capito che intendevi nel punto 1, si possono dare sempre solo una risposta per ogni domanda.
    Quindi la tua affermazione "sempre lo stesso numero di possibilità di risposte." è giusta.

    Per gli altri punti invece mi rimangono i dubbi.

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    ..invece volevo dire un'altra cosa.. cioè che le possibilità di risposta che metti per gli utenti sono sempre le stesse.. sempre 3-4-5 o 6 risposte
    cioè io, per semplificare, metterei nella tabella e_sond_risposte N campi varchar in cui scrivo le possibilità di risposta, ed un campo tinyint per sapere qual'è la risposta corretta.
    altrimenti come sai quale è la risposta giusta? altrimenti come hai fatto te devi aggiungere un campo tinyint che ha valori 0 e 1 a seconda se la risposta è corretta o no.. però appunto io andrei a semplificare, eliminando un ciclo.. la faccenda comunque è ingarbugliata..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.