Jump to content


Photo

Date function


  • Please log in to reply
1 reply to this topic

#1 shaunmckinnon

shaunmckinnon
  • Members
  • PipPipPip
  • Advanced Member
  • 30 posts

Posted 19 January 2004 - 02:13 PM

How do I get an insert form to update the date everytime someone submits a new entry. I realize this is probably incredbly simple...here's my php:

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO Lyrics (ID, `DATE`, BAND, QUOTE, SUBMITTED_BY, EMAIL) VALUES (%s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['ID'], "int"),
                       GetSQLValueString($_POST['DATE'], "date"),
                       GetSQLValueString($_POST['BAND'], "text"),
                       GetSQLValueString($_POST['QUOTE'], "text"),
                       GetSQLValueString($_POST['SUBMITTED_BY'], "text"),
                       GetSQLValueString($_POST['EMAIL'], "text"));

  mysql_select_db($database_lyricalquotes, $lyricalquotes);
  $Result1 = mysql_query($insertSQL, $lyricalquotes) or die(mysql_error());

  $insertGoTo = "lyrics.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database_lyricalquotes, $lyricalquotes);
$query_submitlyrics = "SELECT * FROM Lyrics ORDER BY ID DESC";
$submitlyrics = mysql_query($query_submitlyrics, $lyricalquotes) or die(mysql_error());
$row_submitlyrics = mysql_fetch_assoc($submitlyrics);
$totalRows_submitlyrics = mysql_num_rows($submitlyrics);

and then my form:

<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
        <table align="center">
          <tr valign="baseline">
            <td nowrap align="right">Band:</td>
            <td><input type="text" name="BAND" value="" size="32"></td>
          </tr>
          <tr valign="baseline">
            <td nowrap align="right" valign="top">Quote:</td>
            <td>
              <textarea name="QUOTE" cols="50" rows="5"></textarea>
            </td>
          </tr>
          <tr valign="baseline">
            <td nowrap align="right">Submitted By:</td>
            <td><input type="text" name="SUBMITTED_BY" value="" size="32"></td>
          </tr>
          <tr valign="baseline">
            <td nowrap align="right">Email:</td>
            <td><input type="text" name="EMAIL" value="" size="32"></td>
          </tr>
          <tr valign="baseline">
            <td nowrap align="right">&nbsp;</td>
            <td><input type="submit" value="Insert record"></td>
          </tr>
        </table>
        <input type="hidden" name="ID" value="">
        <input name="DATE" type="hidden" value="">
        <input type="hidden" name="MM_insert" value="form1">
      </form>

Any help would be greatly appreciated!!!

Thanks in advance,
Shaun McKinnon
(to check out what it's doing currently, go to Lyrical Quotes )

#2 robertvideo

robertvideo
  • New Members
  • Pip
  • Newbie
  • 5 posts

Posted 26 January 2004 - 07:42 PM

this easy way is to set up your table so the date field is
timestamp or datestamp - either will work
have the date entered auto- in the mysql db

regards
Robert




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users