switch statement - PHP: 2 switches don't interact well with each other -


i can't make both switches work, it's either 1 or other. on page list.php, there's table gets members "t_leden". if user clicks on of links, sorts (id, name, address, etc.)

it sorting alright until added new switch show men/women/etc. now, can show men , women, can't sort anymore.

i'm clueless.

this sql:

-- phpmyadmin sql dump -- version 3.3.9 -- http://www.phpmyadmin.net -- -- machine: localhost -- genereertijd: 23 feb 2011 om 10:58 -- serverversie: 5.5.8 -- php-versie: 5.3.5  set sql_mode="no_auto_value_on_zero";  -- -- database: `db_school` --  -- --------------------------------------------------------  -- -- tabelstructuur voor tabel `t_leden` --  create table if not exists `t_leden` (   `d_index` int(11) not null auto_increment,   `d_naam` varchar(255) not null,   `d_voornaam` varchar(255) not null,   `d_adres` varchar(255) not null,   `d_peter` varchar(255) not null,   `d_lid` varchar(255) not null,   `d_geslacht` enum('man','vrouw') not null,   `d_betaald` date not null,   `d_gdatum` date not null,   `d_zichtbaar` tinyint(1) not null default '1',   primary key (`d_index`) ) engine=myisam  default charset=latin1 auto_increment=9 ;  -- -- gegevens worden uitgevoerd voor tabel `t_leden` --  insert `t_leden` (`d_index`, `d_naam`, `d_voornaam`, `d_adres`, `d_peter`, `d_lid`, `d_geslacht`, `d_betaald`, `d_gdatum`, `d_zichtbaar`) values (2, 'ed-damgha', 'shakira', 'wilrijk', 'vlad', 'gewoon lid', 'vrouw', '2011-02-15', '1992-05-19', 1), (1, 'polianskii', 'vlad', 'antwerpen', 'tuplad', 'bestuurslid', 'man', '2011-02-01', '1990-08-04', 1), (3, 'sandru', 'raoul', 'hoboken', 'kevin', 'gewoon lid', 'man', '2011-02-11', '1990-07-18', 1); 

this php:

<?php include_once("config.inc.php"); ?> <!doctype html public "-//w3c//dtd xhtml 1.0 strict//en"     "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  <head>     <title>ledenlijst</title>     <meta http-equiv="content-type" content="text/html;charset=utf-8" />     <meta name="generator" content="geany 0.20" /> </head>  <body> <h1 style="text-align: center">ledenlijst</h1> <br /><? echo $menu ?><br /> <p style="text-align:center"> <select name="sorteer_methode" onchange="location.href='list.php?toon='+this.options[this.selectedindex].value">   <option>------------</option>  <option value="mannen">mannen</option>   <option value="vrouwen">vrouwen</option>  <option value="bestuur">bestuursleden</option> </select></p> <table align="center" border="1"> <tr> <td><b><a href="list.php?sortby=index">id</a></b></td> <td><b><a href="list.php?sortby=naam">naam</a></b></td> <td><b><a href="list.php?sortby=voornaam">voornaam</a></b></td> <td><b><a href="list.php?sortby=adres">adres</a></b></td> <td><b><a href="list.php?sortby=peter">peter</a></b></td> <td><b><a href="list.php?sortby=lid">soort lid</a></b></td> <td><b><a href="list.php?sortby=betaald">laatst betaald</a></b></td> <td><b><a href="list.php?sortby=gdatum">geboortedatum</a></b></td> <td></td> </tr> <?php     /* een switch om sorteren makkelijk te maken */ switch(isset($_get['sortby']) ? $_get['sortby'] : (isset($_get['toon']) ? $_get['toon'] : null)) {     case 'name':         $result=mysql_query("select d_index,d_naam,d_voornaam,d_geslacht,d_adres,d_peter,d_lid,d_betaald,d_gdatum         t_leden         d_zichtbaar = '1'         order d_".$_get['sortby']) or die(mysql_error());         break;     /* een switch om enkel vrouwen, mannen of bestuursleden te laten zien */     case 'mannen':         $result=mysql_query("select d_index,d_naam,d_voornaam,d_geslacht,d_adres,d_peter,d_lid,d_betaald,d_gdatum         t_leden         d_geslacht = 'man'         , d_zichtbaar = '1'         order d_index") or die(mysql_error());         break;     case 'vrouwen':         $result=mysql_query("select d_index,d_naam,d_voornaam,d_geslacht,d_adres,d_peter,d_lid,d_betaald,d_gdatum         t_leden         d_zichtbaar = '1'         , d_geslacht = 'vrouw'         order d_index") or die(mysql_error());         break;     case 'bestuur':         $result=mysql_query("select d_index,d_naam,d_voornaam,d_geslacht,d_adres,d_peter,d_lid,d_betaald,d_gdatum         t_leden         d_zichtbaar = '1'         , d_lid = 'bestuurslid'         order d_index") or die(mysql_error());         break;     default:         $result=mysql_query("select d_index,d_naam,d_voornaam,d_geslacht,d_adres,d_peter,d_lid,d_betaald,d_gdatum         t_leden         d_zichtbaar = '1'         order d_index") or die(mysql_error());     }     /* een loop om leden te tonen */ while($row=mysql_fetch_array($result))     {         echo "<tr>";         echo "<td>".htmlspecialchars($row['d_index'])."</td>";         echo "<td>".htmlspecialchars($row['d_naam'])."</td>";         echo "<td>".htmlspecialchars($row['d_voornaam'])."</td>";         echo "<td>".htmlspecialchars($row['d_adres'])."</td>";         echo "<td>".htmlspecialchars($row['d_peter'])."</td>";         echo "<td>".htmlspecialchars($row['d_lid'])."</td>";         echo "<td>".htmlspecialchars($row['d_betaald'])."</td>";         echo "<td>".htmlspecialchars($row['d_gdatum'])."</td>";         echo "<td><a href=del.php?del=".htmlspecialchars($row['d_index']).">verwijder</a></td>";         echo "</tr>";         } ?> </table> </body> </html> <?php mysql_close($connect); ?> 

first mistake:
'naam'

<td><b><a href="list.php?sortby=naam">naam</a></b></td> 

vs. 'name'

switch(...) {     case 'name': 

Comments

Popular posts from this blog

linux - Mailx and Gmail nss config dir -

c# - Is it possible to remove an existing registration from Autofac container builder? -

php - Mysql PK and FK char(36) vs int(10) -