Re: Set variable outside of scope (redo)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Generally, scope is fairly loose in PHP. If $row is set by
mysql_fetch_array(...) it should carry throughout your script as it is,
unless modified. Try commenting out non-relavant pieces of the code and
var_dump(...)ing the $row variable at the start and throughout the script.

Aaron


On 1/5/06, Mike Tuller <php@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Excuse the last post, I didn't have all the code it there.
>
> I have a table listing items in a database, and have a delete button
> next to each item, and I want to be able to click on the delete and
> delete only that record in the database and then reload the page
> where it would display the updated information. Here is part of the
> code I have.
>
>         // list elements one by one until there are no more in the
> database
>         while ( $row=mysql_fetch_array($result2) )
>         {
>                 if ($row[range] != "")
>                 {
>                         echo "
>                         <form action=".$_SERVER['PHP_SELF']."
> method=\"post\" name=
> \"deleteRange\">
>                         <tr class=\"trlist\">
>                                 <td>$row[id]</td>
>                                 <td>$row[range]</td>
>                                 <td align=\"right\"><input type=\"submit\"
> name=\"deleteRange\"
> value=\"Delete\" /></td>
>                         </tr>
>                         </form>
>                 ";
>                 }
>         }
>                 echo "</table>";
>
>                 echo "
>                 <br />
>                 <form action=".$_SERVER['PHP_SELF']." method=\"post\"
> name=
> \"addrange\">
>                         <table class=\"nolist\">
>                                 <tr>
>                                         <td>Add Range: $row[id]</td>
>                                         <td><input type=\"text\"
> name=\"name\" size=\"53\" tabindex=\"9
> \" /></td>
>                                         <td align=\"right\"><input
> type=\"submit\" name=\"addRange\"
> value=\"Add Range\" /></td>
>                                 </tr>
>
>                         </table>
>                 </form>";
>
>
>
> }
> elseif (isset($_POST['deleteRange']))
> {
>
>         $query = "delete from district.ip_range where id = $row[id]";
>
>         mysql_query($query, $link) or die (mysql_error());
>
>         echo "Record ".$row[id]." has beed deleted.";
>
> }
>
> They key I am using to find the record I want to delete is the the
> $row[id], but that is out of the scope of where the variable is set.
> Is there a way to set a variable so that it goes outside the scope?
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux