This topic is locked

Check if specific record exists

8/2/2006 4:04:38 PM
PHPRunner General questions
A
amirgulamali author

I am using the following event "BEFORE RECORD (is) ADDED" into a table.
It runs without any errors but it just doesnt do what its supposed to do...

I want it to prevent a record being entered twice in my _students table; each student has a unique StudentNumber

Anyone know why?


//********** Check if specific record exists ************

global $conn;

$strSQLExists = "select StudentNumber from _students where StudentNumber=".$values["StudentNumber"];

$rsExists = db_query($strSQLExists,$conn);

$data=db_fetch_array($rsExists);

if($data)

{

echo "record exists";

}

else

{

// if dont exist do something else

}


Thanks
Also tried changin the 3rd line to:

$strSQLExists = "select [b]* [/b]from _students where...



still doesnt work!

Anyone know why? <img src='https://asprunner.com/forums/file.php?topicimage=1&fieldname=question&id=3108&image=1&table=forumtopics' class='bbc_emoticon' alt=':unsure:' />

Alexey admin 8/3/2006

Amir,
here is the correct code:

//** Check if specific record exists ****

global $conn;

$strSQLExists = "select StudentNumber from _students where StudentNumber=".$values["StudentNumber"];

$rsExists = db_query($strSQLExists,$conn);

$data=db_fetch_array($rsExists);

if($data)

{

echo "record exists";

return false;

}

else

{

// if dont exist do something else

return true;

}

A
amirgulamali author 8/3/2006

I am afraid it doesnt work... _students_events.php

//another function

}
//********** Check if specific record exists ************

global $conn;

$strSQLExists = "select StudentNumber from _students where StudentNumber=".$values["StudentNumber"];

$rsExists = db_query($strSQLExists,$conn);

$data=db_fetch_array($rsExists);

if($data)

{

echo "record exists";

return false;

}

else

{

// if dont exist do something else

return true;

}
} //closing of before add() function
Alexey admin 8/3/2006

Amir,
looks like you deleted the BeforeAdd function header.

Proceed to Events tab in PHPRunner, remove the Before record added event and add it once again.

A
amirgulamali author 8/3/2006

I still have the header but my before add () has several functions, and i copied only the concerned function in my last post, this is my _students_events.php page:
<?php

function BeforeAdd(&$values)

{
// Parameters:

// $values - Array object.

// Each field on the Add form represented as 'Field name'-'Field value' pair
//** Save new data in another table ****

global $conn,$strTableName;
if ($values["EnrollStudentin"] == "'1EE0'")

{
$strSQLSave = "INSERT INTO _1ee0 (StudentNumber, FirstName, Email, LastName) values (";
$strSQLSave .= $values["StudentNumber"].",";

$strSQLSave .= $values["FirstName"].",";

$strSQLSave .= $values["Email"].",";

$strSQLSave .= $values["LastName"];
$strSQLSave .= ")";

db_exec($strSQLSave,$conn);
return true;
// return true if you like to proceed with adding new record

// return false in other case
}

else if ($values["EnrollStudentin"] == "'2EE0'")

{
$strSQLSave = "INSERT INTO _2ee0 (StudentNumber, FirstName, Email, LastName) values (";
$strSQLSave .= $values["StudentNumber"].",";

$strSQLSave .= $values["FirstName"].",";

$strSQLSave .= $values["Email"].",";

$strSQLSave .= $values["LastName"];
$strSQLSave .= ")";

db_exec($strSQLSave,$conn);
return true;
// return true if you like to proceed with adding new record

// return false in other case
}

else if ($values["EnrollStudentin"] == "'3EE0'")

{
$strSQLSave = "INSERT INTO _3ee0 (StudentNumber, FirstName, Email, LastName) values (";
$strSQLSave .= $values["StudentNumber"].",";

$strSQLSave .= $values["FirstName"].",";

$strSQLSave .= $values["Email"].",";

$strSQLSave .= $values["LastName"];
$strSQLSave .= ")";

db_exec($strSQLSave,$conn);
return true;
// return true if you like to proceed with adding new record

// return false in other case
}

else if ($values["EnrollStudentin"] == "'4EE0'")

{
$strSQLSave = "INSERT INTO _4ee0 (StudentNumber, FirstName, Email, LastName) values (";
$strSQLSave .= $values["StudentNumber"].",";

$strSQLSave .= $values["FirstName"].",";

$strSQLSave .= $values["Email"].",";

$strSQLSave .= $values["LastName"];
$strSQLSave .= ")";

db_exec($strSQLSave,$conn);
return true;
// return true if you like to proceed with adding new record

// return false in other case
}

else if ($values["EnrollStudentin"] == "'4EA0'")

{
$strSQLSave = "INSERT INTO _4ea0 (StudentNumber, FirstName, Email, LastName) values (";
$strSQLSave .= $values["StudentNumber"].",";

$strSQLSave .= $values["FirstName"].",";

$strSQLSave .= $values["Email"].",";

$strSQLSave .= $values["LastName"];
$strSQLSave .= ")";

db_exec($strSQLSave,$conn);
return true;
// return true if you like to proceed with adding new record

// return false in other case
}

else if ($values["EnrollStudentin"] == "'4EB0'")

{
$strSQLSave = "INSERT INTO _4eb0 (StudentNumber, FirstName, Email, LastName) values (";
$strSQLSave .= $values["StudentNumber"].",";

$strSQLSave .= $values["FirstName"].",";

$strSQLSave .= $values["Email"].",";

$strSQLSave .= $values["LastName"];
$strSQLSave .= ")";

db_exec($strSQLSave,$conn);
return true;
// return true if you like to proceed with adding new record

// return false in other case
}

else if ($values["EnrollStudentin"] == "'4EC0'")

{
$strSQLSave = "INSERT INTO _4ec0 (StudentNumber, FirstName, Email, LastName) values (";
$strSQLSave .= $values["StudentNumber"].",";

$strSQLSave .= $values["FirstName"].",";

$strSQLSave .= $values["Email"].",";

$strSQLSave .= $values["LastName"];
$strSQLSave .= ")";

db_exec($strSQLSave,$conn);
return true;
// return true if you like to proceed with adding new record

// return false in other case
}

else {

//echo "Must Enroll Student";

}
//** Check if specific record exists ****

global $conn;

$strSQLExists = "select StudentNumber from _students where StudentNumber=".$values["StudentNumber"];

$rsExists = db_query($strSQLExists,$conn);

$data=db_fetch_array($rsExists);

if($data)

{

echo "record exists";

return false;

}

else

{

// if dont exist do something else

return true;

}[/b]
}
function AfterAdd()

{

//** Redirect to another page ****

header("Location: _students_list.php");

exit();

}
function BeforeEdit(&$values, $where)

{
//** Insert a record into another table ****

global $conn;
if ($values["EnrollStudentin"] == "'1EE0'")

{
$strSQLInsert = "INSERT INTO _1ee0 (StudentNumber, FirstName, Email, LastName) values (";

$strSQLInsert .= $values["StudentNumber"].",";

$strSQLInsert .= $values["FirstName"].",";

$strSQLInsert .= $values["Email"].",";

$strSQLInsert .= $values["LastName"];
$strSQLInsert .= ")";

db_exec($strSQLInsert,$conn);
return true;
}

else if ($values["EnrollStudentin"] == "'2EE0'")

{
$strSQLInsert = "INSERT INTO _2ee0 (StudentNumber, FirstName, Email, LastName) values (";

$strSQLInsert .= $values["StudentNumber"].",";

$strSQLInsert .= $values["FirstName"].",";

$strSQLInsert .= $values["Email"].",";

$strSQLInsert .= $values["LastName"];
$strSQLInsert .= ")";

db_exec($strSQLInsert,$conn);
return true;
}

else if ($values["EnrollStudentin"] == "'3EE0'")

{
$strSQLInsert = "INSERT INTO _3ee0 (StudentNumber, FirstName, Email, LastName) values (";

$strSQLInsert .= $values["StudentNumber"].",";

$strSQLInsert .= $values["FirstName"].",";

$strSQLInsert .= $values["Email"].",";

$strSQLInsert .= $values["LastName"];
$strSQLInsert .= ")";

db_exec($strSQLInsert,$conn);
return true;
}

else if ($values["EnrollStudentin"] == "'4EE0'")

{
$strSQLInsert = "INSERT INTO _4ee0 (StudentNumber, FirstName, Email, LastName) values (";

$strSQLInsert .= $values["StudentNumber"].",";

$strSQLInsert .= $values["FirstName"].",";

$strSQLInsert .= $values["Email"].",";

$strSQLInsert .= $values["LastName"];
$strSQLInsert .= ")";

db_exec($strSQLInsert,$conn);
return true;
}

else if ($values["EnrollStudentin"] == "'4EA0'")

{
$strSQLInsert = "INSERT INTO _4ea0 (StudentNumber, FirstName, Email, LastName) values (";

$strSQLInsert .= $values["StudentNumber"].",";

$strSQLInsert .= $values["FirstName"].",";

$strSQLInsert .= $values["Email"].",";

$strSQLInsert .= $values["LastName"];
$strSQLInsert .= ")";

db_exec($strSQLInsert,$conn);
return true;
}

else if ($values["EnrollStudentin"] == "'4EB0'")

{
$strSQLInsert = "INSERT INTO _4eb0 (StudentNumber, FirstName, Email, LastName) values (";

$strSQLInsert .= $values["StudentNumber"].",";

$strSQLInsert .= $values["FirstName"].",";

$strSQLInsert .= $values["Email"].",";

$strSQLInsert .= $values["LastName"];
$strSQLInsert .= ")";

db_exec($strSQLInsert,$conn);
return true;
}

else if ($values["EnrollStudentin"] == "'4EC0'")

{
$strSQLInsert = "INSERT INTO _4ec0 (StudentNumber, FirstName, Email, LastName) values (";

$strSQLInsert .= $values["StudentNumber"].",";

$strSQLInsert .= $values["FirstName"].",";

$strSQLInsert .= $values["Email"].",";

$strSQLInsert .= $values["LastName"];
$strSQLInsert .= ")";

db_exec($strSQLInsert,$conn);
return true;
}

else {
}
}
function AfterEdit()

{

//** Redirect to another page ****

header("Location: _students_list.php");

exit();

}
?>

Alexey admin 8/3/2006

Amir,
I suppose your code add is never executed because you have a lot of return true statements before.
Please note that we don't support the code written by our customers.

You need to debug your code by your own.

A
amirgulamali author 8/3/2006

thanx for the hint, works now