CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   MySQL (http://www.codingforums.com/forumdisplay.php?f=7)
-   -   Trying to create a hyperlink (http://www.codingforums.com/showthread.php?t=286934)

Eggweezer 02-02-2013 10:26 PM

Trying to create a hyperlink
 
I am pulling data from a database and displaying it in a simple table.
My goal is to figure out how to be able to click on one of the 2 table headers, and make the page reload, sorting on the column selected.

I am first of all trying to figure out to make the headers into "hyperlinks". I cannot figure it out.

Here is my code, and I would appreciate any help or advice. Thank you.

Code:

        // get results from database
        $result = mysql_query("SELECT * FROM mytable ") 
                or die(mysql_error()); 
               
        // display data in table               
        echo "<table border='1' cellpadding='10'>";
        echo "<tr><th>Last Name</th><th>First Name</th></tr>";

        // loop through results of database query, displaying them in the table
              $count= 0;
            while($row = mysql_fetch_array( $result )) {
        ++$count;
               
         
          // echo out the contents of each row into a table
                    echo "<tr>";
                                echo '<td width="100">' . $row['nameLast'] . '</td>';
                                echo '<td width="100">' . $row['nameFirst'] . '</td>';
                echo "</tr>"; 
        } 

        echo "</table>";
?>


Old Pedant 02-03-2013 03:45 AM

Okay, this is really 90% a PHP question and only 10% MySQL.

And I don't use PHP. So bear with me if I make a couple of PHP typos.
Code:

<!-- don't use PHP to write out large blocks of HTML -->
<!-- makes it harder to read, harder to write, and tiny bit slower -->
<table border="1"' cellpadding="10">;
<tr>
    <th><a href="thispage.php?by=nameLast">Last Name</a></th>
    <th><a href="thispage.php?by=nameFirst">First Name</a></th>
</tr>
<?php
// make you db connection here ...

$orderby = $_GET["by"];
if ( ! isset($orderby) || ( $orderby != "nameLast" && $orderby != "nameFirst" ) )
{
    $orderby = "nameLast"; // or whatever default you choose
}

// get results from database
$result = mysql_query("SELECT * FROM mytable ORDER BY $orderby ") 
                or die(mysql_error()); 

... rest the same ...


Eggweezer 02-03-2013 01:53 PM

Thanks Old Pendant. I appreciate your taking the time. Makes perfect sense once someone shows you!


All times are GMT +1. The time now is 03:07 AM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.