Scusate in anticipo per il titolo poco chiaro...

ho la seguente query SQL

Codice PHP:
SELECT     SUM(amountFinal) AS balance,
        
transactions.idCampaignsReward,
        
campaignsRewards.description
FROM transactions
LEFT JOIN campaignsRewards ON campaignsRewards
.idCampaignsRewards transactions.idCampaignsReward
GROUP BY description 
che stampa un Array del tipo:

Codice PHP:
Array
(
    [
0] => Array
        (
            [
balance] => 1.00
            
[idCampaignsReward] => 15
            
[description] => Cavitazione
        
)


oppure

Codice PHP:
Array
(
    [
0] => Array
        (
            [
balance] => 4.00
            
[idCampaignsReward] => 15
            
[description] => Cavitazione
        
)

    [
1] => Array
        (
            [
balance] => 1.00
            
[idCampaignsReward] => 13
            
[description] => Lampada solare
        
)


Tali valori della tabella "transactions" sono scelti dall'utente ed inseriti attraverso un form, i cui servizi (lampade, cavitazioni, etc etc) sono ovviamente estratti da un'altra query SQL:

Codice PHP:
SELECT     idCampaignsRewards,
        
balanceNeeded,
        
description
FROM campaignsRewards 
che restituisce un Array del genere

Codice PHP:
rray
(
    [
0] => Array
        (
            [
idCampaignsRewards] => 15
            
[balanceNeeded] => 1
            
[description] => Cavitazione
        
)

    [
1] => Array
        (
            [
idCampaignsRewards] => 13
            
[balanceNeeded] => 1
            
[description] => Lampada solare
        
)

    [
2] => Array
        (
            [
idCampaignsRewards] => 14
            
[balanceNeeded] => 1
            
[description] => Lettino solare
        
)


Ricapitolando quindi, l'utente da una select sceglie un servizio (description) da caricare (in quantità inserita a mano) o da scaricare (in quantità di 1).

Ovviamente i due "idCampaignsRewards" coincidono, quindi un cliente finale può avere "2 cavitazioni" sulla tessera e "3 lampade solari", ogni tipo di description è identificata dall' idCampaignsRewards.

In fase di storno (di 1 unità [balanceNeeded=>1] ) mi piacerebbe stampare un elenco di "radio input" i cui valori pero' sono visibili SE e SOLO SE il bilancio relativo è maggiore o uguale a 1.

Come dire, se un cliente ha sul suo account solo 2 lampade e zero cavitazioni, l'utente che usa il sw non può cliccare per stornare 1 cavitazione, ma legge solo "lampade solari".

Stampare l'elenco dei prodotti è facile:

Codice PHP:
echo '<select name="idCampaignsRewards">';
foreach (
$rewards as $key=>$value) {
echo 
'<option value="'.$value['idCampaignsRewards'].'">'.$value['description'].'</option>';
}
echo 
'</select>'
Solo vorrei che quel singolo prodotto venga o non venga stampata a seconda del bilancio.

Ho provato un

Codice PHP:
$rewards listRewards($idCampaignsList);
                                    if (
$rewards) {
                                        foreach (
$rewards as $key=>$value) {
                                            foreach (
$balanceSubscription as $key2=>$value2) {
                                                if (
$value2['balance']>0) {
                                                    echo 
'<option value="'.$value['idCampaignsRewards'].'">'.$value['description'].'</option>';
                                                }
                                            }
                                            
//echo '<input type="radio" name="idCampaignsRewards" value="'.$value['idCampaignsRewards'].'" />'.$value['description'].'
';
                                        } // foreach
                                    } // if 
ma non riesco a venirne a capo...

Come posso fare?

Grazie in anticipo e buon weekend!