31. august 2004 - 18:35
Der er
10 kommentarer og 1 løsning
List af mysql tabel?
Jeg skal have listet en tabel: tilmeldte function liste($db) { echo '<h3>Liste over tilmeldte</h3> <table class="tekst"> <tr> <th class="boks"><a href="default.php?site=liste&order=name&direction=1">Navn</a></th> <th class="boks"><a href="default.php?site=liste&order=class&direction=1">Klasse</a></th> <th class="boks"><a href="default.php?site=liste&order=nick&direction=1">Nick</a></th> <th class="boks">Status</th> </tr>'; $newsdata = mysql_query("SELECT * FROM `tilmeldte` WHERE 1 ORDER BY 'ID' ASC",$db); $antal = 0; while ($newsdatarow = mysql_fetch_row($newsdata)) { if($newsdatarow[9] == "1") { $antal = $antal + 1; if($newsdatarow[4] == "3") { $status = "Fragger"; } elseif($newsdatarow[4] == "4") { $status = "Leacher"; } elseif($newsdatarow[4] == "5") { $status = "Coke-Addictive"; } elseif($newsdatarow[4] == "6") { $status = "Pepsi-Pusher"; } elseif($newsdatarow[4] == "7") { $status = "Über linux geek"; } elseif($newsdatarow[4] == "8") { $status = "Outsider"; } elseif($newsdatarow[4] == "9") { $status = "APG/BSA Ansat"; } elseif($newsdatarow[4] == "10") { $status = "MMORPG Freak"; } elseif($newsdatarow[4] == "11") { $status = "N/A"; } elseif($newsdatarow[4] == "12") { $status = "Scener"; } elseif($newsdatarow[4] == "13") { $status = "i am LOST"; } elseif($newsdatarow[4] == "14") { $status = "Easykill"; } elseif($newsdatarow[4] == "15") { $status = "Just here to meet chicks"; } echo '<span class="tekst"> <tr> <td class="boks2">'.$newsdatarow[1].'</td> <td class="boks2">'.$newsdatarow[2].'</td> <td class="boks2">'.$newsdatarow[3].'</td> <td class="boks2">'.$status.'</td> </tr></span>'; } } echo "</table>"; echo "<h4>Der er i alt $antal tilmeldte til Comparty 2k5 Winter</h4>"; } Men så ville jeg gerne have at man at man kunne trykke på Navn, Klasse eller Nick og så skulle den liste efter abc eller 1,2,3..
Annonceindlæg tema
Cloud & AI
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
31. august 2004 - 18:40
#1
Sådan her: if( in_array($_GET['order'], array('name','class','nick')) ) { $orderby = $_GET['order']; } else { $orderby = 'id'; } $newsdata = mysql_query("SELECT * FROM `tilmeldte` WHERE 1 ORDER BY '$orderby' ASC",$db);
31. august 2004 - 18:42
#2
Hvis du også vil have direction, så kan du tilføje if( in_array($_GET['order'], array('name','class','nick')) ) { $orderby = $_GET['order']; if( $_GET['direction'] == 1 ) $orderdirection = 'ASC'; else $orderdirection = 'DESC'; } else { $orderby = 'id'; $orderdirection = 'DESC'; }
31. august 2004 - 18:42
#3
og så skal sql'en være: $newsdata = mysql_query("SELECT * FROM `tilmeldte` WHERE 1 ORDER BY '$orderby' $orderdirection",$db);
31. august 2004 - 19:19
#4
thx det var lige sådan... Du svarer lige så får du et par ponts
31. august 2004 - 19:22
#5
lige en ting, er det ik muligt at gøre så hvis går normalt ind på linket så lister den efter ID?
31. august 2004 - 19:29
#6
Gør den da ikke det? Det er ellers det else-delen i den første if skulle gøre.
31. august 2004 - 19:29
#7
Du får lige et svar, men skriv hvis det ikke virker.
31. august 2004 - 19:31
#8
ja ved der er en else, men den tager fra den sidste man trykkede
31. august 2004 - 19:36
#9
har fundet hvad det er: else { $orderby = 'id'; $orderdirection = 'DESC'; den skal liste efter ASC
31. august 2004 - 19:44
#10
Ah ja, self :). Lige en sidebemærkning: Grunden til at det in_array() check er nødvendig, er at sørge for, at folk ikke kan putte kode direkte ind i vores sql, i tilfældet af man kan misbruge mysql til at opnå et eller andet.. in_array() sørger for, at vi ved at $_GET['order'] er een af de værdier vi forventer.
31. august 2004 - 20:21
#11
okay det vidste jeg ik, men forståelig nok.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.