Visualizzazione risultati 1 fino 9 di 9

Discussione: confronto valori di due tabelle diverse con inserimento

  1. #1
    Guest

    Predefinito confronto valori di due tabelle diverse con inserimento

    Ciao ragazzi il problema e' il seguente se ho una tabella chiamata "scuola" e un'altra tabella chiamata "casa" all'interno delle due tabelle ci sono due campi chiamati "nomi" e "classe" a me servirebbe che se all'interno di scuola ho la classe 3 e a nomi chiara e se nella tabella casa ho la stessa classe 3 ma a nomi lorenzo questa riga 3 lorenzo venga inserita' all'interno della tabella scuola insieme all'altra,se invece i campi delle due tabelle hanno i stessi valori " 3 chiara" la riga dalla tabella casa non va' inserita.
    Quale query usare?

  2. #2
    L'avatar di NEMO89
    NEMO89 non è connesso Neofita
    Data registrazione
    01-01-2004
    Residenza
    Benevento
    Messaggi
    29

    Predefinito

    Non ho capito molto, potresti spiegarti?
    Devi cercare in un mysql vero?
    Se devi cercare dei valori comuni tra due tabelle prova la funzione JOIN delle query mysql..

  3. #3
    Guest

    Predefinito

    Ciao esempio :
    tabella1= scuola
    campi= classe-nomi

    tabella2=casa
    campi=classe-nomi

    all'interno della tabella scuola ci sono inseriti 50 classe e nomi
    all'interno della tabella casa vengono inseriti 2 classe e nomi al giorno
    ora a me servirebbe una query in sql che ad ogni inserimento di classe e nome al'interno della tabella casa venga fatto il confronto con i nomi e classe al'interno della tabella scuola e se il campo classe coincide ma il nome non esiste allora questo record deve essere inserito dentro la tabella scuola .es:

    tabella SCUOLA nome_campoCLASSE 1C nome_campo ANDREA

    tabella CASA nome_campo classe 1C nome_campo ANDREA //questo nome esiste in tabella scuola percio' non va' inserito

    tabella CASA nome_campo classe 1C nome_campo PIERO //la classe e' giusta il nome non esiste quindi questa riga va' inserita nella tabella SCUOLA.

  4. #4
    L'avatar di NEMO89
    NEMO89 non è connesso Neofita
    Data registrazione
    01-01-2004
    Residenza
    Benevento
    Messaggi
    29

    Predefinito

    tabella SCUOLA nome_campoCLASSE 1C nome_campo ANDREA

    tabella CASA nome_campo classe 1C nome_campo ANDREA //questo nome esiste in tabella scuola percio' non va' inserito

    tabella CASA nome_campo classe 1C nome_campo PIERO //la classe e' giusta il nome non esiste quindi questa riga va' inserita nella tabella SCUOLA.


    Quindi vuoi uno script in php con queste tre query.. io avevo capito una sola query scusa.

    Iniziamo...

    Codice PHP:
    <?
    #Compilo le variabili con i dati di connessione
    $host = "localhost";
    $username = "Pippo";
    $pass = "Rossi";
    $db = "my_database";

    #Connetto
    mysql_connect($host,$username,$pass) or die ("Connessione fallita");
    #Seleziono il database
    mysql_select_db("$db");


    #Ora mi passo le variabili che invio tramite form in variabili normali

    $nome = $_POST['Nome'];
    $classe = $_POST['Classe'];

    #Aggiungo nella tabella CASA nome e classe che ho scritto

    mysql_query ("INSERT INTO CASA (Nome,Classe) VALUES ('".$Nome."','".$Classe."') or die ( "Non riesco ad eseguire la richiesta")");
    #Se la query non riesce si visualizzerà un messaggio di errore


    #Ora mi cerco in tabella SCUOLA nome e classe che ho scritto
    $MySql = mysql_query ("SELECT * FROM SCUOLA WHERE Nome='".$Nome."' AND Classe='".$Classe."'") or die ( "Non riesco ad eseguire la richiesta");
    #Se la query non riesce si visualizzerà un messaggio di errore ;) come sempre
    #I risultati della query li avrò nell'array $risultato, grazie alla funzione mysql_fetch_array
    $risultato = mysql_fetch_array($MySql);
    #mi riporto i dati in variabili più ricordabili
    $risultato['Nome'] = $ilnome;
    $risultato['Classe'] = $laclasse;

    #ed ora viene la funziona che cercavi tu
    #Se il nome non c'è in Scuola e la classe è come quella che hai inserito allora...
    if($ilnome=='' && $laclasse==$Classe){
    echo(
    'Non ci sono i dati inseriti nella tabella Scuola, procedo ad inserirli');
    #inserisco nella tabella Scuola nome e classe :)
    mysql_query ("INSERT INTO Scuola (Nome,Classe) VALUES ('".$Nome."','".$Classe."') or die ( "Non riesco ad eseguire la richiesta")");

    }else{
    #Altrimenti ti dico che c'è un errore
    echo("Dati gia inseriti");
    }

    ?>


    E' un pò un guro lungo di operazioni, forse qualcuno saprà fare di meglio ma io sono arruginito :) ma c'ho perso tempo e ti consiglio di provarlo.

    Se c'è qualche errore avvisami, errare humanum esse..

    in bocca al lupo per il tuo progetto e fammi sapere


    Leandro alias Nemo89

  5. #5
    Guest

    Predefinito

    Grazie Nemo89 soprattutto per il tempo che mi hai dedicato e comunque sarai pure arruginito (a me non sembra) ma sei veramente in gamba domani lo provo al lavoro e ti dico Grazie ancora

  6. #6
    L'avatar di NEMO89
    NEMO89 non è connesso Neofita
    Data registrazione
    01-01-2004
    Residenza
    Benevento
    Messaggi
    29

    Predefinito

    :) ecco, tutto il tempo "perso" viene ripagato con questa tua risposta.

    ;) tranquillo e fammi sapere, quando vuoi chiedi pure qui e avvisami per Pm così se posso ti aiuto e rimane una forma tangibile per i "futuri" ricercatori.

    A presto

  7. #7
    Guest

    Predefinito

    OK perfetto nemo89 funziona alla grande sei davvero in gamba spero che potro' ancora romperti le scatole se avessi altri problemi(sicuramente ne avro')mi hai risolto una bel casino grazie.

  8. #8
    L'avatar di NEMO89
    NEMO89 non è connesso Neofita
    Data registrazione
    01-01-2004
    Residenza
    Benevento
    Messaggi
    29

    Predefinito

    :) funziona?
    Bene credevo di aver fatto errori di sintassi o altro!

    divertiti col tuo script ciaooooo

  9. #9
    Guest

    Predefinito

    ti devo dire che ho usato l'ultima parte che era quella che mi serviva e che non riuscivo a metterla su' e va' che e' una bomba

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •