Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML][MYSQL]Problem z sortowaniem
xyxy
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 22.01.2009

Ostrzeżenie: (0%)
-----


Jak w temacie, może mam gdzieś błąd, może mi czegoś brakuje, nie wiem... uczę się dopiero.
Tu mam wyswietlanie na stronce zawartości tabeli:
Kod
$result = mysql_query("SELECT `id`, `imie`, `nazwisko`, `firma` FROM `klienci");
    
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
     {
          print '<table><tr>
         <td width=15 align="center">
         <input type="radio" name="idselect" value="'.$row["id"].'"' . ($_POST['idselect'] == $row["id"] ? ' checked="checked"' : '') . ' />
         </td>';
        
         print '<td width="30" align="center">'.$row[id].'</td>
                <td width="100" align="center">'.$row[imie].'</td>
                <td width="100" align="center">'.$row[nazwisko].'</td>
                <td width="100" align="center">'.$row[firma].'</td>';
         print '</tr></table>';
    
     }

Tak wyglada select:
Kod
    <select name="sortowanie1">
           <option value="sort_firmy" <? print (strcmp($_POST['sortowanie1'], 'sort_firmy')?'':' SELECTED'); ?> >Firmy</option>
           <option value="sort_id" <? print (strcmp($_POST['sortowanie1'], 'sort_id')?'':' SELECTED'); ?> >Id</option>
       </select>
       <select name="sortowanie2">
           <option value="sort_rosnaco" <? print (strcmp($_POST['sortowanie2'], 'sort_rosnaco')?'':' SELECTED'); ?>>Rosnaco</option>
           <option value="sort_malejaco"<? print (strcmp($_POST['sortowanie2'], 'sort_malejaco')?'':' SELECTED'); ?>>Malejaco</option>
       </select><input type="submit" name="button_sortuj" value="sortuj">


Tak wyglada obsługa buttona:
Kod
if(!empty($_POST['button_sortuj']))
   {
  
  
       if (($sortowanie1 == 'sort_firmy') && ($sortowanie2 == 'sort_rosnaco'))
           {
               $Q = "SELECT * FROM `klienci` ORDER BY `klienci`.`firma` ASC;";
               $R = mysql_query($Q);
           }
       elseif (($sortowanie1 == 'sort_firmy') && ($sortowanie2 == 'sort_malejaco'))
           {
               $Q = "SELECT * FROM `klienci` ORDER BY `klienci`.`firma` DESC;";
               $R = mysql_query($Q);
           }
       elseif (($sortowanie1 == 'sort_id') && ($sortowanie2 == 'sort_rosnaco'))
           {
               $Q = "SELECT * FROM `klienci` ORDER BY `klienci`.`id` ASC;";
               $R = mysql_query($Q);
           }
       elseif (($sortowanie1 == 'sort_id') && ($sortowanie2 == 'sort_malejaco'))
           {
               $Q = "SELECT * FROM `klienci` ORDER BY `klienci`.`id` DESC;";
               $R = mysql_query($Q);
           }


Ten post edytował xyxy 28.01.2009, 15:26:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
EarthCitizen
post
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


Problem polega na tym, że Ty pobierasz dane bez opcji sortowania, wyświetlasz tabelkę a dopiero później sprawdzasz warunki i sposób sortowania.

Rozbij sobie jakoś logicznie ten kod, akcje wewnątrz if'ów daj do oddzielnych plików i wszystko łącz w klienci.php, wtedy będzie Ci łatwiej kontrolować ten kod i wyłapywać takie błędy.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 19:09