Ordinamento colonne

Panta_Rei

Nuovo Utente
17 Apr 2008
9
0
0
Salve a tutti. Ho un bel problema.
Ho la seguente funzione.

PHP:
Function VisualizzaTabellaFooter($elencotabelle,$criterioricerca,$testodescrizione){ 
INCLUDE('config.php'); 
################################### 
// Funzione che visualizza i dati contenuti nella tabella listini. Vengono visualizzati in 
   //una tabella che ha righe di colore alternato, intestazione cliccabile per cambiare 
     //  l'ordinamento dei dati, scrollabile. 
############################################################# 
$connessione = mysql_connect($db_host, $db_user,$db_password) or die("Connessione fallita !"); 
@mysql_select_db($db_name) or die("Selezione Database fallita !"); 

$testodescrizione=$_GET['testodescrizione']; 
$elencotabelle=$_GET['elencotabelle']; 

if (isset($_GET['field'])) { 
$campo = $_GET['field'] == "descrizione" ? "descrizione" : "Codice_articolo" ; 
} else { 
$campo = "Costruttore"; 
} 
if (isset($_GET['sort'])) { 
$verso = $_GET['sort'] == "desc" ? "DESC" : "ASC"; 
} else { 
$verso = "ASC"; 
} 

if (($elencotabelle=="listini" and  $testodescrizione="")or ($elencotabelle=="costruttori" or $elencotabelle=="categorie")){ 
          
//stampo la tabella listini per intero 

$sql="SELECT * from listini order by {$campo} {$verso}  "; 

$risultato_query=mysql_query($sql,$connessione)or die ("query 1 fallita"); 
                             
                            } 

else{   

    // stampo la tabella listini con il filtro WHERE Codice_articolo 
     
    $word=trim($_GET['testodescrizione']); 

    $sql1="SELECT * from listini where Codice_articolo like \"%$word%\"   order by {$campo} {$verso} 
"; 
    $risultato_query=mysql_query($sql1,$connessione)or ("Query sbagliata " .mysql_error()); 
     // controlla il risultato della query attraverso la funzione mysql_query 
} 

$res_count=mysql_num_rows($risultato_query); 
// numero totale di records 

$verso = ($verso == "ASC") ? "desc" : "asc"; 

  echo "<table width=\"747\" border=\"1\"> 
  <tr> 
    <td width=\"118\"class=\"intestazione\"width=\"223\"><a href='index.php?field=Costruttore&sort={$verso}'>Costruttore 
    </a></td> 

    <td width=\"164\" class=\"intestazione\"width=\"223\"><a href='index.php?field=Codice_articolo&sort={$verso}'>Codice_articolo</a></td> 

    <td width=\"149\" class=\"intestazione\"width=\"223\"><a href='index.php?field=descrizione&sort={$verso}'>descrizione</a></td> 

    <td width=\"141\"class=\"intestazione\"width=\"223\"><a href='index.php?field=listino&sort={$verso}'>listino</td> 

    <td width=\"141\"class=\"intestazione\"width=\"223\"><a href='index.php?field=Codice Barcode&sort={$verso}'>Codice Barcode</td> 

  </tr> 
</table>"; 
     echo" <div id=\"Layer1\"  style=\" width:747px; height:115px; overflow: auto;\"> "; 
$class = ''; 

while($riga=mysql_fetch_array($risultato_query)){ 
      
              $Costruttore=$riga["Costruttore"]; 
             $Codice_articolo=$riga["Codice_articolo"]; 
             $descrizione=$riga["descrizione"]; 
              $listino=$riga["listino"]; 
              $barcode=$riga["codice_barcode"]; 
              
             $class = $class == 'colore1' ? 'colore2' : 'colore1'; 
          
echo "<table width=\"747\" border=\"1\">"; 
             echo" <tr class= \"$class\"> "; 

    echo" <td  width=\"118\" class= \"$class\" >$Costruttore </td>"; 
    echo"<td    width=\"164\" >$Codice_articolo</td>"; 
     echo"<td    width=\"149\" >$descrizione</td>"; 
     echo"<td    width=\"141\" >$listino</td>"; 
     echo"<td    width=\"141\" >$barcode</td>"; 
    echo"</tr>"; 
         } 
         echo"</table>"; 
       echo"</div>"; 
echo"</td>"; 
  echo" </tr>"; 
echo"</body>"; 
echo"</html>"; 
}

La funzione fa il suo dovere quando si è nel primo if . Ovvero Stampa tutta la tabella 'listini' e cliccando sulle colonne fa l'ordinamento DI TUTTA LA TABELLA, in base a quel campo.

Quando invece entro nell' else , fa il filtro grazie alla condizione di WHERE, ma CLICCANDO SULLE COLONNE MI RESTITUISCE TUTTI I RECORD DELLA TABELLA, INDISTINTAMENTE, SENZA FILTRO.

Come posso sistemarla?
Grazie!
 

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Cliccando su uno dei link per l'ordinamento tipo questo:

<a href='index.php?field=Costruttore&sort={$verso}'>
non viene valorizzata la variabile $_GET['testodescrizione'], che quindi
al ricaricamento della pagina risulta vuota, eseguendo di fatto questa query:

SELECT * from listini where Codice_articolo like "%%" order by ...

prendendo tutto il DB!!!

Prova a modificare così il link:

<a href='index.php?testodescrizione={$word}&field=Costruttore&sort={$verso}'>
 

Panta_Rei

Nuovo Utente
17 Apr 2008
9
0
0
Effettivamente avevi ragione. Non passavano i valori nel link
Ho cambiato così e Funge:

PHP:
echo "<table width=\"747\" border=\"1\"> 
  <tr> 
    <td width=\"118\"class=\"intestazione\"width=\"223\"><a href='index.php?criterioricerca={$criterioricerca}&sort={$verso}&testodescrizione={$testodescrizione}&elencotabelle={$elencotabelle}'>Costruttore  
    </a></td> 

    <td width=\"164\" class=\"intestazione\"width=\"223\"><a href='index.php?criterioricerca={$criterioricerca}&sort={$verso}&testodescrizione={$testodescrizione}&elencotabelle={$elencotabelle}'>Codice_articolo</a></td> 

    <td width=\"149\" class=\"intestazione\"width=\"223\"><a href='index.php?criterioricerca={$criterioricerca}&sort={$verso}&testodescrizione={$testodescrizione}&elencotabelle={$elencotabelle}'>descrizione</a></td> 

    <td width=\"141\"class=\"intestazione\"width=\"223\"><a href='index.php?criterioricerca={$criterioricerca}&sort={$verso}&testodescrizione={$testodescrizione}&elencotabelle={$elencotabelle}'>listino</td> 

    <td width=\"141\"class=\"intestazione\"width=\"223\"><a href='index.php?criterioricerca={$criterioricerca}&sort={$verso}&testodescrizione={$testodescrizione}&elencotabelle={$elencotabelle}'>Codice Barcode</td> 

  </tr> 
</table>";
Grazie!
 
Discussioni simili
Autore Titolo Forum Risposte Data
Monital Ordinamento colonne PHP 40
E Ordinamento file decrescente PHP 5
L risolto visualizzazione e ordinamento dati PHP 1
D [ASP] ordinamento query Classic ASP 2
P [PHP] Ordinamento DB multitabellare PHP 2
D Mysql ordinamento risultati MySQL 4
P problema di ordinamento MySQL 17
M ordinamento array file txt in base al contenuto PHP 1
M Problema ordinamento array PHP 4
StarFish Ordinamento vettore C++ C/C++ 2
felino Ordinamento dinamico degli elementi visualizzati PHP 6
R ordinamento immagini con drag and drop e memorizzazione db PHP 1
Monital Rinominare le chiavi del multiarray dopo il suo ordinamento PHP 0
M Ordinamento Array PHP 3
E ordinamento array multidimensionale per un valore ottenuto tramite una funzione PHP 1
E JQRY + XML piccola rubrica con ordinamento e raggruppamento jQuery 1
P Sort di un array da ordinamento fisso PHP 4
D Ordinamento div HTML e CSS 12
A ordinamento PHP o MySql PHP 2
H Ordinamento dati da xml Flash 0
H Piccola applicazione per News con Php, Xml e Flash: problema ordinamento. XML 0
N Ordinamento in PHP PHP 5
Z query sql e script php per ordinamento dati tabella PHP 2
G Miglior ordinamento delle voci in un file css? HTML e CSS 3
M URGENTE: ORDINAMENTO LESSICOGRAFICO STRINGHE CON MERGESORT ricorsivo IN C (non C++) C/C++ 1
N Ordinamento Dati Database Classic ASP 2
matteoraggi Come cancellare le colonne di wordpress WordPress 0
E Tabella righe e colonne PHP 0
T colonne di tabelle mysql ordinate MySQL 0
M Esportare tabella in csv con intestazione di colonne PHP 6
max1974 raggruppare e girare i dati in colonne MySQL 11
A Somma delle colonne di una tabella pivot Database 6
S [PHP] Selezionare i campi non in comune con le altre colonne della tabella PHP 4
S [MS Access] Report con colonne duplicate MS Access 0
GraceHawk ACCESS e VBA: scorrere le righe e le colonne di una tabella? MS Access 3
S [PHP] selezionare colonne in comune con un altra tabella PHP 5
F [HTML] Google fogli ordinare per colonne HTML e CSS 0
Kolop [HTML] Menu a colonne stessa lunghezza HTML e CSS 7
A [HTML] due colonne responsive HTML e CSS 1
elpirata [PHP] Query per ricercare stringa in più colonne PHP 5
U [PHP - RISOLTO] Tabella dinamica: colonne selezionate da checkbox PHP 40
S [Javascript] Slider html: Mostrare immagini su 4 colonne Javascript 20
elpirata [PHP] Larghezza colonne Fpdf PHP 0
fabryx [PHP]RISOLTO: Trasformare righe in colonne assegnando singole variabili PHP 10
S [PHP] Selezionare tutte le colonne meno due PHP 6
P [HTML] [PHP] dividere lo schermo in tre colonne HTML e CSS 110
A Footer a 6 colonne equistanziato e centrato HTML e CSS 1
S Come estrapolare nomi colonne tabella e affiancare Input Radio PHP 16
K div a due colonne e div annidati HTML e CSS 17
neo996sps [PHP + MySQL] Tabella 5 colonne per N righe con un record per cella PHP 3

Discussioni simili