Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente

Max61

Utente Attivo
2 Mar 2014
666
3
18
Salve sono di nuovo a chiedere aiuto al forum. Come da titolo vorrei verificare prima di inserirlo se un codice fiscale è presente nel db e in caso positivo lasciare all'utente la scelta di inserirlo o meno.
Ho fatto questo controllo ma non riesco a lanciare un alert di conferma o meno dell'inserimento nel db.
PHP:
$CodiceFiscale_control = mysql_query("SELECT * from `tblanagrafica` WHERE CodiceFiscale = '$CodiceFiscale'");
if(mysql_num_rows($CodiceFiscale_control)) {
}
    if (mysql_result($CodiceFiscale_control, 0) > 0) {

echo"<b><br><br><br><br><span style=\"color:red; font-family:arial; font-size: 14pt\">
<i>Attenzione...codice fiscale presente nel database!</b></i></span>";
exit;
   }
    elseif (mysql_result($CodiceFiscale_control, 0) == 0) {
   }
Grazie dell'aiuto
Max61
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
Ciao,
non è più facile fare qualcosa del genere?
Codice:
<?php
    $CodiceFiscale_control = mysql_query("SELECT * from `tblanagrafica` WHERE CodiceFiscale = '$CodiceFiscale'");
    $esiste = mysql_num_rows($CodiceFiscale_control);
    if($esiste == 0)) {
        echo "Procedi all'inserimento";
    }else{
        echo"<b><br><br><br><br><span style=\"color:red; font-family:arial; font-size: 14pt\">
        <i>Attenzione...codice fiscale presente nel database!</b></i></span>";
        exit;
    }
?>
Fammi sapere che se avessi frainteso la tua richiesta cerco di aiutare in altro modo.
Ciao
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Ciao,
non è più facile fare qualcosa del genere?
Codice:
<?php
    $CodiceFiscale_control = mysql_query("SELECT * from `tblanagrafica` WHERE CodiceFiscale = '$CodiceFiscale'");
    $esiste = mysql_num_rows($CodiceFiscale_control);
    if($esiste == 0)) {
        echo "Procedi all'inserimento";
    }else{
        echo"<b><br><br><br><br><span style=\"color:red; font-family:arial; font-size: 14pt\">
        <i>Attenzione...codice fiscale presente nel database!</b></i></span>";
        exit;
    }
?>
Fammi sapere che se avessi frainteso la tua richiesta cerco di aiutare in altro modo.
Ciao
Ciao e grazie, io avrei in mente in caso il codice fiscale fosse già presente in alert con due risposte possibili si e no e l'utente sceglie quella che ritiene corretta. Invece da quello che vedo se non erro se è già presente non lo inserisce, è senza scelta.
Grazie
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
Quindi tu stai facendo diciamo un form dove fai inserire dei campi tra i quali anche il CF.
Una volta che l'utente da invio controlla se il CF esiste e da possibilità all'utente se procedere con l'inserimento o decidere se cambiarlo?

il CF non è già una cosa univoca? in questo caso non dovresti avere problemi di duplicati...o?


mi descriveresti meglio tutti i passaggi che devi o vuoi fare fare all'utente?

Grazie
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Si esattamente è un form con più campi relativi alla persona tra cui il codice fiscale con campo varchar e 3 tabelle: tblanagrafica, tblsinistri e tblverbali. Il codice fiscale siccome è l'unico dato univoco, se inserisci più volte lo stesso la tabella anagrafica non si incrementa perché prende lo stesso idanagrafica di quello presente, mentre incrementa le altre 2 tabelle correlate. Questo mi serve perché una stessa persona può avere più sinistri nell'anno però in caso di errore nella digitazione devo avere la possibilità di scegliere se è un nuovo sinistro alla stessa persona o è stato digitato il codice fiscale errato e quindi evito di fare l'insert.
Spero di essermi spiegato, altrimenti chiedi
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
Da quanto ho capito effettuare il controllo sul CF è sbagliato a mio aprere.
Andrei a farlo una prima colonna ID "AUTOINCREMENT"nella tabella anagrafica ed una seconda es."codicecliente", e dovrai andare ad utilizzare queste due per fare eventuali controllo su sinistri.

Doppiamente sbagliato permettere all'utente di procedere con l'inserimento. Se un utente sbaglia CF ed è convinto che sia corretto, andra ad inserire sinistri per altre persone.
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Da quanto ho capito effettuare il controllo sul CF è sbagliato a mio aprere.
Andrei a farlo una prima colonna ID "AUTOINCREMENT"nella tabella anagrafica ed una seconda es."codicecliente", e dovrai andare ad utilizzare queste due per fare eventuali controllo su sinistri.

Doppiamente sbagliato permettere all'utente di procedere con l'inserimento. Se un utente sbaglia CF ed è convinto che sia corretto, andra ad inserire sinistri per altre persone.
Infatti è quello che è successo, io pensavo di ovviare in questo modo...
Nella tabella sinistri non c'è un campo codice cliente e l'unico controllo che mi è venuto in mente è sul codice fiscale, ripeto perché univoco
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
Se posso consigliarti in ogni tabella che fai crea sempre una prima colonna ID con tipo campo AUTOINC e già quello andrà a semplificarti in futuro.

Non sarebbe più conveniente e sicuro a questo punto andare a far fare un login all'utente?
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Se posso consigliarti in ogni tabella che fai crea sempre una prima colonna ID con tipo campo AUTOINC e già quello andrà a semplificarti in futuro.

Non sarebbe più conveniente e sicuro a questo punto andare a far fare un login all'utente?
Cioè? Il login lo fanno per accedere alle pagine...
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
allora hai già risolto con ID in anagrafica.

fatto il login immagino che crei una SESSIONE invece che andare a fare i controlli e gli inserimenti con il CF lo fai con ID utente
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
allora hai già risolto con ID in anagrafica.

fatto il login immagino che crei una SESSIONE invece che andare a fare i controlli e gli inserimenti con il CF lo fai con ID utente
Capito. Però nel caso la stessa persona avesse più sinistri? Mi vi vuole comunque un controllo dove si possa decidere se inserire o meno la persona, giusto o mi sono perso qualcosa?
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Mmm........
Non ho capito questo ultimo punto.....
Inserisco Pippo Rossi con il relativo sinistro, durante l'anno Pippo Rossi ha un altro sinistro in questo caso Devo poter inserire tutti i dati necessari al nuovo sinistro e la tabella anagrafica non si incrementerà di uno perché è la stessa persona. E da quello che ho capito non posso, o sbaglio?
Altro scenario: un omonimo di Pippo Rossi ha un sinistro, bene io lo devo poter inserire perché è un altra persona, quindi la tabella anagrafica si incrementerà di uno e così le altre tabelle collegate
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Inserisco Pippo Rossi con il relativo sinistro, durante l'anno Pippo Rossi ha un altro sinistro in questo caso Devo poter inserire tutti i dati necessari al nuovo sinistro e la tabella anagrafica non si incrementerà di uno perché è la stessa persona. E da quello che ho capito non posso, o sbaglio?
Altro scenario: un omonimo di Pippo Rossi ha un sinistro, bene io lo devo poter inserire perché è un altra persona, quindi la tabella anagrafica si incrementerà di uno e così le altre tabelle collegate
Provo a spiegarmi: io ho bisogno di poter inserire lo stesso utente più volte e inserire anche un omonimo, è possibile con il controllo sull'id?
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
quando tu andrai ad inserire un nuovo sinistro nel tuo form ci sarà un campo esempio "id_cliente"

"dovrai ovviamente creare anche la colonna id_cliente nella tabella sinistri"

Ti troverai con Tabella "sinistri" che contiene id_cliente e Tabella "anagrafica" con tutti i clienti ed i loro dati.

Una volta che selezioni il sinistro andrai a vedere id_cliente e di conseguenza a recuperare tutti i dati di quel cliente.

Viceversa se invece vuoi vedere tutti i sinistri di un cliente andrai a fare una SELECT tabella sinistri WHERE id_cliente="x"



Non so se mi sono spiegati .
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Provo a spiegarmi: io ho bisogno di poter inserire lo stesso utente più volte e inserire anche un omonimo, è possibile con il controllo sull'id?
quando tu andrai ad inserire un nuovo sinistro nel tuo form ci sarà un campo esempio "id_cliente"

"dovrai ovviamente creare anche la colonna id_cliente nella tabella sinistri"

Ti troverai con Tabella "sinistri" che contiene id_cliente e Tabella "anagrafica" con tutti i clienti ed i loro dati.

Una volta che selezioni il sinistro andrai a vedere id_cliente e di conseguenza a recuperare tutti i dati di quel cliente.

Viceversa se invece vuoi vedere tutti i sinistri di un cliente andrai a fare una SELECT tabella sinistri WHERE id_cliente="x"



Non so se mi sono spiegati .
Quindi devo aggiungere una colonna a tutte e tre le tabelle?
 

bubino8

Utente Attivo
28 Apr 2017
343
19
18
27
BZ
Sbagli, l'utente non devi inserirlo più volte. l'utente viene inserito una sola volta in tbl_anagrafica e avrà un suo ID univoco.

piuttosto è corretto dire che l'utente verrà richiamato più volte nella tbl_sinistri sotto la colonna id_utente che conterrà appunto l'id dell'utente della quale dovrai andare a recuperare i dati.



nella tabella anagrafica una primissima colonna ID impostata su autoincremento, in questo modo quando crei un utente già quello lo renderà univoco.



nella tabella sinistri una colonna non necessariamente la prima con nome es."id_cliente"
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Sbagli, l'utente non devi inserirlo più volte. l'utente viene inserito una sola volta in tbl_anagrafica e avrà un suo ID univoco.

piuttosto è corretto dire che l'utente verrà richiamato più volte nella tbl_sinistri sotto la colonna id_utente che conterrà appunto l'id dell'utente della quale dovrai andare a recuperare i dati.



nella tabella anagrafica una primissima colonna ID impostata su autoincremento, in questo modo quando crei un utente già quello lo renderà univoco.



nella tabella sinistri una colonna non necessariamente la prima con nome es."id_cliente"
Sbagli, l'utente non devi inserirlo più volte.
Infatti è così adesso con lo stesso codice fiscale ne inserisco 1 soltanto nell'anagrafica e posso inserire più sinistri. Quindi dopo questo controllo li faccio con nuova colla id_ cliente, corretto?
Ci provo
 

Max61

Utente Attivo
2 Mar 2014
666
3
18
Sbagli, l'utente non devi inserirlo più volte.
Infatti è così adesso con lo stesso codice fiscale ne inserisco 1 soltanto nell'anagrafica e posso inserire più sinistri. Quindi dopo questo controllo li faccio con nuova colla id_ cliente, corretto?
Un altra cosa, come faccio con record già presenti nel db?