How to filter on sex

This public forum is for user-to-user discussions of PHPMaker. Note that this is not support forum.
Post Reply
saleh
User
Posts: 470

How to filter on sex

Post by saleh »

hello
How to filter on sm 1 and userlevelid=3
sm 2 and userlevelid=4

This code failed
// User ID Filtering event
function UserID_Filtering(&$filter) {
// Enter your code here

 	if ((CurrentUserLevel() == 3) )  {
 	ew_AddFilter($filter, "sm= " ("1"));

}
if ((CurrentUserLevel() == 4) ) {
ew_AddFilter($filter, "sm= " ("2"));
}
}


mobhar
User
Posts: 11660

Post by mobhar »

Try (assume "sm" field type is Integer/Numeric):

if ( CurrentUserLevel() == 3 ) {
ew_AddFilter($filter, "sm= 1");
}

if ( CurrentUserLevel() == 4 ) {
ew_AddFilter($filter, "sm= 2");
}


saleh
User
Posts: 470

Post by saleh »

I Try
sm int(11)

But failure shows all without filter

// User ID Filtering event
function UserID_Filtering(&$filter) {
// Enter your code here

if ( CurrentUserLevel() == 3 ) {
ew_AddFilter($filter, "sm= 1");
}

if ( CurrentUserLevel() == 4 ) {
ew_AddFilter($filter, "sm= 2");
}
}

Please help


mobhar
User
Posts: 11660

Post by mobhar »

Just move that code to "Recordset_Selecting" server event.


saleh
User
Posts: 470

Post by saleh »

The first condition is good Works successfully ( CurrentUserLevel() == 3 )

But the second condition all records disappear: CurrentUserLevel() == 4

// Recordset Selecting event
function Recordset_Selecting(&$filter) {
// Enter your code here

if ( CurrentUserLevel() == 3 ) {

ew_AddFilter($filter, "sm= 1");
}

if ( CurrentUserLevel() == 4 ) {
ew_AddFilter($filter, "sm= 2");
}

}


saleh
User
Posts: 470

Post by saleh »

Now it works successfully

The reason for the first condition works because it is added in this code
When I added validity to the other, he worked successfully

// UserID Loaded event
function UserID_Loaded() {
//echo "UserID Loaded: " . $this->UserIDList() . "<br>";
global $Page;
if ($Page && $Page->TableName == "estmarh" && CurrentUserLevel() == "3") {
$this->AddUserID(-1);
}
if ($Page && $Page->TableName == "estmarh" && CurrentUserLevel() == "4") {
$this->AddUserID(-1);

}}

// Recordset Selecting event
function Recordset_Selecting(&$filter) {
// Enter your code here

if ( CurrentUserLevel() == 3 ) {
ew_AddFilter($filter, "sm= 1");
}

if ( CurrentUserLevel() == 4 ) {
ew_AddFilter($filter, "sm= 2");
}

}

Thank you very much


Post Reply