如何使用MYSQL和两个不同的提交按钮?

I have created a song database (mysql) where a user can enter data into the textfield, select "by artist" or a "by title" radio button and click submit. This all works fine. :)

However, I would like to add another submit button that bypasses the above query and simply lists all of the songs that have been added to the database with a year's time.

I believe that the query I need is:

select * from dt_tb where `dt` >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)

but I cannot figure out how to code the PHP to run the query for the songs within the past year.

Here are the two forms I have:

<p>
<form name="form" method="get" action="">
    Search for: <input type="text" name="q" />
    <input type="radio" name="field" value="title" <?=$checkTitle?> checked> Title
    <input type="radio" name="field" value="artist" <?=$checkArtist?> > Artist
  <input type="submit" name="Submit" value="Search" />
</form></p>
<form name="form" method="post" action="">
    <br />
    <input type="submit" name="Newsongs" value="New Releases" />
</form></p>

and here is the current, working php for the 1st query:

<?php
    $delimiter = "\t";
    $newline = "
";

  $var = @$_GET['q'] ;
  $field = @$_GET['field'];
  $var = htmlentities($var);
  $trimmed = trim($var); //trim whitespace from the stored variable
  $search_words = explode(' ', $var);


if ($var != "") {

// rows to return
$limit=100; 

// check for an empty string and display a message.
if ($trimmed == "")
  {
  echo "<p>Please enter a search...</p>";
  exit;
  }

// check for a search parameter
if (!isset($var))
  {
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }

//connect to your database 
mysql_connect("DBLocation","DatabaseName","PASSWORD"); //(host, username, password)

//specify database 
mysql_select_db("DatabaseName") or die("Unable to select database"); //select which database we're using

// Build SQL Query  


    $query = "SELECT * FROM Songs where $field like \"%$trimmed%\" order by $field "; 

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);

// If we have no results, offer a google search as an alternative

if ($numrows == 0)
  {
  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search: &quot;" . $trimmed . "&quot; returned zero results</p>";

  }

// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }

// get results
  $query .= " limit $s,$limit";
  $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
echo "<p>You searched for: &quot;" . $var . "&quot;</p>";

// begin to show results set
echo "<p style=\"color: #00ff00; font-size: 1.2em;\">Results</p>";
$count = 1 + $s ;

// now you can display the results returned
  while ($row= mysql_fetch_array($result)) {
  $title = $row["title"];
  $artist = $row["artist"];

  echo "$title";
  echo " - ";
  echo "$artist";
  echo "<br />";
  echo $newline;
  $count++ ;
  }

$currPage = (($s/$limit) + 1);

//break before paging
  echo "<br />";


$a = $s + ($limit) ;
  if ($a > $numrows) { $a = $numrows ; }
  $b = $s + 1 ;
  echo "<p>Showing results $b to $a of $numrows</p>";

}  
?>

You can add a hidden field and then check it on submit:

<input type="hidden" name="act" id="act" value="">

Then on your second submit button, use JavaScript to change the value:

<input type="submit" name="Newsongs" value="New Releases" onclick="document.getElementById('act').value = 'list_all'" />

If the value is "list_all", process that, else do your current processing.

if ($_POST['act'] == 'list_all') {
   // process second submit button code
} else {
   // all your current code
}

You'll want to check if the NewSongs submit button was on the form submitted, and use that in an if statement to do the query or not.

<?php
  if (!isset($_POST['NewSongs'])){
     //do the search
  } else {
     //don't do the search
  }
?>

You could use 2 submit button inside a form :

    <p><form name="form" method="get" action="">
 Search for: <input type="text" name="q" />
    <input type="radio" name="field" value="title" <?=$checkTitle?> checked> Title
    <input type="radio" name="field" value="artist" <?=$checkArtist?> > Artist
  <input type="submit" name="submit" value="Search" />
<input type="submit" name="submit" value="New" />
</form>
</p>

<?php
if(isset($_GET['submit']) && $_GET['submit'] == 'Search'){
    // do search
}
if(isset($_GET['submit']) && $_GET['submit'] == 'New'){
    // do second search
}
?>