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

    Scrivere contemporaneamente dati su più tabelle

    Buongiorno, vorrei sapere se c'è un modo per poter memorizzare dei dati inviati da un modulo su più di una tabella di mysql contemporaneamente. Vi spiego la mia necessità: ho una tabella in cui memorizzo i dati degli utenti registrati ed a ognuno di essi viene assegnato un ID crescente (chiave primaria). Avendo predisposto altre tabelle che assolvono a scopi quali memorizzazione dell' url di immagini da caricare in funzione di chi si logga nell'area riservata, dovrei poter disporre dello stesso ID su tutte le tabelle in riferimento allo stesso utente.
    Per inserire i dati sulla tabella registrati faccio mysql_query("insert into registrati values (....)"); come posso fare per memorizzare l'id su tutte le tabelle contemporaneamente?
    Grazie

  2. #2
    potresti inviare ad ogni utente che si è loggato una variabile SESSION con l'ID utente da usare poi nelle tabelle del db..

  3. #3
    Avevo pensato in effetti ad una soluzione del genere, ma non è funzonale ai miei bisogni perché così facendo riesco a recuperare l'ID di colui che si logga dalla tabella in cui ho memorizzato i dati di registrazione, ma poi come faccio a sapere che nella tabella "progetti" all'ID "x" corrisponde effettivamente l'utente che si è loggato ed a cui è assegnato un determinato ID quando si è registrato?

  4. #4
    quando un utente entra in un sito automaticamente gli viene assegnato un ID di sessione che puoi verificare con lo scipt(ino) seguente:

    <?php
    session_start();
    echo session_id();
    ?>

    quell'ID vale fino a quando l'utente sta nel sito e quando se ne va viene distrutta. E' univoca per ciascun utente, quindi se nel tuo sito entrano 1000 persone tutte assieme ognuna avrà il suo ID diverso. Pertanto se come ti ho detto quando un utente si logga e gli mandi una variabile di sessione con l'ID utente prelevato da una tabella lo amnda solo all'utente con un certo ID di sessione. Quando vuoi salvare l'ID in varie tabelle basta recuperare quell'ID utente , tanto sarà semrpe associato ad un particolare ID di sessione.

  5. #5
    Sono d'accordissimo su quanto mi hai esposto. Mi sono spiegato male io e cerco di essere più preciso adesso.
    Ho 2 tabelle nel mio database:

    1° Tabella ==> nome "registrati" con i campi: ID, nome, cognome, email, user, pass.

    L'id è impostato come not null, chiave primaria, auto increment. Quando un utente si registra i suoi dati sono peranto immagazzinati in questa tabella, quindi:
    - ID=1 ---> utente "a";
    - ID=2 ---> utente "b";
    - ID=3 ---> utente "c";
    ..
    ..
    ..
    e così via.

    2° tabella ==> nome "progetto" con campi: ID, urlimg1, urlimg2, urlimg3, descrizione, commenti.

    Il sito si occupa di fornire dei progetti di arredamento online e prevede che per richiedere la consulenza l'utente si debba obbligatoriamente registrare. Bene. Un utente che si registra può chiedere consulenza accedendo alla propria area riservata, ma non è detto che lo faccia. Nel caso proceda con la richiesta gli verrà messo a disposione all'interno dell'area riservata ad egli riservata il proprio progetto che consisterà in una relazione ed in elaborati grafici visionabili e scaricabili. E' necessario pertanto che all'utente "a" con ID=1 della tabella 1° corrisponda lo stesso ID sulla tabella 2°, altrimenti quando poi vado a caricare sul database il progetto di "a" esso si ritroverebbe a vedere quello relativo all'utente "B" perché gli ID non corrispondono.
    Pertanto ho la necessità di scrivere su entrambe le tabelle lo stesso ID per ogni utente. Come posso fare?
    Spero che abbiate capito il problema che ho esposto, altrimenti cercherò di spiegarvi ulteriormente.

  6. #6
    se ho ben capito quindi dovresti fare:

    1 - l'utente si logga
    2 -conserva il suo ID in una variabile
    3 - crea un nuovo record scrivendo la variabile con l'ID nel primo campo della tabella dei progetti
    4 - gli altri campi della tabella progetti li inserirai anche in un secondo momento, basta vedere quale ID ha il cliente

  7. #7
    Non vorrei proprio quello che hai scritto te, ma:

    1) Un utente si registra e gli viene assegnato un ID automaticamente (ID è auto increment)
    2) L'ID appena assegnato all'utente vorrei scriverlo anche nella tabella "progetto"
    3) A questo punto, essendo certo che all'ID corrisponda lo stesso utente in entrambe le tabelle, carico i files della consulenza sul database, nella tabella "progetto", in corrispondenza del record con ID del cliente che ha ordinato la commessa.

    Spero che tu abbia compreso cosa vorrei fare

    Come si potrebbe fare?

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.