I believe you need a "while" instead of an "if".  The "if" will only run
until the first occurance is true.   Whereas a "while" will run to find
all
results that are true until it goes thru all of the result rows..

No, I think he's checking to make sure that $db contains a resource id and
not a boolean false (meaning the file did not load or contains no data).

Maybe a more descriptive way may be to say:

<code>
if ($db !== false && is_resource($db)) {
   doStuff();
}
</code>

To the next problem:

'exit' terminates the script.  You should not be using exit there.

When you want a loop structure to stop and goto what flows next in the code,
use break:

<code>
for ($i = 0; $i < count($items); $i++) {
   if ($items[$i] == $arbitraryCondition) {
       echo 'I do not need to doStuff() anymore.';
       break;
   }
   doStuff();
}
</code>

When you want a loop structure to skip over something but still continue to
loop, use continue:

<code>
for ($i = 0; $i < count($items); $i++) {
   if ($items[$i] == $arbitraryCondition) {
       echo 'I do not need to doStuff() on this item.';
       continue;
   }
   doStuff();
}
</code>

When reading through values in an array or other structure, you can while or
do/while loop:

<code>
$db = getDb('location/db.dbf');
while($row = db_fetch_array($result)) {
   if ($row['AcctActivation'] != $date) {
       continue;
   } elseif ($row['AcctActivation'] == $date) {
       break;
   }
   doStuff();
}
</code>

Isn't there a way to search for and select only the rows with the account
number though? If you're looking for needles in a (potentially large)
haystack, this sounds like an expensive process for something SQL or other
could do better/faster.

========

Incidentally, does this mean you solved the file access problems from this
thread:

http://news.php.net/php.general/255542

--
Jared Farrish
Intermediate Web Developer
Denton, Tx

Abraham Maslow: "If the only tool you have is a hammer, you tend to see
every problem as a nail." $$

Reply via email to