Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Due tabelle, due query

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133

    Due tabelle, due query

    Ciao a tutti! Scusate l'ignoranza ma non sò più andare avanti, mi potete aiutare per favore?

    Ho due tabelle nel db: INSERIMENTO DATI CLIENTI (dove vanno tutti i clienti fissi, ma diventano mobili dal momento in cui li trasferisco...e il trasferimento funziona) e TRASFERIMENTO (dove vanno i clienti trasferiti).

    Che ho combinato?

    Pagina clienti_totali.php
    Codice PHP:
    $query1=mysql_query("SELECT cognome, nome, data_di_nascita FROM inserimento_dati_clienti ORDER BY cognome");//mi dà i dati della tabella clienti fissi(mobili per il trasferimento)
    $query2=mysql_query("SELECT cognome, nome, data_di_nascita FROM trasferimento ORDER BY cognome");//mi dà i dati della tabella dove vanno i clienti trasferiti
    $query3=mysql_query("");//la devo fare, che ci devo mettere?


    $inserimento_dati_clienti=mysql_num_rows($query1);
    $trasferimento=mysql_num_rows($query2);
    $clienti_totali=mysql_num_rows($query3);
    $clienti_totali=$inserimento_dati_clienti+$trasferimento;//sommo i clienti fissi(mobili per il trasferimento) con i clienti trasferiti, in modo tale che io abbia un elenco totale dei clienti


    echo "<table>";

    while(
    $clienti_totali=mysql_fetch_array($query3)){
    $cognome=$clienti_totali['cognome'];
    $nome=$clienti_totali['nome'];
    $data_di_nascita=$clienti_totali['data_di_nascita'];
    echo 
    "<tr><td>$cognome</td><td>$nome</td><td>$data_di_nascita</td></tr>";
    }
    echo 
    "</table>";
    ?> 
    Pagina trasferimento.php (che funziona)

    Codice PHP:
    $query=mysql_query("SELECT cognome, nome, data_di_nascita FROM trasferimento ORDER BY cognome");
    $trasferimento=mysql_num_rows($query);

    $id_cl=$trasferimento['id_cl'];
    $cognome=$trasferimento['cognome'];
    $nome=$trasferimento['nome'];
    $data_di_nascita=$trasferimento['data_di_nascita'];


    $id_cl=htmlspecialchars($_GET['id_cl']); 
    $query1=mysql_query("SELECT * FROM inserimento_dati_clienti WHERE id_cl='$id_cl'");
    $inserimento_dati_clienti=mysql_fetch_array($query1);

    $cognome=$inserimento_dati_clienti['cognome']; 
    $nome=$inserimento_dati_clienti['nome']; 
    $data_di_nascita=$inserimento_dati_clienti['data_di_nascita']; 

    $query2="INSERT INTO trasferimento (cognome, nome, data_di_nascita) VALUE('$cognome', '$nome', '$data_di_nascita')"
    $inserisci_in_ball=mysql_query($query2); 

    $query3=mysql_query("DELETE FROM inserimento_dati_clienti WHERE id_cl='$id_cl'"); 
    Grazie!!!

    Ciao!!!

  2. #2

    Re: Due tabelle, due query

    Originariamente inviato da zzzyyy23 Che ho combinato?
    Se non lo sai tu ....


    E poi cosa significa fissi/mobili?
    Cosa devi fare?
    Qual'è il problema?


    Qualche dettaglio e precisazione non farebbe affatto male :master:

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    Codice PHP:
    $query1=mysql_query("SELECT cognome, nome, data_di_nascita FROM inserimento_dati_clienti ORDER BY cognome");//mi dà i dati della tabella clienti fissi(mobili per il trasferimento)
    $query2=mysql_query("SELECT cognome, nome, data_di_nascita FROM trasferimento ORDER BY cognome");//mi dà i dati della tabella dove vanno i clienti trasferiti
    $query3=mysql_query("");//la devo fare, che ci devo mettere?


    $inserimento_dati_clienti=mysql_num_rows($query1);
    $trasferimento=mysql_num_rows($query2);
    $clienti_totali=mysql_num_rows($query3);
    $clienti_totali=$inserimento_dati_clienti+$trasferimento;//sommo i clienti fissi(mobili per il trasferimento) con i clienti trasferiti, in modo tale che io abbia un elenco totale dei clienti


    echo "<table>";

    while(
    $clienti_totali=mysql_fetch_array($query3)){
    $cognome=$clienti_totali['cognome'];
    $nome=$clienti_totali['nome'];
    $data_di_nascita=$clienti_totali['data_di_nascita'];
    echo 
    "<tr><td>$cognome</td><td>$nome</td><td>$data_di_nascita</td></tr>";
    }
    echo 
    "</table>";
    ?> 
    Non mi è ben chiaro come tu possa fare $clienti_totali['nome'] & simili utilizzando mysql_num_rows..

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133

    Re: Re: Due tabelle, due query

    Originariamente inviato da pictor
    Se non lo sai tu ....


    E poi cosa significa fissi/mobili?
    Cosa devi fare?
    Qual'è il problema?


    Qualche dettaglio e precisazione non farebbe affatto male :master:
    Ho due tabelle nel db: INSERIMENTO DATI CLIENTI (dove vanno tutti i clienti fissi, ma diventano mobili dal momento in cui li trasferisco...e il trasferimento funziona) e TRASFERIMENTO (dove vanno i clienti trasferiti).

    Praticamente dal momento in cui li trasferisco vengono sottratti dall'altra lista...ecco perchè li ho nominati fissi/mobili (dal momento in cui li trasferisco).

    Che dettaglio dovrei dare in più? Non ho capito la domanda scusami...

    Sò che con una tabella basterebbe mettere un record e poi mettere un WHERE record, ma a me servono due tabelle ma non riesco...sono qui per imparare...grazie!

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Non mi è ben chiaro come tu possa fare $clienti_totali['nome'] & simili utilizzando mysql_num_rows..
    Sono qui per imparare, mi puoi dire cosa stò sbagliando, io non ci arrivo...

    Grazie in ogni caso

    Ciao!

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Io per unire le due tabelle avevo provato ad usare AND invece dovevo usare UNION

    La terza query
    Codice PHP:
    $query3=mysql_query("SELECT cognome, nome, data_di_nascita FROM inserimento_dati_clienti ORDER BY cognome UNION SELECT cognome, nome, data_di_nascita FROM trasferimento ORDER BY cognome"); 
    Solo che ora mi dà questi warning

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\clienti_totali.php on line 38

    Notice: Undefined variable: inserimento_dati_clienti in c:\programmi\easyphp1-8\www\clienti_totali.php on line 39

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\clienti_totali.php on line 45


    Grazie!

  7. #7

    Re: Due tabelle, due query

    Originariamente inviato da zzzyyy23
    Codice PHP:
    $query3=mysql_query("");//la devo fare, che ci devo mettere? 
    Codice PHP:
    query3 mysql_query("SELECT SUM(Num) FROM (SELECT count(*) as Num FROM inserimento_dati_clienti UNION SELECT count(*) as Num FROM trasferimento)"); // questa dovrebbe essere sufficiente a tirarti fuori la somma totale dei clienti.... credo.... ^_^ 
    Comunque probabilmente non vanno a buon fine le query, e quindi non ti viene generata una corretta "MySQL Resource/Risorsa".

    mysql_query ti restituisce o il risultato, o FALSE in caso non vada a buon fine la query.

    Quindi prima di andare ad usare il risultato della query dovresti prima fare un:
    Codice PHP:
    if($query3)
       
    // operazione sul risultato query3
    else
       die(
    "query fallita"); 
    Se ti dà "query fallita" probabilmente c'è un errore SQL.
    Dovresti provare ad eseguire in MySQL la query che hai fatto e vedere dove ti dà gli errori di esecuzione, e poi risolverli.
    Non saprei dirti cosa correggere, ma forse per fare la UNION gli dà noia l' "ORDER BY cognome", anche se non credo sia quello.

    Intanto lavora sulla query in MySQL, che almeno ti dice l'errore SQL, dopodichè la metti dentro PHP.

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Grazie pictor, proverò domani, ora sono stanco morto e la fidanzata mi chiama...AIUTOOOO!!!

    Ciao, notte!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    218
    mysql_num_rows recupera il numero dei record che corrispondono a quella query.

    mysql_fetch_assoc restituisce degli array con i nomi dei campi del database per l'estrazione dei dati.

    Per sapere da PHP l'errore SQL basta scrivere

    Codice PHP:
    $query mysql_query("SELECT ....") or die ("Errore: ".mysql_error); 

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 © 2024 vBulletin Solutions, Inc. All rights reserved.