NYCPHP Meetup

NYPHP.org

[nycphp-talk] Help with error statement

Paul paul at gubavision.com
Thu Nov 16 15:34:21 EST 2006


Hmm... Did not think that this would be that difficult.  Though I  
know I looked at it for several day before posting here. Sorry for  
all posts.  The last solution did not work either.  There is an if  
statement but no else.  Sorry I am unsure where it would go.  Also  
for some reason the changes prevented the first found zip not to  
display.  As it turns out in this case I know is 07701 and there are  
locations there.  Thanks for all the help so far Rob above and  
beyond.  I think I'll get some coffee going.


Paul Guba


On Nov 16, 2006, at 2:58 PM, Rob Marscher wrote:

> Gotcha.  Try this:
>
> $zips = $z->get_zips_in_range('07732', '10',
> _ZIPS_SORT_BY_DISTANCE_ASC, true);
> $row_count++;
> foreach ($zips as $key => $value)
> {
>   //find all locations within range using returned zipcode values
>   $sql_events = mysql_query("SELECT * FROM area36 WHERE zipcode
>     ='$key'") or die (mysql_error());
>   while ($row = mysql_fetch_array($sql_events)) {
>     $dist = $row['dist'];
>     $day = $row['day'];
>     $town = $row['town'];
>     $time = $row['time'];
>     $place = $row['place'];
>     $street = $row['street'];
>     $type = $row['type'];
>     $Special = $row['Special'];
>     $hca = $row['hca'];
>     $ns = $row['ns'];
>
>     //row count for alternating colors
>     $row_color = ($row_count % 2) ? $color1 : $color2;
>
>     //create tables for data row loop
>     echo "<tr>
> 	<td class='$row_color'>$dist</td>
>      <td class='$row_color'>$day</td>
>      <td class='$row_color'>$town</a></td>
> 	<td class='$row_color'>$time</a></td>
> 	<td class='$row_color'>$place</a></td>
> 	<td class='$row_color'>$street</a></td>
> 	<td class='$row_color'>$type</a></td>
> 	<td class='$row_color'>$Special</a></td>
> 	<td class='$row_color'>$hca</a></td>
> 	<td class='$row_color'>$ns</a></td>
>      </tr>";
>
>      // Add 1 to the row count
>      $row_count++;
>   }
> }
> if ($row_count == 0)
> // error statement if no locations are found within search radius
> {
>   echo 'Sorry, your search returned no locations.  Try using a larger
>   radius to search.';
> }
>
>
>
> Paul wrote:
>> The problem with this is that the count is always greater than zero.
>> The count($key) will always equal at least one.  The one being the
>> orignating zipcode that you searched since even if you searched 1
>> mile, you would still have one originating zipcode.  If there is a
>> location at that originating zipcode it would also return a location
>> query.  Hence my problem.
>>
>> Paul Guba
>>
>>
>> On Nov 16, 2006, at 12:56 PM, Rob Marscher wrote:
>>
>>
>>> Sorry... I looked at it a little too quickly...  You need to put
>>> your if
>>> statement outside the foreach.  That was the issue.
>>>
>>> $zips = $z->get_zips_in_range('07732', '10',
>>> _ZIPS_SORT_BY_DISTANCE_ASC, true);
>>> if(isset($zips) && count($key) > 0)
>>> //find all locations within range using returned zipcode values
>>> {
>>>   foreach ($zips as $key => $value)
>>>   {
>>>     $sql_events = mysql_query("SELECT * FROM area36 WHERE zipcode
>>>     ='$key'") or die (mysql_error());
>>>     while ($row = mysql_fetch_array($sql_events)) {
>>>       // process rows
>>>     }
>>>   }
>>> }
>>> // error statement if no locations are found within search radius
>>> else {
>>>   echo 'Sorry, your search returned no locations.  Try using a  
>>> larger
>>>   radius to search.';
>>> }
>>>
>>>
>>>
>>> Paul wrote:
>>>
>>>> If I do as I think you suggested here:
>>>> On Nov 16, 2006, at 11:35 AM, Rob Marscher wrote:
>>>>
>>>>
>>>>
>>>>> You want to use mysql_num_rows -
>>>>> http://us3.php.net/manual/en/function.mysql-num-rows.php - after
>>>>> your
>>>>> query.  You can then do an if statement to check if  
>>>>> mysql_num_rows !
>>>>> = 0
>>>>> before doing the while loop:
>>>>>
>>>>> $sql_events = mysql_query("SELECT * FROM area36 WHERE zipcode
>>>>> ='$key'") or die (mysql_error());
>>>>> if (mysql_num_rows() !== 0)
>>>>> {
>>>>>   while ($row = mysql_fetch_array($sql_events)) {
>>>>>     // stuff in here
>>>>>   }
>>>>> }
>>>>> else
>>>>> {
>>>>>   // error - no records found
>>>>> }
>>>>>
>>>>>
>>>> My  correction snippet based on that here:
>>>>
>>>> {
>>>> $sql_events = mysql_query("SELECT * FROM area36 WHERE zipcode
>>>> ='$key'") or die (mysql_error());
>>>> if (mysql_num_rows($sql_events) !== 0)
>>>> {
>>>> while ($row = mysql_fetch_array($sql_events)) {
>>>> 	$dist = $row['dist'];
>>>>      $day = $row['day'];
>>>>      $town = $row['town'];
>>>> 	$time = $row['time'];
>>>> 	$place = $row['place'];
>>>> 	$street = $row['street'];
>>>> 	$type = $row['type'];
>>>> 	$Special = $row['Special'];
>>>> 	$hca = $row['hca'];
>>>> 	$ns = $row['ns'];
>>>>
>>>>      //row count for alternating colors
>>>>
>>>>      $row_color = ($row_count % 2) ? $color1 : $color2;
>>>>
>>>>      //create tables for data row loop
>>>>
>>>>      echo "<tr>
>>>> 	<td class='$row_color'>$dist</td>
>>>>      <td class='$row_color'>$day</td>
>>>>      <td class='$row_color'>$town</a></td>
>>>> 	<td class='$row_color'>$time</a></td>
>>>> 	<td class='$row_color'>$place</a></td>
>>>> 	<td class='$row_color'>$street</a></td>
>>>> 	<td class='$row_color'>$type</a></td>
>>>> 	<td class='$row_color'>$Special</a></td>
>>>> 	<td class='$row_color'>$hca</a></td>
>>>> 	<td class='$row_color'>$ns</a></td>
>>>>      </tr>";
>>>>
>>>>      // Add 1 to the row count
>>>>
>>>>      $row_count++;
>>>> }
>>>> }
>>>> // error statement if no locations are found within search radius
>>>> else {
>>>> echo 'Sorry, your search returned no locations.  Try using a larger
>>>> radius to search.';
>>>> }
>>>>
>>>>
>>>>
>>>> Returns the error statement each time there is an x amount positive
>>>> result.  This was the exact problem I was having.  So what I get is
>>>> the error repeated x amount of  times than my table is built  
>>>> with the
>>>> actual results.  What am I missing?
>>>>
>>>> Paul Guba
>>>>
>>>>
>>>> _______________________________________________
>>>> New York PHP Community Talk Mailing List
>>>> http://lists.nyphp.org/mailman/listinfo/talk
>>>>
>>>> NYPHPCon 2006 Presentations Online
>>>> http://www.nyphpcon.com
>>>>
>>>> Show Your Participation in New York PHP
>>>> http://www.nyphp.org/show_participation.php
>>>>
>>>>
>>>>
>>> -- 
>>> Rob Marscher
>>> Software Engineer
>>> rmarscher at beaffinitive.com
>>> 212.684.9100x17
>>>
>>> _______________________________________________
>>> New York PHP Community Talk Mailing List
>>> http://lists.nyphp.org/mailman/listinfo/talk
>>>
>>> NYPHPCon 2006 Presentations Online
>>> http://www.nyphpcon.com
>>>
>>> Show Your Participation in New York PHP
>>> http://www.nyphp.org/show_participation.php
>>>
>>
>> _______________________________________________
>> New York PHP Community Talk Mailing List
>> http://lists.nyphp.org/mailman/listinfo/talk
>>
>> NYPHPCon 2006 Presentations Online
>> http://www.nyphpcon.com
>>
>> Show Your Participation in New York PHP
>> http://www.nyphp.org/show_participation.php
>>
>>
>
> -- 
> Rob Marscher
> Software Engineer
> rmarscher at beaffinitive.com
> 212.684.9100x17
>
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
>
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php




More information about the talk mailing list