Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110

    Consistenza dati in database

    Buonasera a tutti,
    sto cercando di sviluppare un piccolo gestionale, vorrei che quando inserisco un nuovo utente nel database mi si inserisse in automatico l'id utente appena creato in un'altra tabella dove l'id mi fa da chiave esterna.
    Per fare questo ho pensato di fare in questo modo:
    - inserimento nel database del nuovo utente
    - selezionare l'id considerando il cognome appena inserito
    - Se ho più utenti con lo stesso cognome, sono sicuro che l'ultimo che ho inserito ha un id maggiore (visto che l'id è sequenziale e si autoincrementa) quindi avevo pensato di usare la funzione max di php per trovare il massimo e inserire il valore nella seconda tabella.

    il problema è che non mi considera tutta la seconda parte (l'inserimento va bene, mentre la seconda query non mi da ne errore ne viene considerata)

    Codice PHP:
    if(@mysql_query($query2))
           { 
              echo 
    '<p>' '<h2>' 'registrazione avvenuta con successo' '</h2>' '</p>';
              
    $query3"SELECT idutente FROM utenti WHERE cognome='$cognome'";
              
              if(@
    mysql_query($query3)){
                
    $num mysql_num_rows($query3);
                echo 
    $num;
                  for (
    $i=0;$i<$num$i++){
                    
    $row mysql_fetch_array($query3);
                    
    $utente[$i] = $row['idutente'];
                    
    $maxmax($max,$utente[$i]);
                    echo 
    $max 'questo è il massimo';
                    }
                }
                else
                echo 
    mysql_error(); 
    cosa sbaglio??
    esiste un altro modo oltre a questa soluzione per mantenere la consistenza dei dati nel database?
    grazie a chi mi risponderà

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    C'é una funzione mysql_last_id o qualcosa che assomigla e Che ti torna l'ultimo id creato.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    fai la insert sulla prima tabella, recupera l'id autoincrement con la funzione mysql_insert_id() e inseriscilo nella seconda tabella

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    110
    grazie per le risposte non la conoscevo questa funzione :-)

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.