Hi,
I am having a problem with my code, what is happening is i am displaying members from a users table and for every user in the foreach loop i am checking to see if any of there qualities match with the user that is running the search.
The way it matches is it checks about 25 fields and if there is a match then it adds 1 for every match.
Then it adds all the 1's up and assigns that to a variable to use.
The problem i am having each time it loops it adds the previous results and the current results and keeps doing that through the loop.
What i need to do is for it not to add the previous entrys so that the result is correct for each users.
The code is here:
[PHP]
$sql = mysql_query("se lect * from users WHERE $stored AND status='active' ");
$countrows = mysql_num_rows( $sql);
// get all the products from the table
$result = array();
$e=0;
while ($r=mysql_fetch _array($sql)) {
$resultsi = mysql_query("SE LECT * FROM users WHERE id = '$_COOKIE[id]'");
$rowi = mysql_fetch_ass oc($resultsi); // Use the result
$resultsis = mysql_query("SE LECT * FROM users WHERE id = '$r[id]'");
$rowis = mysql_fetch_ass oc($resultsis); // Use the result
if ($rowi['partner_charmi ng'] == '1' && $rowis['charming'] == '1'){ $i = $i+1; }
if ($rowi['partner_sense_ of_humour'] == '1' && $rowis['sense_of_humou r'] == '1'){ $i = $i+1; }
if ($rowi['partner_loyal'] == '1' && $rowis['loyal'] == '1'){ $i = $i+1; }
if ($rowi['partner_honest '] == '1' && $rowis['honest'] == '1'){ $i = $i+1; }
if ($rowi['partner_attrac tive'] == '1' && $rowis['attractive'] == '1'){ $i = $i+1; }
if ($rowi['partner_optimi stical'] == '1' && $rowis['optimistical'] == '1'){ $i = $i+1; }
if ($rowi['partner_realis tic'] == '1' && $rowis['realistic'] == '1'){ $i = $i+1; }
if ($rowi['partner_sexy'] == '1' && $rowis['sexy'] == '1'){ $i = $i+1; }
if ($rowi['partner_ambiti ous'] == '1' && $rowis['ambitious'] == '1'){ $i = $i+1; }
if ($rowi['partner_vision ary'] == '1' && $rowis['visionary'] == '1'){ $i = $i+1; }
if ($rowi['partner_quiet'] == '1' && $rowis['quiet'] == '1'){ $i = $i+1; }
if ($rowi['partner_conser vative'] == '1' && $rowis['conservative'] == '1'){ $i = $i+1; }
if ($rowi['partner_tolera nt'] == '1' && $rowis['tolerant'] == '1'){ $i = $i+1; }
if ($rowi['partner_curiou s'] == '1' && $rowis['curious'] == '1'){ $i = $i+1; }
if ($rowi['partner_selfco nfident'] == '1' && $rowis['selfconfident'] == '1'){ $i = $i+1; }
if ($rowi['partner_athlet ic'] == '1' && $rowis['athletic'] == '1'){ $i = $i+1; }
if ($rowi['partner_attent ive'] == '1' && $rowis['attentive'] == '1'){ $i = $i+1; }
if ($rowi['partner_shy'] == '1' && $rowis['shy'] == '1'){ $i = $i+1; }
if ($rowi['partner_sociab le'] == '1' && $rowis['sociable'] == '1'){ $i = $i+1; }
if ($rowi['partner_domina nt'] == '1' && $rowis['dominant'] == '1'){ $i = $i+1; }
if ($rowi['partner_creati ve'] == '1' && $rowis['creative'] == '1'){ $i = $i+1; }
if ($rowi['partner_active '] == '1' && $rowis['active'] == '1'){ $i = $i+1; }
if ($rowi['partner_passiv e'] == '1' && $rowis['passive'] == '1'){ $i = $i+1; }
if ($rowi['partner_domest icated'] == '1' && $rowis['omesticated'] == '1'){ $i = $i+1; }
if ($rowi['partner_friend ly'] == '1' && $rowis['friendly'] == '1'){ $i = $i+1; }
if ($rowi['partner_sympat hetic'] == '1' && $rowis['sympathetic'] == '1'){ $i = $i+1; }
if ($rowi['partner_fond_o f_children'] == '1' && $rowis['fond_of_childr en'] == '1'){ $i = $i+1; }
if ($rowi['partner_fond_o f_animals'] == '1' && $rowis['fond_of_animal s'] == '1'){ $i = $i+1; }
if ($rowi['partner_intell igent'] == '1' && $rowis['intelligent'] == '1'){ $i = $i+1; }
if ($rowi['partner_romant ic'] == '1' && $rowis['romantic'] == '1'){ $i = $i+1; }
if ($rowi['partner_talkat ive'] == '1' && $rowis['talkative'] == '1'){ $i = $i+1; }
if ($rowi['partner_joyful '] == '1' && $rowis['joyful'] == '1'){ $i = $i+1; }
if ($rowi['partner_humble '] == '1' && $rowis['humble'] == '1'){ $i = $i+1; }
if ($rowi['partner_modest '] == '1' && $rowis['modest'] == '1'){ $i = $i+1; }
if ($rowi['partner_caring '] == '1' && $rowis['caring'] == '1'){ $i = $i+1; }
if ($rowi['partner_respec tful'] == '1' && $rowis['respectful'] == '1'){ $i = $i+1; }
if ($rowi['partner_genero us'] == '1' && $rowis['generous'] == '1'){ $i = $i+1; }
if ($rowi['partner_though tful'] == '1' && $rowis['thoughtful'] == '1'){ $i = $i+1; }
if ($rowi['partner_down_t o_earth'] == '1' && $rowis['down_to_earth'] == '1'){ $i = $i+1; }
if ($rowi['partner_sensit ive'] == '1' && $rowis['sensitive'] == '1'){ $i = $i+1; }
if ($rowi['partner_profes sional'] == '1' && $rowis['professional'] == '1'){ $i = $i+1; }
if ($rowi['partner_busine ss_minded'] == '1' && $rowis['business_minde d'] == '1'){ $i = $i+1; }
if ($rowi['partner_solven t'] == '1' && $rowis['solvent'] == '1'){ $i = $i+1; }
if ($rowi['partner_determ ined'] == '1' && $rowis['determined'] == '1'){ $i = $i+1; }
if ($rowi['partner_succes sful'] == '1' && $rowis['successful'] == '1'){ $i = $i+1; }
$tmp = array(
'id' => $r['id'],
'introduction_t itle'=> $r['introduction_t itle'],
'image_1'=> $r['image_1'],
'body_type'=> $r['body_type'],
'occupation'=> $r['occupation'],
'sdate'=> $r['sdate'],
'age'=> $r['age'],
'personality'=> $r['personality'],
'username'=> $r['username'],
'match'=> $i
);
$result[$e++] = $tmp;
}
// pass the results to the template
$smarty->assign('result ', $result);
[/PHP]
Cheers,
Adam
I am having a problem with my code, what is happening is i am displaying members from a users table and for every user in the foreach loop i am checking to see if any of there qualities match with the user that is running the search.
The way it matches is it checks about 25 fields and if there is a match then it adds 1 for every match.
Then it adds all the 1's up and assigns that to a variable to use.
The problem i am having each time it loops it adds the previous results and the current results and keeps doing that through the loop.
What i need to do is for it not to add the previous entrys so that the result is correct for each users.
The code is here:
[PHP]
$sql = mysql_query("se lect * from users WHERE $stored AND status='active' ");
$countrows = mysql_num_rows( $sql);
// get all the products from the table
$result = array();
$e=0;
while ($r=mysql_fetch _array($sql)) {
$resultsi = mysql_query("SE LECT * FROM users WHERE id = '$_COOKIE[id]'");
$rowi = mysql_fetch_ass oc($resultsi); // Use the result
$resultsis = mysql_query("SE LECT * FROM users WHERE id = '$r[id]'");
$rowis = mysql_fetch_ass oc($resultsis); // Use the result
if ($rowi['partner_charmi ng'] == '1' && $rowis['charming'] == '1'){ $i = $i+1; }
if ($rowi['partner_sense_ of_humour'] == '1' && $rowis['sense_of_humou r'] == '1'){ $i = $i+1; }
if ($rowi['partner_loyal'] == '1' && $rowis['loyal'] == '1'){ $i = $i+1; }
if ($rowi['partner_honest '] == '1' && $rowis['honest'] == '1'){ $i = $i+1; }
if ($rowi['partner_attrac tive'] == '1' && $rowis['attractive'] == '1'){ $i = $i+1; }
if ($rowi['partner_optimi stical'] == '1' && $rowis['optimistical'] == '1'){ $i = $i+1; }
if ($rowi['partner_realis tic'] == '1' && $rowis['realistic'] == '1'){ $i = $i+1; }
if ($rowi['partner_sexy'] == '1' && $rowis['sexy'] == '1'){ $i = $i+1; }
if ($rowi['partner_ambiti ous'] == '1' && $rowis['ambitious'] == '1'){ $i = $i+1; }
if ($rowi['partner_vision ary'] == '1' && $rowis['visionary'] == '1'){ $i = $i+1; }
if ($rowi['partner_quiet'] == '1' && $rowis['quiet'] == '1'){ $i = $i+1; }
if ($rowi['partner_conser vative'] == '1' && $rowis['conservative'] == '1'){ $i = $i+1; }
if ($rowi['partner_tolera nt'] == '1' && $rowis['tolerant'] == '1'){ $i = $i+1; }
if ($rowi['partner_curiou s'] == '1' && $rowis['curious'] == '1'){ $i = $i+1; }
if ($rowi['partner_selfco nfident'] == '1' && $rowis['selfconfident'] == '1'){ $i = $i+1; }
if ($rowi['partner_athlet ic'] == '1' && $rowis['athletic'] == '1'){ $i = $i+1; }
if ($rowi['partner_attent ive'] == '1' && $rowis['attentive'] == '1'){ $i = $i+1; }
if ($rowi['partner_shy'] == '1' && $rowis['shy'] == '1'){ $i = $i+1; }
if ($rowi['partner_sociab le'] == '1' && $rowis['sociable'] == '1'){ $i = $i+1; }
if ($rowi['partner_domina nt'] == '1' && $rowis['dominant'] == '1'){ $i = $i+1; }
if ($rowi['partner_creati ve'] == '1' && $rowis['creative'] == '1'){ $i = $i+1; }
if ($rowi['partner_active '] == '1' && $rowis['active'] == '1'){ $i = $i+1; }
if ($rowi['partner_passiv e'] == '1' && $rowis['passive'] == '1'){ $i = $i+1; }
if ($rowi['partner_domest icated'] == '1' && $rowis['omesticated'] == '1'){ $i = $i+1; }
if ($rowi['partner_friend ly'] == '1' && $rowis['friendly'] == '1'){ $i = $i+1; }
if ($rowi['partner_sympat hetic'] == '1' && $rowis['sympathetic'] == '1'){ $i = $i+1; }
if ($rowi['partner_fond_o f_children'] == '1' && $rowis['fond_of_childr en'] == '1'){ $i = $i+1; }
if ($rowi['partner_fond_o f_animals'] == '1' && $rowis['fond_of_animal s'] == '1'){ $i = $i+1; }
if ($rowi['partner_intell igent'] == '1' && $rowis['intelligent'] == '1'){ $i = $i+1; }
if ($rowi['partner_romant ic'] == '1' && $rowis['romantic'] == '1'){ $i = $i+1; }
if ($rowi['partner_talkat ive'] == '1' && $rowis['talkative'] == '1'){ $i = $i+1; }
if ($rowi['partner_joyful '] == '1' && $rowis['joyful'] == '1'){ $i = $i+1; }
if ($rowi['partner_humble '] == '1' && $rowis['humble'] == '1'){ $i = $i+1; }
if ($rowi['partner_modest '] == '1' && $rowis['modest'] == '1'){ $i = $i+1; }
if ($rowi['partner_caring '] == '1' && $rowis['caring'] == '1'){ $i = $i+1; }
if ($rowi['partner_respec tful'] == '1' && $rowis['respectful'] == '1'){ $i = $i+1; }
if ($rowi['partner_genero us'] == '1' && $rowis['generous'] == '1'){ $i = $i+1; }
if ($rowi['partner_though tful'] == '1' && $rowis['thoughtful'] == '1'){ $i = $i+1; }
if ($rowi['partner_down_t o_earth'] == '1' && $rowis['down_to_earth'] == '1'){ $i = $i+1; }
if ($rowi['partner_sensit ive'] == '1' && $rowis['sensitive'] == '1'){ $i = $i+1; }
if ($rowi['partner_profes sional'] == '1' && $rowis['professional'] == '1'){ $i = $i+1; }
if ($rowi['partner_busine ss_minded'] == '1' && $rowis['business_minde d'] == '1'){ $i = $i+1; }
if ($rowi['partner_solven t'] == '1' && $rowis['solvent'] == '1'){ $i = $i+1; }
if ($rowi['partner_determ ined'] == '1' && $rowis['determined'] == '1'){ $i = $i+1; }
if ($rowi['partner_succes sful'] == '1' && $rowis['successful'] == '1'){ $i = $i+1; }
$tmp = array(
'id' => $r['id'],
'introduction_t itle'=> $r['introduction_t itle'],
'image_1'=> $r['image_1'],
'body_type'=> $r['body_type'],
'occupation'=> $r['occupation'],
'sdate'=> $r['sdate'],
'age'=> $r['age'],
'personality'=> $r['personality'],
'username'=> $r['username'],
'match'=> $i
);
$result[$e++] = $tmp;
}
// pass the results to the template
$smarty->assign('result ', $result);
[/PHP]
Cheers,
Adam
Comment