Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    sessioni con id autoincrement

    come posso creare delle sessioni che permettano all'utente di registrare i propri dati mantenendo il numero dell'id autoincrement generato dal database mysql?

  2. #2
    Che cosa intendi per "mantenendo il numero dell'id autoincrement generato dal database mysql"?

  3. #3
    volevo dire che ogni volta che inserisco dei dati in una riga nel database, ho il campo id_user autoincrement che assegna un numero di riconoscimento. vorrei mantenere questo per tutta la sessione, facendo si che l'utente inserisca i dati nei vari campi della stessa riga nel database. Adesso inserisce i dati nei vari campi ma ad ogni pagina ad una riga differente in quanto aumenta l'id ad ogni pagina.
    spero di essermi spiegato un po' meglio.
    grazie

  4. #4
    ogni volta che inserisco dei dati in una riga nel database, ho il campo id_user autoincrement che assegna un numero di riconoscimento.
    Forse intendi dire che ad ogni utente è assegnato un record in una tabella "utenti" (ad esempio) che contiene un campo id_user autoincremente. Quando poi vai ad inserire dei record in altre tabelle in relazione con la tabella utenti vuoi inserire nel campo id_user l'ID dell'utente corrente.

    Se è così è sufficiente che all'atto del login salvi in sessione l'ID dell'utente ed utilizzi tale valore per creare la query di inserimento (o modifica).

    Adesso inserisce i dati nei vari campi ma ad ogni pagina ad una riga differente in quanto aumenta l'id ad ogni pagina.
    Sei sicuro di aver strutturato correttamente la tabella? Posta qui la struttura SQL delle tabelle che stai utilizzando.

    Se hai un campo ud_user autoincrement, questo dovrebbe essere presente nella tabella degli utenti, non nelle tabelle correlate, altrimenti è evidente che il suo valore venga ricalcolato ad ogni inserimento.

  5. #5
    Questa è la mia tabella, una sola che contiene i vari campi




    -- Struttura della tabella `messaggi`
    --

    CREATE TABLE `messaggi` (
    `id_user` int(10) unsigned NOT NULL auto_increment,
    `user` varchar(20) NOT NULL default '',
    `gender` varchar(10) NOT NULL default '',
    `date_of_birth` date NOT NULL default '0000-00-00',
    `country` varchar(50) NOT NULL default '',
    `data_ora` datetime NOT NULL default '0000-00-00 00:00:00',
    `activacione1` varchar(30) NOT NULL default '',
    `valencia1` varchar(30) NOT NULL default '',
    `activacione2` varchar(30) NOT NULL default '',
    `valencia2` varchar(30) NOT NULL default '',
    `activacione3` varchar(30) NOT NULL default '',
    `valencia3` varchar(30) NOT NULL default '',
    `activacione4` varchar(30) NOT NULL default '',
    `valencia4` varchar(30) NOT NULL default '',
    `activacione5` varchar(30) NOT NULL default '',
    `valencia5` varchar(30) NOT NULL default '',
    `activacione6` varchar(30) NOT NULL default '',
    `valencia6` varchar(30) NOT NULL default '',
    PRIMARY KEY (`id_user`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0 AUTO_INCREMENT=165 ;

  6. #6
    Che genere di dati deve contenere questa tabella?

    La chiave primaria è id_user, per cui ogni record dovrà contenere un valore diverso per id_user (questo si ottiene con auto_increment).

    Se devi avere piu' record per "associati" allo stesso id_user alloa è probabile che ti serve una seconda tabella oppure NON devi utilizzare id_user come chiave primaria.

  7. #7
    i dati della tabella saranno:

    `id_user` int(10) unsigned NOT NULL auto_increment,
    `user` varchar(20) NOT NULL default '',
    `gender` varchar(10) NOT NULL default '',
    `date_of_birth` date NOT NULL default '0000-00-00',
    `country` varchar(50) NOT NULL default '',
    `data_ora` datetime NOT NULL default '0000-00-00 00:00:00',

    che sono dati dell'utente che esegue il mio test;




    `activacione1` varchar(30) NOT NULL default '',
    `valencia1` varchar(30) NOT NULL default '',
    `activacione2` varchar(30) NOT NULL default '',
    `valencia2` varchar(30) NOT NULL default '',
    `activacione3` varchar(30) NOT NULL default '',
    `valencia3` varchar(30) NOT NULL default '',
    `activacione4` varchar(30) NOT NULL default '',
    `valencia4` varchar(30) NOT NULL default '',
    `activacione5` varchar(30) NOT NULL default '',
    `valencia5` varchar(30) NOT NULL default '',
    `activacione6` varchar(30) NOT NULL default '',
    `valencia6` varchar(30) NOT NULL default '',
    PRIMARY KEY (`id_user`)


    il resto sono record numerici assegnati tramite form radio e scelti dall'utente in relazione ad ogni foto che visualizza.

    l'impostazione della mia tabella adesso non mi permette di scrivere piu' record con uno stesso iduser; solo:
    `id_user`
    `user` ,
    `gender` ,
    `date_of_birth` ,
    `country`
    `data_ora` ,
    mantengono record con lo stesso id utente dato che sono inseriti tutti in una pagina con form select.


    Gli altri campi sono nelle pagine successive e ognuno inserisce un record in un particolare campo :

    `activacione1` ,
    `valencia1` ,
    `activacione2` ,
    `valencia2` ,
    `activacione3` , ecc.ecc.ec..e.cc..

    appartiengono tutti a pagine differenti.




    Quindi mi consigli di eseguire una seconda tabella per inserire i record

    `activacione1` ,
    `valencia1` ,
    `activacione2` ,
    `valencia2` ,
    `activacione3` , ecc.ecc.ec..e.cc..
    ???

  8. #8
    1 tabella con 1 record per utente (es. users)
    1 tabella con i dati dei test (es. values ) con una struttura come quest:

    id_value (chiave)
    id_user (chiave esterna)
    id_immagine (chiave esterna)
    activacione
    valencia

  9. #9
    non ho capito bene come dovrei impostare le 2 tabelle...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.