On 05 August 2004 15:15, Jay Blanchard wrote:
[snip]
if($ans_three[$qzid] === 'None of the above' || $ans_three[$qzid] ===
'All of the above'){ if($ans_four[$qzid] === 'None of the above'
|| $ans_four[$qzid] === 'All of the above'){
$answers = rand(6,8);
}
$answers = 5;
}
else{
$answers = rand(1,4);
}
However when I run it, it checks everything correctly until it has
answer three and four having 'All of the above' and 'None of
the above',
then it branches to $answer = 5, only. Why?
[/snip]
Because $answers = 5; is the last check of $answers unless the else
statement is invoked. Try this...
if($ans_three[$qzid] === 'None of the above' || $ans_three[$qzid] ===
'All of the above'){ if($ans_four[$qzid] === 'None of the above'
|| $ans_four[$qzid] === 'All of the above'){
$answers = rand(6,8); } elseif($ans_four[$qzid] !== 'None of
the
above' || $ans_four[$qzid] !== 'All of the above'){
Ehhhrrrmmm -- that elseif () condition is always going to be true:
logically, it's got to be not equal to one or other of the values.
From a quick glance at the code, I'd say just a straight else would do the
job here, thus:
if ($ans_three[$qzid] === 'None of the above'
|| $ans_three[$qzid] === 'All of the above')
{
if ($ans_four[$qzid] === 'None of the above'
|| $ans_four[$qzid] === 'All of the above')
{
$answers = rand(6,8);
}
else
{
$answers = 5;
}
}
else
{
$answers = rand(1,4);
}
Cheers!
Mike
-
Mike Ford, Electronic Information Services Adviser,
Learning Support Services, Learning Information Services,
JG125, James Graham Building, Leeds Metropolitan University,
Headingley Campus, LEEDS, LS6 3QS, United Kingdom
Email: [EMAIL PROTECTED]
Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php