Newsgroup: it.comp.www.php
Titolo: HTML e PHP

Buongiorno,
 
chi mi da una mano a risolvere questo problema?
 
Ho queste righe all'interno del mio codice HTML che richiamano una
funzione in Java script:
 
<tr>         
             <th><a class='link' onclick="Ordine('<?php echo
$cdprod;?>', '<?php $colonna = "A"; echo $colonna;?>', '<?php echo
$tpordine;?>')">Codice Assieme</a></th>
             <th><a class='link' onclick="Ordine('<?php echo
$cdprod;?>', '<?php $colonna = "B"; echo $colonna;?>', '<?php echo
$tpordine;?>')">Descrizione assieme</a></th>
             <th><a class='link' onclick="Ordine('<?php echo
$cdprod;?>', '<?php $colonna = "C"; echo $colonna;?>', '<?php echo
$tpordine;?>')">Codice prodotto</a></th>
             <th><a class='link' onclick="Ordine('<?php echo
$cdprod;?>', '<?php $colonna = "D"; echo $colonna;?>', '<?php echo
$tpordine;?>')">Descrizione prodotto</a></th> 
         </tr>
 
.. poi sempre nel mio html ho queste righe che mi chiamano la funzione
(al suo interno l'SQL) per l'estrazione dei dati
 
<?php                                                              
$connetti = db2_connect('S5688B11A','XX400','XX400');
 
      require("php/Quadro_Produzione.php");
     $arr_produzione = Quadro_Produzione($cdprod, $colonna, $tpordine);
 
e andando a cliccare con il mouse su una delle quattro colonne della mia
tabella (sopra descritta) chiamo la funzione "Ordine":
 
function Ordine(cdprod, colonna, tpordine){     
 
location.href='
http://abc.ad20.it/sistemi/quadro_produzione.php?cdprod='+cdprod+'&colonna='+colonna+'&tpordine='+tpordine
;
 
}
 
per farla breve il campo $colonna mi individua la colonna di ordinamento
(A, B, C o D) della mia tabella, mentre la colonna $tpordine mi
individua il tipo di ordinamento e cioï¿œ ascendente o discendente. Per
queste due ultime operazioni ï¿œ incaricato il mio SQL
(Quadro_Produzione.php).
 
Per farla breve mi ritorna ordinata l'ultima colonna (D) cioï¿œ e come se
tenesse in considerazione l'ultima echo delle mie quattro istruzioni
nell'HTML: <th><a class='link' onclick="Ordine('<?php echo $cdprod;?>',
'<?php $colonna = "D"; echo $colonna;?>', '<?php echo
$tpordine;?>')">Descrizione prodotto</a></th> 
 
Come faccio a dirgli che voglio ordinare o la prima o la seconda o la
terza o la quarta colonna?
 
Grazie  
 
 
 

 $tpordine;?>')">Descrizione prodotto</a></th>
 
Perche` assegnando le variabili in mezzo al codice e usando 
register_globals tu stai sovrascrivendo il parametro che ti arriva dal 
browser ($_GET['colonna'], che register_globals ti rende disponibile 
anche come $colonna) e l'ultimo valore che le assegni prima della query 
e` 'D', quindi lui cerca sempre D.
 
Il problema piu` grosso del tuo codice e` che e` disordinato su tutti i 
livelli. Non stai separando la logica dalla presentazione, e nemmeno dai 
behaviour lato client (onclick e` deprecato da anni, per esempio).
 
Spiegarti come riorganizzare tutto e` un po' lungo (ci hanno scritto 
interi libri :) ), ma dovresti cercare di studiare almeno il paradigma MVC 
per la parte server, e aggiornarti un po' su javascript.
 
Che poi, tra l'altro, javascript nel tuo codice e` inutile, perche` 
ricarichi comunque la pagina. Puoi mettere semplicemente:
 
<a href="
http://abc.ad20.it/sistemi/quadro_produzione.php?cdprod=
<?php 
echo $cdprod;?>&colonna=A&tpordine=<?php echo $tpordine;?>">
 
Bye.

Hai perfettamente ragione sul discorso dell'MVC e sul fatto che il mio
codice non � ordinato. Per quanto riguarda i suggerimenti per la
sistemazione dello stesso codice, vanno bene le tue correzioni.
 
Grazie per la tua disponibilit�