Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Query tra 2 tabelle mysql

    Buongiorno a tutti vi scrivo in quanto avrei bisogno di creare una query tra 2 tabelle in mysql.
    Mi spiego meglio, io utilizzo joomla + VM, in mysql ho creato una tabella per i finanziamenti contenente il valore del bene, numero rate, importo rata, tan e taeg.
    Ora nel dettaglio prodotto vorrei visualizzare l'importo rata in base al numero di rate.
    Poiché non conosco benissimo PHP mi sta venendo molto difficile capire la soluzione.
    La tabella è così formata (inserisco valori di esempio)

    valore bene / n. rate / imp rata / tan / taeg
    200 / 6 / 50 / 13.47 / 14.25
    200 / 12 / 40 / 15.38 / 18.20
    201 / 48 / 60 / 17.58 / 19.58


    Vi spiego come dovrebbe comportarsi la query. Quindi:
    1. Se prezzo prodotto < 200 visualizza messaggio ' prodotto non finanziabile '
    2. Se prezzo prodotto - valore bene è < 1 e n. rata = 6 allora
    visualizza importo rata / tan e taeg
    3. Se prezzo prodotto - valore bene è < 1 e n. rata = 12 allora
    visualizza importo rata / tan e taeg
    4. Se prezzo prodotto > 8000.00 visualizza messaggio ' prodotto non finanziabile '

    Per il punto 2 e 3 credo che il codice si possa unificare in modo che mi faccia vedere tutti i valori (importo rata / tan / taeg) senza dover interrogare ogni volta il n. rata.

    Grazie a tutti per l'aiuto

    Ps. La tabella dove sono presenti valore bene / l'importo rata ecc si chiama finanziamento
    mentre la tabella che contiene i prezzi dei beni si chiama virtuemart_product_prices ed il relativo campo product_price
    Ultima modifica di LinuxNewbe; 26-08-2014 a 07:56

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prezzo prodotto dove viene valorizzato?
    i punti 2 e 3 cosa dovrebbero significare? da come lo hai scritto mi pare che tu voglia mostrare le rate solo se la differenza tra il prezzo e il valore del bene è inferiore o uguale a 0 e non ne capisco il senso

    per rimanere meramente nel tema della tua richiesta, devi usare dei controlli if/else
    Codice PHP:
    if($prezzo_prodotto >= 200 AND $prezzo_prodotto <= 8000) {
        
    //verifica i punti 2 e 3 della tua lista
    }
    else echo 
    "prodotto non finanziabile"

  3. #3
    ciao e grazie per la risposta
    Spero di riuscire a spiegarmi bene.
    Allora .. il prezzo del prodotto potrebbe essere 581,50
    La tabella nel mysql che ho creato contiene tutti gli importi delle rate da 150€ a 8000€ pertanto quello che vorrei visualizzare nel dettaglio prodotto è quello che si avvicina di + al prezzo del prodotto
    Quindi .. se il prezzo prodotto è appunto 581,50
    La rata corrispondente da visualizzare sarà quella nella colonna valore_bene = a 582.00
    Ecco perché avevo pensato di creare una query in questo modo
    se valore_bene - prezzo prodotto è minore di 1 visualizza importo_rata taeg e taeg.

    Grazie ancora per l'aiuto

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    quindi una query tipo questa?
    codice:
    SELECT rata, tan, taeg FROM tabella where (valore_bene - $prezzo_prodotto) < 1 AND num_rate = $num_rata
    $prezzo_prodotto e $num_rate li passi tramite php dopo che entri nell'if

  5. #5
    Esattamente qualcosa del genere
    Quindi questa è la query .. unendo quindi il tutto quale sarebbe il risultato ?
    Poiché il prezzo prodotto si trova in un'altra tabella come faccio a richiamarla ?
    Grazie ancora ..

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    il risultato sarebbe una cosa simile a questa, da adattare alle tue esigenze
    Codice PHP:
    <?php
    // prima dovrai aprire una connessione al DB, io la identifico con $conn


    $id_prodotto 10// valorizza tu questa variabile in maniera dinamica
    $num_rate 6// valorizza tu questa variabile in maniera dinamica

    // recupera il prezzo del prodotto
    $rec_prezzo "SELECT prezzo_prodotto FROM tabellaProdotti WHERE id_prod = $id_prodotto";
    $ex_rec_prezzo mysqli_query($conn$rec_prezzo) or die(mysqli_error());
    $res_prezzo mysqli_fetch_array($ex_rec_prezzo);
    $prezzo_prodotto $res_prezzo['prezzo_prodotto']; // uso questo metodo perché suppongo che ad un id_prod corrisponda un solo prezzo nella tua tabella

    // verifico se posso finanziarlo e in caso positivo recupero le rate
    if($prezzo_prodotto >= 200 && $prezzo_prodotto <= 8000) {
        
    $rec_dati_fin "SELECT imp_rata, tan, taeg FROM tabellaRate where (valore_bene - $prezzo_prodotto) < 1 AND num_rate = $num_rate";
        
    $ex_rec_dati_fin $res_prezzo mysqli_fetch_array($rec_dati_fin);
        
    $res_dati_fin mysqli_fetch_array($ex_rec_dati_fin);


        
    $imp_rate $res_dati_fin['imp_rata'];
        
    $tan $res_dati_fin['tan'];
        
    $taeg $res_dati_fin['taeg'];


        echo 
    "$imp_rate | $tan | $taeg";
    }
    else echo 
    "prodotto non finanziabile";
    ?>
    adesso prova a sistemarlo per le tue esigenze

  7. #7
    Buongiorno, ti ringrazio davvero tanto clasku, appena mi libero cercherò di adattarlo al mio sito e vi farò sapere.

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.