Ok. Domani ci provo e ti faccio sapere. Sicuramente visto la mia inesperienza avrò bisogno del tuo aiuto.Si esattamente cosi
mmm..... bella domanda questa dipende come stai facendo gli INPUT e le SELECT.
IMPORTANTE!!
prima di fare tutto consiglio un bel BACKUP generale di tutto.
Fai delle prove e tienimi aggiornato.
$query="SELECT * FROM tblsinistri WHERE tblsinistri.tblanagrafica_id = 'tblanagrafica.tblanagrafica_id'";
In questo modo sono riuscito ad intercettare il valore dell'idanagrafica della tabella anagrafica che è uguale a tblanagrafica_id della tabella tblsinistriin questo modo hai creato una variabile, mi manderesti una porzione piu lunga della tua pagina?
magari riesco ad aiutarti meglio.
SELECT * FROM tblanagrafica, tblsinistri WHERE tblanagrafica.idanagrafica = tblsinistri.tblanagrafica_id AND tblanagrafica.CodiceFiscale= '".$CodiceFiscale."'
//legge ANAGRAFICA per controllare che non sia già presente
//connessione al server DB
$myconn=mysql_connect("localhost", "utente", "pw") or die ("Connessione impossibile");
//Selezione del database
require "Connessione.php";
$db=mysql_select_db("gestionesinistri", $myconn) or die ("Database inesistente!");
//Visualizzazione dei record di una tabella
$query="SELECT COUNT(*) as tot FROM tblanagrafica WHERE CodiceFiscale = '".$CodiceFiscale."'";
$tabella=mysql_query($query, $myconn) or die ("Attenzione: errore nella query 1");
//Esecuzione della query
$row=mysql_fetch_assoc($tabella);
$righetot=$row['tot'];
if ($righetot == 0) {
$query="INSERT INTO gestionesinistri.tblanagrafica (idanagrafica,Nominativo,CodiceFiscale,Indirizzo,Residenza,TelefonoFisso,Cellulare,Mail)
VALUES ('','$Nominativo','$CodiceFiscale','$Indirizzo','$Residenza','$TelefonoFisso','$Cellulare','$Mail')";
mysql_query($query, $myconn) or die ("Attenzione: errore nella query 2");
}
$query="SELECT * FROM tblanagrafica WHERE CodiceFiscale = '".$CodiceFiscale."'";
$tabella=mysql_query($query, $myconn) or die ("Attenzione: errore nella query 3");
//Esecuzione della query
$riga=mysql_fetch_array($tabella);
$idut=$riga['idanagrafica'];
$Pratica_control = mysql_query("SELECT * FROM tblsinistri WHERE NumPratica = '".$NumPratica."' AND AnnoSinistro = '".$AnnoSinistro."'");
if(mysql_num_rows($Pratica_control)) {
}
if (mysql_result($Pratica_control, 0) > 0) {
//die('Hai già inserito questo record.');
echo "<br><br><b><span style=\"color:blue\">  
<span style=\"color:red; font-size: 14pt\">Attenzione, la pratica digitata: <span style=\"color:blue\"><br><br>
Numero: ". $NumPratica ." relativa all'anno ".$AnnoSinistro."<br>
<br>
<span style=\"color:red; font-size: 14pt\"> risulta in lavorazione!
<hr />
<span style=\"color:red; font-size: 14pt\">
<br><br>
<span style=\"color:red; font-size: 14pt\">Correggi la digitazione... <input style='color:black' type='button' value=' Back ' onclick='history.go(-1);return true;'></form><br><br>";
exit;
}
elseif (mysql_result($query, 0) == 0) {
//die('Hai già inserito questo record.');
}
//FINE VERIFICA SE IL RECORD E' PRESENTE NEL DB
//NUOVA QUERY CHE INTERCETTA IL VOLORE DELL'ID PRESENTE
$query = mysql_query("SELECT * FROM tblanagrafica, tblsinistri WHERE tblanagrafica.idanagrafica = tblsinistri.tblanagrafica_id AND tblanagrafica.CodiceFiscale= '".$CodiceFiscale."'");
$result = mysql_fetch_assoc($query);
if($result) {
echo 'id: ', $result['tblanagrafica_id'];
} else {
echo 'id non trovato nel database';
echo $result;
}
//FINE QUERY CHE INTERCETTA IL VOLORE DELL'ID PRESENTE
$query="INSERT INTO gestionesinistri.tblsinistri (idsinistri,tblanagrafica_id,Nominativo,CodiceFiscale,NumPratica,AnnoSinistro,ProtArrivo)
VALUES ('','$idut','$Nominativo','$CodiceFiscale','$NumPratica','$AnnoSinistro','$ProtArrivo')";
mysql_query($query, $myconn) or die (" <br><br><left><b><span style=\"color:red; font-size: 14pt \"><span style=\"color:blue height:1;width:1; background-color:white\"> Attenzione: questo codice fiscale risulta presente in archvio...controlla la digitazione!!!
<input type=\"button\" value=\" Correggi \" onclick=\"history.back(1)\"></left>");
$idut=$riga['idanagrafica'];
$query="INSERT INTO gestionesinistri.tblverbali (idverbali,tblanagrafica_id,Nominativo,CodiceFiscale,NumPratica,AnnoSinistro,ProtArrivo)
VALUES ('','$idut','$Nominativo','$CodiceFiscale','$NumPratica','$AnnoSinistro','$ProtArrivo')";
mysql_query($query, $myconn) or die ("Attenzione: errore nella query 4");
header('location:../views/VisualizzaSinistro_Insert.php');//reindirizza alla pag
Aspetta scusa allora adesso quando inserisci un nuovo sinistro riesci ad inserire correttamente anche idanagrafica corretto??
Ora cosa devi fare?? delle query per recuperare cosa?
Si inserisco idanagrafica nella tabella anagrafica e lo stesso valore lo passo a tblanagrafica_id nella tabella tblsinistri.Aspetta scusa allora adesso quando inserisci un nuovo sinistro riesci ad inserire correttamente anche idanagrafica corretto??
Ora cosa devi fare?? delle query per recuperare cosa?
Da come scrivi mi sebra che tu hai un form che compilato andra a creare sia il sinistro che il cliente...Giusto?Da come scrivi mi sebra che tu hai un form che compilato andra a creare sia il sinistro che il cliente...Giusto?
Se è cosi non va più bene.
Farai:
x1 Form per inseriri il clienti in tblanagrafica - dove inserirai nome, cognome, cf, indirizzo, ecc
x1 Form per inserire i sinistri in tblsinistri - dove inserirai idanagrafica, sinistro, data, ecc
Comunque mi sto facendo un idea del tuo sistema e più ci penso più mi sembra di capire che era già impostato correttamente, ed era solo da sistemare il modo di inserimento e recupero delle informazioni.
Da come scrivi mi sebra che tu hai un form che compilato andra a creare sia il sinistro che il cliente...Giusto?
Si crea un record nella tabella anagrafica e uno nella tabella sinistri ed un altro ancora nella tabella verbali che finora ho omesso.
Secondo me basterebbe un alert di controllo al momento che viene inserito il nuovo record, ma soltanto se il codice fiscale o l'idanagrafica è lo stesso, se diverso fa l'insert senza alert.
Oppure come dici te devo fare due form indipendenti dove prima inserisco la persona e successivamente vado ad inserire il sinistro recuperando i dati dalla tabella anagrafica incrementando la tabella sinistri di un record?
Se è possibile mi piacerebbe l'alert...
ma ci vuole java e non lo so fare
Si però mi serve un alert che mi dia la possibilità di inserire il record quando è un nuovo sinistro relativo ad un utente già presente nel db. In rete ho trovato qualche esempio ma non mi va a leggere nel db per vedere se c'è già quello& id, ma semplicemente inserisce o non inserisceAllora qua dipende da come voui gestire te il tuo sistema.
Personalmente se devo inserire un sinistro significa che prima di fare cio la persona è già mio cliente, di conseguenza l'ho già inserito precedentemente nella mia tabella anagrafica.
Al momento dell'inserimento del sinistro non devo andare in nessun modo a creare un record o incrementare qualcosa all'interno di tblanagrafica.
A questo punto farei nel form sinistri un campo codice cliente (che sarà id_anagrafica) e un campo CF
Come hai scritto qua appena crei il sinistro fai controllo su id_anagrafica(che può diventare una sorta di tuo codicecliente) e sul CF.
Se questi due non corrispondono fai un alert dove ti avvisa che quel CF appartiene ad un altro Cliente.
Infatti, ma è questo che non so fareper fare un controllo prima di eseguire la query devi andare a lavorare un po in javascript e ajax per farlo in background prima di inviare il form.
Se vuoi ti mando il file sql delle tabelle e le pagine di inserimento.e purtroppo con le mie competenze cosi a voce non riesco ad aiutarti, dovrei avere file e db sott'occhio
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?