Okay, I can't figure out how to use the new code. This will be a a little long
I know that my new code will have to be:
so that it can return a result.
So essentially, how can I get it to do this:
And make sure it re-displays the form?
Code:
// Defined functions
//--------------------------
function get_param($param_name)
{
global $HTTP_POST_VARS;
global $HTTP_GET_VARS;
$param_value = "";
if(isset($HTTP_POST_VARS[$param_name]))
$param_value = $HTTP_POST_VARS[$param_name];
else if(isset($HTTP_GET_VARS[$param_name]))
$param_value = $HTTP_GET_VARS[$param_name];
return $param_value;
}
function tosql($value, $type)
{
if(!strlen($value))
return "NULL";
else
if($type == "Number")
return str_replace (",", ".", doubleval($value));
else
{
if(get_magic_quotes_gpc() == 0)
{
$value = str_replace("'","''",$value);
$value = str_replace("\\","\\\\",$value);
}
else
{
$value = str_replace("\\'","''",$value);
$value = str_replace("\\\"","\"",$value);
}
return "'" . $value . "'";
}
}
//===============================
// Action of the Record Form
//-------------------------------
function event_action($sAction)
{
global $db;
global $tpl;
global $sForm;
global $seventErr;
$bExecSQL = true;
$sActionFileName = "";
$sParams = "?";
$sWhere = "";
$bErr = false;
$pPKeventid = "";
$fldevent_title = "";
$fldevent_desc = "";
$fldevent_start = "";
$fldevent_end = "";
$fldWNDate = "";
$fldroomid = "";
$fldteam = "";
$flduserid = "";
$fldtype = "";
// event CustomAction Event begin
//-------------------------------
$sActionFileName = "admin_eventadd.php";
$sParams .= "eventid=" . urlencode(get_param("Trn_eventid"));
// CANCEL action
//-------------------------------
if($sAction == "cancel")
{
header("Location: admin_event.php");
exit;
}
// Build WHERE statement
//-------------------------------
if($sAction == "update" || $sAction == "delete")
{
$pPKeventid = get_param("PK_eventid");
if( !strlen($pPKeventid)) return;
$sWhere = "eventid=" . tosql($pPKeventid, "Number");
}
// Load all form fields into variables
//-------------------------------
$fldevent_title = get_param("event_title");
$fldevent_desc = get_param("event_desc");
$fldevent_start = get_param("event_start");
$fldevent_end = get_param("event_end");
$fldWNDate = get_param("WNDate");
$fldroomid = get_param("roomid");
$fldteam = get_param("team");
$flduserid = get_param("userid");
$fldtype = get_param("type");
// Validate fields
//-------------------------------
if($sAction == "insert" || $sAction == "update")
{
if(!strlen($fldevent_title))
$seventErr .= "The value in field Name is required.<br>";
if(!strlen($fldevent_desc))
$seventErr .= "The value in field Description is required.<br>";
if(!strlen($fldevent_start))
$seventErr .= "The value in field Start is required.<br>";
if(!strlen($fldevent_end))
$seventErr .= "The value in field End is required.<br>";
if(!strlen($fldWNDate))
$seventErr .= "The value in field Date is required.<br>";
if(!strlen($fldroomid))
$seventErr .= "The value in field Room is required.<br>";
if(!strlen($fldteam))
$seventErr .= "The value in field Team is required.<br>";
if(!strlen($flduserid))
$seventErr .= "The value in field Posted By is required.<br>";
if(!is_number($fldroomid))
$seventErr .= "The value in field Room is incorrect.<br>";
if(!is_number($fldteam))
$seventErr .= "The value in field Team is incorrect.<br>";
if(!is_number($flduserid))
$seventErr .= "The value in field Posted By is incorrect.<br>";
if(strlen($seventErr)) return;
}
// Create SQL statement
//-------------------------------
switch(strtolower($sAction))
{
case "insert":
$formated_datetime = "$fldWNDate $fldevent_start";
$fldevent_start = strtotime($formated_datetime);
$formated_datetime2 = "$fldWNDate $fldevent_end";
$fldevent_end = strtotime($formated_datetime2);
if ($sSQL == "")
{
$sSQL = "insert into event (" .
"event_title," .
"event_desc," .
"event_start," .
"event_end," .
"event_date," .
"roomid," .
"team," .
"userid," .
"type)" .
" values (" .
tosql($fldevent_title, "Text") . "," .
tosql($fldevent_desc, "Memo") . "," .
tosql($fldevent_start, "Text") . "," .
tosql($fldevent_end, "Text") . "," .
tosql($fldWNDate, "Date") . "," .
tosql($fldroomid, "Number") . "," .
tosql($fldteam, "Number") . "," .
tosql($flduserid, "Number") . "," .
tosql($fldtype, "Text") .
")";
}
break;
case "update":
$formated_datetime = "$fldWNDate $fldevent_start";
$fldevent_start = strtotime($formated_datetime);
$formated_datetime2 = "$fldWNDate $fldevent_end";
$fldevent_end = strtotime($formated_datetime2);
if($sSQL == "")
{
$sSQL = "update event set " .
"event_title=" . tosql($fldevent_title, "Text") .
",event_desc=" . tosql($fldevent_desc, "Memo") .
",event_start=" . tosql($fldevent_start, "Text") .
",event_end=" . tosql($fldevent_end, "Text") .
",event_date=" . tosql($fldWNDate, "Date") .
",roomid=" . tosql($fldroomid, "Number") .
",team=" . tosql($fldteam, "Number") .
",userid=" . tosql($flduserid, "Number") .
",type=" . tosql($fldtype, "Text");
$sSQL .= " where " . $sWhere;
}
break;
}
// Execute SQL statement
//-------------------------------
if(strlen($seventErr)) return;
if($bExecSQL)
$db->query($sSQL);
switch($sAction)
{
case "insert":
// event AfterInsert Event begin
$last = mysql_insert_id ();
$sParams .= $last;
// event AfterInsert Event end
break;
}
header("Location: " . $sActionFileName . $sParams);
exit;
//-------------------------------
// event CustomAction Event end
//-------------------------------
}
I know that my new code will have to be:
Code:
$sql = "SELECT COUNT(*) FROM event WHERE ($fldevent_start BETWEEN event_start AND event_end) OR ($fldevent_end BETWEEN event_start AND event_end) AND roomid=$fldroomid;";
$result = $db->query($sql);
so that it can return a result.
So essentially, how can I get it to do this:
Code:
if(mysql_num_rows($result) == 0)
{
mysql_query("insert into event (" .
"event_title," .
"event_desc," .
"event_start," .
"event_end," .
"event_date," .
"roomid," .
"team," .
"userid," .
"type)" .
" values (" .
tosql($fldevent_title, "Text") . "," .
tosql($fldevent_desc, "Memo") . "," .
tosql($fldevent_start, "Text") . "," .
tosql($fldevent_end, "Text") . "," .
tosql($fldWNDate, "Date") . "," .
tosql($fldroomid, "Number") . "," .
tosql($fldteam, "Number") . "," .
tosql($flduserid, "Number") . "," .
tosql($fldtype, "Text") .
")";
}
else { $error_message = "There is already an event already scheduled. Please pick a different time and/or room"; }
And make sure it re-displays the form?