close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

global recordset

Thread began 3/10/2023 6:11 am by msmoose2400634 | Last modified 3/23/2023 4:25 pm by Ray Borduin | 226 views | 5 replies |

msmoose2400634

global recordset

Good morning, I have worked on this for a couple of days with no success. I am trying to sent out an email from a page that has a form in it. I added the Send Email behavior, everything works fine until I try to add a global recordset to the email page. Obviously I do not understand how to use the global statement. In the page that calls the Send Email behavior I added this code to the top of the page:

<?php
global $MyConnection;
?>

<?php ini_set("display_errors",1);?>
<?php require_once('../Connections/MyConnection.php'); ?>
<?php require_once('../webassist/mysqli/rsobj.php'); ?>
<?php require_once("../webassist/email/WA_Email.php"); ?>
<?php require_once('../webassist/mysqli/queryobj.php'); ?>

Could you please help explain how to the global statement in my .php page.

Thank you as always
Karen

Sign in to reply to this post

Ray BorduinWebAssist

global is used to bring a variable from a higher scope into a function where it wouldn't normally be defined.

So if you have this on a page"

php:
<?php

$mylocalvariable 
"defined!";

function 
writeLocalVariable() {
  echo(
$mylocalvariable);
}

writeLocalVariable();



This will error: "$mylocalvariable is not defined"

Because by default the scope of the variable means it isn't carried into the function. To solve that problem you can use:

php:
<?php

$mylocalvariable 
"defined!";

function 
writeLocalVariable() {
  global 
$mylocalvariable;
  echo(
$mylocalvariable);
}

writeLocalVariable();



By declaring the variable global in the function it becomes available to use.

Sign in to reply to this post
Did this help? Tips are appreciated...

msmoose2400634

Not understanding ...

My question is I have this recordset that I want to make global (if I am understanding this correctly):

<?php
$rs_select = new WA_MySQLi_RS("rs_select",$MyConnection,1);
$rs_select->setQuery("SELECT emailaddr, fullname, username, password FROM v_MemberProfile WHERE persSeq = ?");
$rs_select->bindParam("i", "".(isset($_GET['persSeq'])?$_GET['persSeq']:"") ."", "-1"); //colname
$rs_select->execute();
?>

Do I just make this statement

<?php
$mylocalvariable = "$rs_select";
function writeLocalVariable() {
global $mylocalvariable;
echo($mylocalvariable);
}
writeLocalVariable();
?>

Sign in to reply to this post

Ray BorduinWebAssist

What do you mean by "make global"? What does "global" mean to you in this context?

Sign in to reply to this post
Did this help? Tips are appreciated...

msmoose2400634

sorry Ray if I was not clear, I guess I am a little lost on getting dynamic fields in an email page.

I have 2 recordsets on a page that has a form and the Send Email behavior ( resendEmail.php).
The recordset has the selected member's name, password, username, email, etc and the second recordset for the business name, email adddress, url, etc.

In the Email Page (Block6.php) I would like to reference the fields in the two recordsets (one the members info and the other recordset the business info).


I am under the impression that $global means I could create a recordset in one .php page and that recordset would be available throughout my other pages.

I thought I could create $global recordsets (on the resendEmail.php page) and then be able to use them in the Email page (Block6.php)
For instance on the Email page have a line where it reads
<p>Welcome <?php echo($rs_select->getColumnVal("v_name")); ?></p>- //The v_name is the members full name from the recordset

Hope I was able to explain myself better.

Sign in to reply to this post

Ray BorduinWebAssist

That is not what global does. You can never declare a database connection or recordset on one page and reference it on another.

Specifically in the email body page you can add a recordset from the main page to use in the body by declaring it on the top of the page like:

<?php
global $RecordsetName;
?>

Sign in to reply to this post
Did this help? Tips are appreciated...

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...