salve a tutti spero di essere nella sezione giusta ma direi di si

Vi spiego il mio problema, sto personalizzando un template per Virtuemart in Joomla! precisamente il modulo che va a generare la pagina dell'insieme dei prodotti, questo modulo in teoria si occupa di prendere ogni prodotto stampare le varie cose e passare al successivo e via via per tutti quelli presenti nella categoria selezionata quindi il mio codice è questo:

Codice PHP:
<?php if( !defined'_VALID_MOS' ) && !defined'_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);

$button_lbl $VM_LANG->_('PHPSHOP_CART_ADD_TO');?>
 
<table width="247px" border="0" cellpadding="0" cellspacing="0" style="background-color: #ECE8E3;">
  <tr>
    <td width="10px" height="50px"></td>
    <td width="225px" height="50px" colspan="2" nowrap="nowrap">
        <p style="font-family:Verdana, Geneva, sans-serif; font-size:12px; color:#096">
            [b]
                [url="<?php echo $product_flypage ?>"]<?php echo  substr_replace($product_name,"...",23?>[/url]
            [/b]
        </p>
        <p style="font-family:Verdana, Geneva, sans-serif; font-size:9px; font-style:italic;">
                <?php echo substr_replace($product_s_desc,"...",35?></p></td>
    <td width="10px"  height="50px" nowrap="nowrap"></td>
    </tr>
  <tr>
    <td width="10px" rowspan="2" align="center"></td>
    <td width="227px" height="150px" colspan="2" align="center" style="vertical-align:middle; background-color: #FFF;">[url="<?php echo $product_flypage ?>"] <?php echo ps_product::image_tag$product_thumb_image'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' ?>[/url]</td>
    <td width="10px" rowspan="2" align="center"></td>
    </tr>
  <tr>
    <td width="113px" height="50px" style=" text-align:left; vertical-align:middle; font-family:Verdana, Geneva, sans-serif; font-size:12px;">[b]Formato:[/b]

    [b]Prezzo Base:[/b]</td>
    <td width="114px" height="50px" style="text-align:right; vertical-align:middle; font-family:Verdana, Geneva, sans-serif; font-size:12px;"><span style=";">[b]1 Litro [/b]

    [b]<?php echo $product_price ?>[/b]</span></td>
  </tr>
  <tr>
    <td width="247px"  height="50px" colspan="4" style="text-align:center; vertical-align:middle;">
        <form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="addtocart<?php echo $product_id ?>" class="addtocart_form" <?php if( $this->get_cfg'useAjaxCartActions') && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>><a href="<?php echo $product_flypage ?>">
            <input height="20px" name="Dettagli" type="submit" value="Dettagli" style="background:#999; border:solid 1px #FFF; font-family:Verdana, Geneva, sans-serif; font-size:12px; color:#FFF; padding:2px; height:20px;"/></a>
            <input type="text" class="inputboxquantity" size="4" id="quantity<?php echo $product_id?>" name="quantity[]" value="1" />
            <input type="button" class="quantity_box_button quantity_box_button_up" onclick="var qty_el = document.getElementById('quantity<?php echo $product_id?>'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;return false;" />
            <input type="button" class="quantity_box_button quantity_box_button_down" onclick="var qty_el = document.getElementById('quantity<?php echo $product_id?>'); var qty = qty_el.value; if( !isNaN( qty ) &amp;&amp; qty > 0 ) qty_el.value--;return false;" />
            <input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" style="background:#00B4B4; border:solid 1px #FFF; font-family:Verdana, Geneva, sans-serif; font-size:12px; text-align:center; vertical-align:middle; color:#FFF; padding:2px; width:65px; height:20px"/>
                <input type="hidden" name="category_id" value="<?php echo  @$_REQUEST['category_id'?>" />
                <input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
                <input type="hidden" name="prod_id[]" value="<?php echo $product_id?>" />
                <input type="hidden" name="page" value="shop.cart" />
                   <input type="hidden" name="func" value="cartadd" />
                <input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
                <input type="hidden" name="option" value="com_virtuemart" />
                <input type="hidden" name="set_price[]" value="" />
                <input type="hidden" name="adjust_price[]" value="" />
                <input type="hidden" name="master_product[]" value="" />

        </form>
    </td>
  </tr>
  <tr>
    <td width="10px" height="50px"></td>
    <td height="50px" colspan="2" style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">Altri formati disponibili:

&lt;formati&gt;</td>
    <td width="10px" height="50px"></td>
  </tr>
</table>
questo modulo l'ho ridisegnato ex-novo ed originariamente l'Add to cart e la quantity box venivano chiamati da un file esterno, per necessità di personalizzazione del file stesso ho inglobato manualmente lo stesso file nel mio codice, stiamo parlando del contenuto dei tag <form>...</form> il bottone dettagli è stato fatto nuovo! bene premesso tutto questo ecco la problematica:
lanciando il file genera correttamente tutto, nomi, immagine collegamenti, ma dentro il tag form si perde! ovvero:
Il bottone dettagli funziona correttamente per tutti i prodotti pubblicati
La quantity box attiva è solo la prima generata (ovvero qualsiasi freccia Up e down cliccata nella pagina interagisce solo con il primo box nella prima cella della prima colonna)
I valori che dovrebbero poi essere passati al bottone aggiungi sono quelli dell'ultimo prodotto nell'ultima riga sto parlando di:

codice:
<input type="hidden" name="category_id" value="<?php echo  @$_REQUEST['category_id'] ?>" />
    			<input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
    			<input type="hidden" name="prod_id[]" value="<?php echo $product_id?>" />
    			<input type="hidden" name="page" value="shop.cart" />
   				<input type="hidden" name="func" value="cartadd" />
    			<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
    			<input type="hidden" name="option" value="com_virtuemart" />
    			<input type="hidden" name="set_price[]" value="" />
    			<input type="hidden" name="adjust_price[]" value="" />
    			<input type="hidden" name="master_product[]" value="" />
In questo modo se io ho 10 prodotti la quantità aumenta e diminuisce solo nel primo in alto ma il prodotto aggiunto al carrello a cui viene passata la quantità è il decimo, anche se io clicco nel bottone del quinto e seleziono la quantità nel quarto!

siccome la stringa
Codice PHP:
<?php echo $product_flypage ?>
viene generata correttamente sono arrivato a pensare di cercare una maniera di fargli cercare in quella stringa il valore che mi interessa essendo che è delimitato sempre dagli stessi caratteri... solo che non so come fare, per la cronaca stampa questa stringa:
codice:
it/accessori-depilazione.html?page=shop.product_details&flypage=flypage.tpl&product_id=378&category_id=67
quello che interesserebbe a me è il valore numerico del product_id= ma non so dove sbattere la testa mi piacerebbe capire perchè nonostante questo sia un modulo per un solo prodotto si incasinano tutti ed interagiscono tra loro... ho capito solo che se risolvessi la generazione dell'id corretto si risolverebbe tutto...

grazie a chi si interessa!