1. your while loop should have {} brackets
i can't see where it starts and where it ends.
so does PHP. leaving brackets away tells PHP
that only the next line is part of the while loop.
i don't know if your file has only the three lines
($cust_name, $cust_area, $cust_code) or if more
than one customer is in your file and every customer
has these three lines. if you only have one customer with
these three lines, you don't need the while loop, just leave
while(!feof($fp2)) away.
if there are multiple customers in the file and every customer
has these three lines, you should close the while brackets after the
switch but before the return.
2. if($cust_code==$code[$index]) is wrong here.
you haven't initilized $index as far as i can see,
so you get: if($cust_code==$code[null])
what you want to do is checking the array $code for the
content $cust_code and getting the index of that element.
so it'd be better to do:
$row=array_search($cust_code, $code);
so try this:(assuming that you have more than one customer
in the file and every customer has the three lines.
function inquiry($fp2,$date,$name,$code)
{
while(!feof($fp2)) {
$cust_name=trim(fgets($fp2,12));
$cust_area=trim(fgets($fp2,9));
$cust_code=trim(fgets($fp2,6));
if(in_array($cust_code, $code)) {
$row=array_search($cust_code, $code);
}
switch($cust_area)
{
case "National":
print "national<br>";
printf("%1s %1f", $name[$row], $cust_cost[$row][1]);
break;
case "East":
print"East<br>";
printf("%1s %1f", $name[$row], $cust_cost[$row][2]);
break;
case "Midwest":
print"midwest<br>";
printf("%1s %1f", $name[$row], $cust_cost[$row][3]);
break;
case "Pacific":
print"pacific<br>";
printf("%1s %1f", $name[$row], $cust_cost[$row][4]);
break;
}
}
return;
}
"Tony" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>
> Hello, I'm new to this group and already have a problem (actually the
> problem is the reason I found the group). I'm taking a Fundamentals of
> Programming class, and they are using PHP to get the message across. I'm
> having a lot of trouble passing the values in the first array to the
second
> array. I included the code (below). If anyone would be so kind as to give
me
> some advice (I'm NOT looking for someone to write it for me, just some
> helpful advice). The data is being read in correctly (for the first array
> anyway). The first function works wonderfully, the second function is
> supposed to handle customer inqueries, working from the $code/$cust_code
> variables. I need to match the numbers in these two arrays, and use switch
> on $cust_area to let it know what to print.
>
>
> Thanks
>
> Tony
> +++++++++++++++++
>
> <html>
> <head> </head>
> <body>
> <pre>
> <?php
>
> $fp1=fopen("proj10b.dat","r");
> $fp2=fopen("proj10b2.dat","r");
> $date=date("m-d-Y");
>
> headers($date);
> main($fp1,&$name,&$code);
> inquiry($fp2,$date,$name,&$code);
> fclose($fp1);
> fclose($fp2);
>
> function headers($date)
> {
> print"DENTAL FEES BY REGION as of Date: $date<br>";
> print" Printed by: Tony Hall<br>";
> print" <br>";
> print" National
> New<br>";
> print"Code - Procedure Median
> England Midwest Pacific<br>";
> print" <br>";
> return;
> }
>
> function main($fp1,$name,&$code)
> {
> for($index=0;$index<43;$index++)
> {
> $name[$index]=(string)fgets($fp1,42);
> $code[$index]=(string)fgets($fp1,6);
> $nat_cost[$index][1]=(integer)fgets($fp1,4);
> $east_cost[$index][2]=(integer)fgets($fp1,4);
> $mid_cost[$index][3]=(integer)fgets($fp1,4);
> $pac_cost[$index][4]=(integer)fgets($fp1,4);
> printf("%1s - %10s %10s %10s %10s %10s", $code[$index],
> $name[$index], $nat_cost[$index][1], $east_cost[$index][2],
> $mid_cost[$index][3], $pac_cost[$index][4]);
> print" <br>";
> }
> return;
> }
>
> function inquiry($fp2,$date,$name,$code)
> {
> while(!feof($fp2))
>
> $cust_name=trim(fgets($fp2,12));
> $cust_area=trim(fgets($fp2,9));
> $cust_code=trim(fgets($fp2,6));
>
> if($cust_code==$code[$index])
> {
> $row=$index;
> }
>
> switch($cust_area)
> {
> case "National":
> print "national<br>";
>
> printf("%1s %1f", $name[$row], $cust_cost[$row][1]);
> break;
>
> case "East":
> print"East<br>";
>
> printf("%1s %1f", $name[$row], $cust_cost[$row][2]);
> break;
>
> case "Midwest":
> print"midwest<br>";
>
> printf("%1s %1f", $name[$row], $cust_cost[$row][3]);
> break;
>
> case "Pacific":
> print"pacific<br>";
>
> printf("%1s %1f", $name[$row], $cust_cost[$row][4]);
> break;
> }
>
> return;
> }
>
> ?>
> </pre>
> </body>
> </html>
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php