At 02:04 PM 11/26/2001 +0200, Rudi Ahlers wrote:
>How would I be able to change a variable from the input in a checkbox? I
>need to write an sms script, that would be able to sms to three different
>providers, and I only want the use to type in the phone number. Thus, if he
>types in 083xxxxxxxxxx, it should goto provider 1, if he types in
>082xxxxxxxxxx, it should goto provider 2, and if he types in 084xxxxxxxxxx,
>it should goto provider 3. I have a simple mail script, with $phone for the
>phone number variable, and this is the one that needs to change.
>Rudi Ahlers
>UNIX Specialist and Web Developer
>Bonzai Web Design -
>Cell: 082 926 1689


Try this -  a function definition, followed by where I use it further down the


// is_checked
// preserves status of previous selection of radio buttons or checkboxes
// when page redisplays by inserting "checked" into appropriate line of 
option group
// used in a group of radio buttons or checkboxes.
// usage: is_checked( $radio_val == 'open')
// CQA Consulting 2000
function is_checked( $opt_expression )
         if( $opt_expression )
                 $retval = "checked";
                 $retval = "";
         echo $retval;
//end of function is_checked

And then further down the page, in a form, these radio buttons:

<td >Display:</td>
<td ><input type="radio" name="AuctionChoice" value = "open" <? is_checked( 
$AuctionChoice=='open') ?> > Open </td>
<td ><input type="radio" name="AuctionChoice" value = "closed" <? 
is_checked( $AuctionChoice=='closed') ?> > Closed  </td>
<td ><input type="radio" name="AuctionChoice" value = "both" <? is_checked( 
$AuctionChoice=='both') ?>  > Both </td>

The use of "checked" is not good terminology, because it implies a 
checkbox. You can replace AuctionChoice with PhoneChoice, and "open ... 
both" with your phone numbers or ISP id's and you're off to the races.

Now these next bits are out of sequence. They properly belong between the 
function definition and the display fragment, but are inserted here so you 
can see how I use the $AuctionChoice when it is read when the page is 
reloaded. It's used to build up a WHERE clause for a SELECT.

         switch( $AuctionChoice )
         case "open":
                 $auction_where = " lOnAuction = 1" ;
         case "closed":
                 $auction_where = " lOnAuction = 0 ";
                 unset( $auction_where);

and there is also a choice coming from a combo box, which returns a string 
representing a class, hence $class_where,  used like so:

    // where clause fragment for the chosen class
    if( $ClassChoice )
         $class_where = " nClass = $ClassChoice ";

The WHERE condition for the select is put together like this:

    // assemble the _where clause fragments into a
    // coherent WHERE condition
    if( $auction_where && $class_where )
         $sql_where = " WHERE $auction_where AND $class_where ";
    elseif( $auction_where)
         $sql_where = " WHERE $auction_where ";
    elseif( $class_where )
         $sql_where = " WHERE $class_where ";
         // now put the select statement together, test for results and 
display accordingly
         $sql = "SELECT * FROM item $sql_where order by cItemId";

There's probably someone on the list who can do it with fewer lines, but I 
find this clear, and it accommodates all my conditions, and if no choices 
are made $sql_where does not exist and the SELECT is still valid. I still 
find the statelessness of web pages strange, how variables just cease to 
exist next time around if you don't explicitly pass them.

If this is overkill, or I missed the mark completely, apologies. Otherwise, 
I hope you find it useful.

Miles Thompson

PHP General Mailing List (
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to