I have a rebate system. The user will check to see if their product qualifies for a rebate by entering the model number, serial number, dealer name, and purchase date.
If the product qualifies, The values are added to the session array.
array(4) {
[0]=> array(6) { ["id"]=> string(0) "" ["model"]=> string(7) "CP05G10" ["serial"]=> string(9) "ABCK50786" ["pdate"]=> string(10) "2013-05-18" ["amt"]=> string(2) "25" ["dealer"]=> string(8) "79163500" }
[1]=> array(6) { ["id"]=> string(0) "" ["model"]=> string(7) "EP24G33" ["serial"]=> string(9) "AAMK01127" ["pdate"]=> string(10) "2013-05-18" ["amt"]=> string(2) "25" ["dealer"]=> string(8) "79163500" }
[2]=> array(6) { ["id"]=> string(0) "" ["model"]=> string(7) "CP05G10" ["serial"]=> string(9) "ABCK50786" ["pdate"]=> string(10) "2013-05-17" ["amt"]=> string(2) "25" ["dealer"]=> string(8) "79163500" }
[3]=> array(6) { ["id"]=> string(0) "" ["model"]=> string(7) "EP24G33" ["serial"]=> string(9) "AAMK01127" ["pdate"]=> string(10) "2013-05-17" ["amt"]=> string(2) "25" ["dealer"]=> string(8) "79163500" }
}
The problem I am having is users are adding the same model numbers and serial numbers but a different purchase date or dealer. Which creates duplicates in the system.
What I am needing is to remove duplicates based on the model numbers and serial numbers.
I have implemented the suggestion:
//echo $amount;
if ($amount != ''){
$rebate[] = $tmprebate = array("id" => '', "model" => $model_number, "serial" => $serial_number, "pdate" => $purchase_date, "amt" => $amount, "dealer" => $dealerid);
}else{
$noRebate[] = $tmprebate = array("id" => '', "model" => $model_number, "serial" => $serial_number, "pdate" => $purchase_date);
}
if( isset($_SESSION['rebate']) ){
foreach($_SESSION['rebate'] as $session )
{
if($session['serial'] != $serial_number && $session['model'] != $model_number){
$_SESSION['rebate'] = $rebate;
$_SESSION['noRebate'] = $noRebate;
}
}
}else{
$_SESSION['rebate'] = $rebate;
$_SESSION['noRebate'] = $noRebate;
}
I re-implemented the suggested code and all is working.
// check to see if model and serial already exist in Session
if( isset($_SESSION['rebate'])){
$match_rebate = 0;
foreach($_SESSION['rebate'] as $session )
{
if($session['serial'] == $serial_number && $session['model'] == $model_number){ // if session matches what is being submitted
$match_rebate = 1;
}
}
}else{
$_SESSION['rebate'] = $rebate;
$_SESSION['noRebate'] = $noRebate;
}
if($match_rebate == 0)
{
$_SESSION['rebate'] = $rebate;
$_SESSION['noRebate'] = $noRebate;
}