Using variables from the global scope inside a function.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • nathanwb
    New Member
    • Mar 2008
    • 39

    Using variables from the global scope inside a function.

    I have the following php code, at the top I am pulling a piece of data from a query and I echo the results with no problem, I am using Ajax with this page as well and further down the page when I try to reference the same $radio it dosnt show anything.

    Line 7 is where i get the current radio number assigned to the person that is loged in. and line 80 is where I try to use it again.

    Thanks


    [php]<?
    include('../application.php ');
    include('../includes/xajax/xajax.inc.php') ;
    set_time_limit( 0);
    if ($myID==0) goto('../index.php');

    $radio = sql::getval('us e_rnumber', 'user', "WHERE `use_id`='$myID '");

    echo "$radio";


    $xajax = new xajax();
    $xajax -> regf('updata');
    $xajax -> processRequest( );
    $ajax = $xajax -> getJavascript(" ", "../includes/xajax/xajax_js/xajax_uncompres sed.js");

    function updata()
    {
    $objResponse = new xajaxResponse() ;
    $objResponse -> assign('dinf', "innerHTML" , get_mydata());
    return $objResponse;
    }

    function get_mydata()
    {

    $code = "<table border=0 width=100% cellpadding=2 cellspacing=1 bgcolor=000000> ";
    $code .= '<tr class="header">
    <td align=left width=10 valign=top>#</TD>
    <td align=left valign=top>DATE </TD>
    <td align=left valign=top>REC</TD>
    <td align=left valign=top>DISP </TD>
    <td align=left valign=top>ARR</TD>
    <td align=left valign=top>COMP </TD>
    <td align=left valign=top>NATU RE</TD>
    <td width=250 align=left valign=top>LOCA TION</TD>
    <td align=left valign=top>UNIT </TD>
    <td align=left valign=top>BACK UP</TD>
    <td align=left valign=top>ZONE </TD>
    <td align=left valign=top>OCA #</TD>
    <td align=left valign=top>DISP R</TD>
    <td align=left valign=top>D</TD></tr>';
    $number=1;
    $qc = mysql_query("SE LECT * FROM `cad_cad` ORDER BY `soc_id` ASC");
    while ($rc = mysql_fetch_ass oc($qc))
    {
    extract($rc);
    $soc_Date = trim($soc_Date) ;
    $soc_Received = trim($soc_Recei ved);
    $soc_Dispatched = trim($soc_Dispa tched);
    $soc_Arrived = trim($soc_Arriv ed);
    $soc_Completed = trim($soc_Compl eted);
    $soc_Nature = trim($soc_Natur e);
    $soc_Cfs = trim($soc_Cfs);
    $soc_Location = trim($soc_Locat ion);
    $soc_Unit = trim($soc_Unit) ;
    $soc_Backup = trim($soc_Backu p);
    $soc_Zone = trim($soc_Zone) ;
    $soc_Case = trim($soc_Case) ;
    $soc_Dispatcher = trim($soc_Dispa tcher);
    $soc_Dispositio n = trim($soc_Dispo sition);
    $b1 = '';
    $b2 = '';
    $radio = '';
    $sound = '';
    if (empty($soc_Rec eived) && empty($soc_Disp atched) && empty($soc_Arri ved))
    {
    $tdclass = "tdrec";
    $b1 = '<blink>';
    $b2 = '</blink>';
    }
    if ($soc_Received != "" && empty($soc_Disp atched) && empty($soc_Arri ved))
    {
    $tdclass = "tdrec";
    $b1 = '<blink>';
    $b2 = '</blink>';
    }


    if ($soc_Received != "" && empty($soc_Disp atched) && empty($soc_Arri ved) && $soc_Unit == $radio) $sound = "123454";


    if ($soc_Received != "" && $soc_Dispatched !="" && empty($soc_Arri ved)) $tdclass = "tdyel";
    if ($soc_Received != "" && $soc_Dispatched !="" && $soc_Arrived != "") $tdclass = "tdgreen";
    if (ltrim($soc_Sta tus)=='Complete d') $tdclass="tdcom pl";


    $code .= "<tr>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>". $number."</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Date{$b 2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Receive d{$b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Dispatc hed{$b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Arrived {$b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Complet ed{$b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Nature{ $b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ sound}$soc_Loca tion{$b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Unit{$b 2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Backup{ $b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Zone{$b 2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'><a href=\"?oca=$so c_Cfs\">$soc_Ca se</a></span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Dispatc her{$b2}</span></td>
    <td align=left valign=top class='".$tdcla ss."'><span class='text'>{$ b1}$soc_Disposi tion{$b2}</span></td>{$sound}
    </tr> ";
    $number++;
    }
    $code .= "</table>";
    return $code;
    }

    ?>
    <HTML>
    <HEAD>
    <TITLE>Cad Calls</TITLE>
    <style>
    .header {font-size: 14px; font-family: "Tahoma, Arial"; color:#ffffff; background-color: #719ece; }
    #results TD { font-size:14px; font-family: \"Tahoma, Arial\"; }
    .td1{font-size: 14px; font-family: "Tahoma, Arial"; color:#ffffff; background-color: #000000; padding: 2px; }
    .td2{font-size: 14px; font-family: "Tahoma, Arial"; color:#000000; background-color: #eeeeee; padding: 2px; }
    .td3{font-size: 14px; font-family: "Tahoma, Arial"; color:#dcdcdc; background-color: #000000; padding: 2px; }
    .td_zone{font-size: 14px; font-family: "Tahoma, Arial"; color:#000000; background-color: #eeeeee; color:#cc0000 }
    .text1{font-size: 14px; font-family: "Tahoma, Arial"; color:#000000; background-color: #ffffff;}
    .text2{font-size: 14px; font-family: "Tahoma, Arial"; color:#000000; background-color: #ececec;}
    .text{font-size: 14px; font-family: "Tahoma, Arial";}
    .tdcompl{font-size: 14px; font-family: "Tahoma, Arial"; color:#000000; background-color: #ffffff; padding: 2px; }
    .tdrec{font-size: 14px; text-decoration: blink; font-family: "Tahoma, Arial"; color:#ffffff; background-color: #ff3300; padding: 2px; }
    .tdyel{font-size: 14px; font-family: "Tahoma, Arial"; color:#000000; background-color: #ffff00; padding: 2px; }
    .tdgreen{font-size: 14px; font-family: "Tahoma, Arial"; color:#ffffff; background-color: #66cc00; padding: 2px; }
    .bttn { font-size:12px; font-family:Arial,sa ns-serif; height:25px; background-color:#ffffff; background-image:url(/images/back03.gif); border-style:solid; border: 1 solid #aaaaaa; }
    </style>

    <meta http-equiv="imagetoo lbar" content="no" />
    <script type="text/javascript">
    function blinkIt() {
    if (!document.all) return;
    else {
    for(i=0;i<docum ent.all.tags('b link').length;i ++){
    s=document.all. tags('blink')[i];
    s.style.visibil ity=(s.style.vi sibility=='visi ble')?'hidden': 'visible';
    }
    }
    }
    </script>

    </HEAD>
    <BODY BGCOLOR="#fffff f" alink='#000000' vlink='#000000' link='#000000' leftmargin=0 rightmargin=0 bottommargin=0 topmargin=0 oncontextmenu=" return false" onload="setInte rval('blinkIt() ',500)">

    <?php
    echo $ajax;
    if (isset($_GET['oca']))
    {

    echo '
    <table border=0 width=100% cellpadding=2 cellspacing=1 bgcolor=000000>
    <tr class="header">
    <td align=left width=25% valign=top>Call er Information</TD>
    <td align=left valign=top>Call Notes</TD>
    </tr>';

    $oca = $_GET['oca'];
    $qc = mysql_query("SE LECT * FROM `cad_cad` WHERE `soc_Cfs` = '$oca'");
    if (mysql_num_rows ($qc) > 0)
    {
    while ($rc = mysql_fetch_ass oc($qc))
    {
    extract($rc);
    echo "
    <tr>
    <td align=left width=25% valign=top class='td1'>
    Last Name: <font color=yellow>$s oc_Last<br><fon t color=000000>
    First Name: <font color=yellow>$s oc_First<p><fon t color=000000>

    Address:<br>
    <font color=yellow>$s oc_Address<br>
    $soc_City, $soc_State. $soc_ZipCode<p>

    <font color=white>
    Phone: <font color=yellow>$s oc_Phone<p>
    <Font color=white>
    10-15 Time: <font color=yellow>$s oc_InCustodyTim e<p>

    <Font color=white>
    CFS: <font color=yellow>$s oc_Cfs
    </td>

    <td align=left valign=top class='td1'>$so c_Notes</td>
    </tr>";
    }
    }
    echo "</table>";
    echo "<br><br><i nput type=button value=\"Back To CAD\" class='bttn' onclick=\"locat ion.replace('ca ddisplay1.php') \"><br><br>" ;
    }
    else
    {
    echo "<div id='dinf'>". get_mydata() . "</div>";
    echo "
    <script type=\"text/javascript\">
    function timeupdate()
    {
    t = setTimeout(\" timeupdate()\", 15000);
    xajax_updata();
    }
    timeupdate();
    </script>";
    }
    ?>
    </table></BODY></HTML>
    [/php]
  • r035198x
    MVP
    • Sep 2006
    • 13225

    #2
    Read up on global

    Comment

    • Markus
      Recognized Expert Expert
      • Jun 2007
      • 6092

      #3
      Functions have 'local scope' and won't access the 'global' scope unless you tell it to.

      Adding on to Ro's post:
      inside the function set your variables with the keyword 'global'
      Code:
      func...
          global $a, $x, $y;
      EDIT: I'm an idiot and all the above is on php.net

      -_-

      Comment

      • Atli
        Recognized Expert Expert
        • Nov 2006
        • 5062

        #4
        I've changed the title of this thread to better describe it's contents.

        Please remember to provide a meaningful Title for any threads started (see Use a Good Thread Title).
        This helps to ensure that other members, and also the general public, will have a better chance of finding answers to any similar questions.

        MODERATOR.

        Comment

        Working...