Re: if(), else() problem!
| From: | Jochem Maas | Date: | Fri, 06 Oct 2006 17:52:10 +0000 |
| Subject: | Re: if(), else() problem! | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-242767@lists.php.net to get a copy of this message | ||
Rahul S. Johari wrote:
> Ave,
>
> code:
>
> $db = dbase_open("osm.dbf", 0);
> if ($db) {
> $record_numbers = dbase_numrecords($db);
> for ($i = 1; $i <= $record_numbers; $i++) {
> $row = dbase_get_record_with_names($db, $i);
> if ($row['PHONE'] == $thekey) {
> echo ³found²;
> }
> else {
> echo ³not found²;
> }
> }
> }
$msg = 'cannot open database!';
if ($db = dbase_open("osm.dbf", 0)) {
$msg = 'database contains no records!';
if ($record_numbers = dbase_numrecords($db)) {
$msg = 'number not found';
for ($i = 1; $i <= $record_numbers; $row = dbase_get_record_with_names($db, $i),$i++)
if ($row['PHONE'] == $thekey) { $msg = 'number found'; break; }
}
}
echo $msg;
// ^^^--- untested
>
> The loop reads each row in the database, and checks whether it matches
> $thekey or not. If it does, it prints ³found², if it doesn¹t, it prints ³not
> found². But this happens for ³each row² in the database. So if there are 100
> records, and the program does find a match, I¹ll get 99 ³not found² printed,
> and one ³found² printed.
>
> I can easily put an ³exit;² after my echo in the else(), but then it stops
> the loop, and doesn¹t go any further.
>
> What do I have to do to get results if the phone matches, print nothing for
> rows where it doesn¹t match, but give one single ³not found² if the phone
> number does not exist in the database?
>
> The logic is just failing me at this point.
>
> Rahul S. Johari
> Supervisor, Internet & Administration
> Informed Marketing Services Inc.
> 500 Federal Street, Suite 201
> Troy NY 12180
>
> Tel: (518) 687-6700 x154
> Fax: (518) 687-6799
> Email: rahul@informed-sources.com
> http://www.informed-sources.com
>
>