PHP: Difference between revisions

From nuBuilderForte
Jump to navigation Jump to search
 
(478 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=db_columns=
<!-- [[Template:php_sprera]] -->
Returns an array of fieldname for a table.
 
=db_fetch_array=
Each of the purple diamonds represents PHP code that can be run in nuBuilder Forte and when.
 
 
[[File:EventFlow.PNG|300px|Click to view larger]]
 
 
eg. You might add this in '''AS''' - After Save of an invoice [[Forms|Browse and Edit Form]].
 
  $update = "UPDATE stock SET sto_units = sto_units - ? WHERE stock_id = ?"
 
  nuRunQuery($update, [$units, $stockId]);
 
* All of the AS BS BB and BE code blocks are for PHP only and are executed on the server-side.
* You can create and call a JavaScript routine ( '''nuJavaScriptCallback($string1)''' )
* All JavaScript to run on the client side should be done in the '''Custom Code''' of the object (most likely for the onclick that you're trying to do).
* Each field or label on the form has a '''Custom Code''' (click the OBJ button to see all the objects on your form) and so does the form itself (click the Prop button).
 
 
==db_fetch_array==
 
{{Template:php_sprera
 
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
 
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = db_fetch_array($object1)
</span>|parameters=<!-- PARAMETERS --><pre>
$object1  : nuRunQuery() result.
</pre>|return=<!-- RETURN --><pre>
$object  : Returns an associative array of strings that corresponds to the fetched row, or FALSE if there are no more rows.
</pre>|description=<!-- DESCRIPTION -->
A function for looping through the result of a SELECT query returned from [[PHP#nuRunQuery|nuRunQuery]].|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$select = "SELECT cus_lastname FROM customer WHERE cus_city = ?";
$stmt = nuRunQuery($select, ['New York']);
 
while($row = db_fetch_array($stmt)){
    nuDebug($row['cus_lastname']. ' lives in New York.');
}
 
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0]: Robert Paulson lives in New York.
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#db_field_names|db_field_names]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_num_rows|db_num_rows]], [[PHP#db_fetch_value|db_fetch_value]], [[PHP#nurunquery|nuRunQuery]], [https://www.php.net/manual/en/class.pdostatement.php PDOStatement]
 
|}}
 
==db_fetch_object==
 
{{Template:php_sprera
 
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
 
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = db_fetch_object($object1)
</span>|parameters=<!-- PARAMETERS --><pre>
$object1 : nuRunQuery() result.
</pre>|return=<!-- RETURN --><pre>
$object  : PDO object
</pre>|description=<!-- DESCRIPTION -->
A function for looping through the result of a SELECT query returned from [[PHP#nuRunQuery|nuRunQuery]].
A function for looping through the result of a SELECT query returned from [[PHP#nuRunQuery|nuRunQuery]].
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$select = "SELECT sus_name FROM zzzzsys_user WHERE sus_team = ?";
$stmt = nuRunQuery($select, ['Sales']);
while($row = db_fetch_object($stmt)){
    nuDebug('User name: ' . $row->sus_name);
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0]: His name is Robert Paulson
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#db_field_names|db_field_names]], [[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#db_fetch_value|db_fetch_value]], [[PHP#db_num_rows|db_num_rows]], [[PHP#nurunquery|nuRunQuery]]
|}}
==db_fetch_row==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = db_fetch_row($object1)
</span>|parameters=<!-- PARAMETERS --><pre>
$object1  : nuRunQuery() result.
</pre>|return=<!-- RETURN --><pre>
$object  : Returns an numerical array of strings that corresponds to the fetched row, or FALSE if there are no more rows.
</pre>|description=<!-- DESCRIPTION -->
A function for looping through the result of a SELECT query returned from [[PHP#nuRunQuery|nuRunQuery]].|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$select = "SELECT emp_fullname FROM member WHERE nickname = ?";
$stmt = nuRunQuery($select, ['Bob']);
while($row = db_fetch_row($stmt)){
    nuDebug('His name is ' . $row[0]);
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0]: His name is Robert Paulson
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#db_field_names|db_field_names]], [[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_fetch_value|db_fetch_value]], [[PHP#db_num_rows|db_num_rows]], [[PHP#nurunquery|nuRunQuery]]
|}}
==db_fetch_value==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$string = db_fetch_value($string1 ,$string2 ,$string3 ,$string4)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1  : table name
$string2  : primary key
$string3  : record id
$string4  : field name
</pre>|return=<!-- RETURN --><pre>
$string  : a value from a table.
</pre>|description=<!-- DESCRIPTION -->
Returns one value from a certain record's field value in a certain table.
<div style='background-color:#D8E4FF;padding:10px'>
If the function returns '''more or less''' than one row, it will return false.</div>
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$value = db_fetch_value('customer', 'customer_id', '64555c358ef332c', 'cus_name');
nuDebug(db_num_rows($value));
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0]: Tyler Durden
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#db_field_names|db_field_names]], [[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#nurunquery|nuRunQuery]], [[PHP#db_num_columns|db_num_columns]]
|}}
==db_field_names==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$array = db_field_names($string1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1 : Database table name.
</pre>|return=<!-- RETURN --><pre>
$array  : Field names.
</pre>|description=<!-- DESCRIPTION -->
Returns an array of field names from a database table.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$fields = db_field_names('customer');
nuDebug($fields);
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0]: Array
(
    [0] => customer_id
    [1] => cus_name
    [2] => cus_phone
    [3] => cus_address
)
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#db_fetch_value|db_fetch_value]], [[PHP#db_num_rows|db_num_rows]]
|}}
==db_num_columns==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$integer = db_num_columns($object1)
</span>|parameters=<!-- PARAMETERS --><pre>
$object1  : PDO object.
</pre>|return=<!-- RETURN --><pre>
$integer  : Number of columns returned.
</pre>|description=<!-- DESCRIPTION -->
The number of fields in the result from  [[PHP#nurunquery|nuRunQuery]].
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$stmt = nuRunQuery("SELECT * FROM customer");
nuDebug(db_num_columns($stmt));
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0]: 6
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#db_field_names|db_field_names]], [[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#db_fetch_value|db_fetch_value]], [[PHP#nurunquery|nuRunQuery]], [[PHP#db_num_rows|db_num_rows]]
|}}
==db_num_rows==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$integer = db_num_rows($object1)
</span>|parameters=<!-- PARAMETERS --><pre>
$object1  : PDO object.
</pre>|return=<!-- RETURN --><pre>
$integer  : Number of records returned.
</pre>|description=<!-- DESCRIPTION -->
The number of records in the result from  [[PHP#nurunquery|nuRunQuery]].
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$stmt = nuRunQuery("SELECT * FROM customer");
nuDebug(db_num_rows($stmt));
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0]: 3453
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#db_field_names|db_field_names]], [[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#db_fetch_value|db_fetch_value]], [[PHP#nurunquery|nuRunQuery]], [[PHP#db_num_columns|db_num_columns]]
|}}
== nuAddJavaScript ==
{{Template:php_sprera
|syntax=<span style='color:#690497'>nuAddJavaScript($js, $beforeCreated = false, $first = false)</span>
|parameters=
<pre>
$js : JavaScript code to add.
$beforeCreated : (optional) If true, adds JavaScript before form objects are created.
$first : (optional) If true and $beforeCreated is also true, adds JavaScript at the very top before all other JavaScript.
</pre>
|return=
<pre>
</pre>
|description=
Adds JavaScript code to a form's JavaScript section. By default, JavaScript is added after form objects are created and before it is run.
|example=
<pre style="background-color:#e5ddf1">
// Basic usage
$js = "console.log('Hello from nuBuilder!');";
nuAddJavaScript($js);
// Example with options
$js = "alert('This is at the top!');";
nuAddJavaScript($js, true, true);
</pre>
|result=
<pre style="background-color:#fff4b68f">
// JavaScript added to the specified section of the form's JavaScript.
</pre>
|alsosee=
[[Procedures#Before_Browse|Before Browse]], [[Procedures#Before_Edit|Before Edit]]
}}
==nuDebug==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
nuDebug($anytype1, $anytype2..)
</span>|parameters=<!-- PARAMETERS --><pre>
$anytypes : string, object or array.
</pre>|return=<!-- RETURN --><pre>
</pre>|description=<!-- DESCRIPTION -->
This function takes multiple parameters and creates a record that can be viewed by clicking '''nuDebug Results''' in the [[Navigation#Options_Menu|Options]] menu.
Each nuDebug record's first line will explain when or why it was created. There are 3 types...
#Procedure - 2017-11-03 06:52:02 - ''Procedure'' '''ABC''' line 1
#Event - 2017-11-03 06:58:08 - ''Before Edit'' of Form '''nuhome''' line 5
#SQL Error - 2017-11-03 06:58:09 - SQL Error in '''nuRunQuery'''
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$s = 'Hello world';
$a = [1,2,3,4];
$o = ['name' => 'Bob', 'phone' => '555 123456'];
nuDebug($s, $a, $o);
nuAddJavaScript($j);
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : Hello world
[1] : Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)
[2] : Array
(
    [name] => Bob
    [phone] => 555 123456
)
</pre>|alsosee=<!-- SEE ALSO -->
[[Procedures#Before_Browse|Before Browse]], [[Procedures#Before_Edit|Before Edit]], [[Procedures#Before_Save|Before Save]],[[Procedures#After_Save|After Save]], [[Procedures#Before_Delete|Before Delete]], [[Procedures#After_Delete|After Delete]]
|}}
==nuDisplayError==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
nuDisplayError($string1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1 : error message.
</pre>|return=    <!-- RETURN --><pre>
</pre>|description=<!-- DESCRIPTION -->
This function adds an error message that will stop the Edit Form from saving or deleting the current record but will then display all generated error messages.
If any error messages are created in [[Procedures#Before_Save|Before Save]] or [[Procedures#Before_Delete|Before Delete]] the current record will not be saved or deleted.
eg.
*No messages - Continue to Save or Delete record.
*One or more messages - No not Save or Delete record.
If any messages are created in [[Procedures#After_Save|After Save]] or [[Procedures#After_Delete|After Delete]] the current record will be saved or deleted and will display this message once saved.
(The green '''Yes''' or red '''No''' elements in the flowchart below.)
[[File:EventFlow.PNG|300px|Click to view larger]]
|example=          <!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuDisplayError('That did not work!');
</pre>|result=    <!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>|alsosee=    <!-- SEE ALSO -->
[[Procedures#Before_Save|Before Save]], [[Procedures#Before_Delete|Before Delete]], [[Javascript#nuMessage|nuMessage]], [[PHP#nuGetLastError|nuGetLastError]]
|}}
==nuGetLastError==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuGetLastError()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
$object  :  Last error details.
</pre>|description=<!-- DESCRIPTION -->
This function can be used to retrieve error details when running a query with nuRunQuery().
When you run a query with nuRunQuery() and the function returns -1, it means the query was not successful.
To retrieve the error details as an object, you can call this function.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$t = nuRunQuery('SELECT * FROM table_that_does_not_exist');
if ($t === -1) {
  $error = nuGetLastError();
  nuDebug($error);
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : stdClass Object
(
    [user] => globeadmin
    [message] => SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.table_that_does_not_exist' doesn't exist
    [sql] => SELECT * FROM table_that_does_not_exist
    [trace] => C:\xampp\htdocs\test\core\nucommon.php(1406) : eval()'d code - line 1 (nuRunQuery)
C:\xampp\htdocs\test\core\nucommon.php - line 1406 (eval)
C:\xampp\htdocs\test\core\nuform.php - line 21 (nuEval)
C:\xampp\htdocs\test\core\nuform.php - line 1133 (nuBeforeBrowse)
C:\xampp\htdocs\test\core\nuform.php - line 460 (nuBrowseColumns)
C:\xampp\htdocs\test\core\nuapi.php - line 84 (nuGetFormObject)
)
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#nuDisplayError|nuDisplayError]], [[PHP#nuDebug|nuDebug]]
|}}
==nuGetURLParams==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$array = nuGetURLParams()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
$array  :  An associative array containing the parameters specified when index.php is called.
</pre>|description=<!-- DESCRIPTION -->
This function returns an array with all of the parameters set via the URL for a session.  The parameter 'p' (password) is not included in the array.
If new parameters are set, or existing ones replaced, within the same session then nuGetURLParams() will return the full list with the latest values for those which are replaced.
|example=<!-- EXAMPLE -->
<pre style="background-color:#e5ddf1">
// These parameters are specified in the URL :  index.php?country=CA&language=EN&project=187
$params = nuGetURLParams();
$country = $params['country'] ?? "not specified";
$language = $params['language'] ?? "not specified";
$project = $params['project'] ?? "not specified";
nuDebug("Country is $country", "Language is $language" , "Project is $project");
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
Country is CA; Language is EN; Project is 187
</pre>|alsosee=<!-- SEE ALSO -->
[[Login#Parameter_Passing_in_GET_URL|Login : Parameter Passing in GET_URL]]
|}}
==nuGlobalAccess==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$boolean = nuGlobalAccess()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
$boolean  :  true or false
</pre>|description=<!-- DESCRIPTION -->
Returns true if a user with global access is logged in, otherwise false
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
if(!nuGlobalAccess()){
    nuDisplayError('Access denied!');
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>|alsosee=<!-- SEE ALSO -->
|}}
== nuSendEmail ==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT, ALSO SEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuSendEmail($to, $from_email, $from_name, $body, $subject, $attachments = array(), $html = false, $cc = "", $bcc = "", $reply_to = array(), $priority = '', $smtp_options = array())
</span>|parameters=<!-- PARAMETERS --><pre>
$to: (string) The email address of the primary recipient.
$from_email: (string) Optional. The email address that will appear as the sender. If left empty, the sender's email address from Setup -> Email Settings is used.
$from_name: (string) Optional. The name that will appear as the sender. If left empty, the sender's name from Setup -> Email Settings is used.
$body: (string) The content (body) of the email message. If $html is true, HTML content can be included.
$subject: (string) The subject line of the email message.
$attachments: (array) Optional. An associative array of files to attach to the email. Use an empty array if no attachments are desired.
            Format: [ $filename => $filesource ], where $filename is the name of the attachment and $filesource is the file path.
$html: (bool) Optional. When set to true, the email will be sent as an HTML message. Defaults to false.
$cc: (string) Optional. A comma-separated list of email addresses to include in the CC (carbon copy) field.
$bcc: (string) Optional. A comma-separated list of email addresses to include in the BCC (blind carbon copy) field.
$reply_to: (array) Optional. An array of email addresses to be used as the reply-to addresses.
          The array can be formatted as either a list (e.g., array('reply@example.com')) or as address => name pairs (e.g., array('reply@example.com' => 'Reply Name')).
$priority: (string) Optional. A string representing the email's priority. Defaults to an empty string.
$smtp_options: (array) Optional. An associative array of SMTP options. Defaults to an empty array.
</pre>|return=<!-- RETURN --><pre>
$object: On success, the function returns an array where the first element is true and the second element is a confirmation message ("Message sent successfully").
If an error occurs, false is returned along with an error message.
</pre>|description=<!-- DESCRIPTION -->
Sends an email using the settings specified in Setup -> Email Settings. This function can accept either an array of parameters or individual parameters, as shown in the syntax above.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$r = nuSendEmail(
    'to@test.com',
    'from@test.com',
    'From Name',
    'Email content goes here',
    'Email subject',
    array(),
    true,
    'cc_email@test.com',
    'bcc_email@test.com',
    array('reply@test.com' => 'Reply Name')
);
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
(
    [0] => 1
    [1] => Message sent successfully
    [2] =>
    [3] =>
)
</pre>|alsosee=    <!-- SEE ALSO -->
|}}
==nuHash==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$array = nuHash()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=    <!-- RETURN --><pre>
$array  : list of Hash Cookies.
</pre>|description=<!-- DESCRIPTION -->
Returns a list of [[Hash Cookies]] available to use in PHP.
|example=          <!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuDebug(nuHash());
</pre>|result=    <!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : Array
(
    [USER_ID] => globeadmin
    [USER_GROUP_ID] =>
    [HOME_ID] =>
    [GLOBAL_ACCESS] => 1
    [invoice_id] => s14919516899490
    [record_id] => s14919516899490
    [title] => Invoice
    // and more items...
)
</pre>|alsosee=    <!-- SEE ALSO -->
[[PHP#nuDebug|nuDebug()]]
|}}
==nuHasNewRecordID==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$boolean = nuHasNewRecordID()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
$boolean  :  true or false
</pre>|description=<!-- DESCRIPTION -->
Matches #PREVIOUS_RECORD_ID# with #RECORD_ID# and returns true or false.
So that the user can tell if a record is being cloned.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
if(nuHasNewRecordID()){
    nuUpdateCounter($r->zzzzsys_object_id);
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>|alsosee=<!-- SEE ALSO -->
|}}
==nuHasNoRecordID==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$boolean = nuHasNoRecordID()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
$boolean  : true or false
</pre>|description=<!-- DESCRIPTION -->
Returns true if #RECORD_ID# = '-1' so that the user can tell if this is a new reecord.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
if(nuHasNoRecordID()){
    nuUpdateCounter($r->zzzzsys_object_id);
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>|alsosee=<!-- SEE ALSO -->
|}}
==nuGetFormProperties==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuGetFormProperties($string1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1 = Primary Key
</pre>|return=<!-- RETURN --><pre>
$object  : Form record.
</pre>|description=<!-- DESCRIPTION -->
Returns a Form record as an object.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuDebug(nuGetFormProperties('nuuser'));
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : stdClass Object
(
    [zzzzsys_form_id] => nuuser
    [sfo_type] => browseedit
    [sfo_code] => nuuser
    [sfo_description] => User
    [sfo_table] => zzzzsys_user
    [sfo_primary_key] => zzzzsys_user_id
    [sfo_browse_redirect_form_id] =>
    [sfo_browse_row_height] => 0
    [sfo_browse_rows_per_page] => 15
    [sfo_browse_sql] => SELECT *
FROM zzzzsys_user
LEFT JOIN zzzzsys_access ON zzzzsys_access_id = sus_zzzzsys_access_id
ORDER BY sus_name
    [sfo_javascript] =>
)


<source lang="javascript">
</pre>|alsosee=<!-- SEE ALSO -->


$s = "SELECT * FROM customer";
|}}
$t = nuRunQuery($s);


while($r = db_fetch_array($t)){
==nuGetIPAddress==


    nuDebug('The field value is : ' . $r['cus_name'];
{{Template:pdera


|syntax=<!-- SYNTAX --><span style='color:#690497'>
$myIP = nuGetIPAddress();
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
</pre>|description=<!-- DESCRIPTION -->
Retrieves the IP address of the user's device.
|example=<!-- EXAMPLE -->
See [https://forums.nubuilder.cloud/viewtopic.php?f=19&t=10834#p23180 Forum Post]
|alsosee=<!-- SEE ALSO -->
|}}
==nuGetNuDataValue==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuGetNuDataValue($nudata, $formId, $field)
</span>|parameters=<!-- PARAMETERS --><pre>
$nudata = array of form fields
$formId = Form's ID
$field = the field in the form
</pre>|return=<!-- RETURN --><pre>
$value  : Form field value.
</pre>|description=<!-- DESCRIPTION -->
Returns a Form's field value.
|example=<!-- EXAMPLE -->
|alsosee=<!-- SEE ALSO -->
|}}
==nuSetNuDataValue==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$bool = nuSetNuDataValue(&$nudata, $formId, $field, $value)
</span>|parameters=<!-- PARAMETERS --><pre>
$nudata = array of form fields
$formId = Form's ID
$field = the field in the form
$value = value to be set in the field of the form
</pre>|return=<!-- RETURN --><pre>
Boolean success or failure of the setting of the form field value
</pre>|description=<!-- DESCRIPTION -->
Returns the success or failure of the field value set operation
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$nuMainForm  = nuHash()['nuFORMdata'][0]->id;
// Get the value of the object "not_title"
$title = nuGetNuDataValue($nudata, $nuMainForm, 'not_title');
// Replace the value of the object "not_title" by adding a -test postfix:
nuSetNuDataValue($nudata, $nuMainForm, 'not_title', $title . "-test");
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>
|alsosee=<!-- SEE ALSO -->
|}}
==nuID==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$string = nuID()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
$string  : random string.
</pre>|description=<!-- DESCRIPTION -->
Creates a string from
*'''1502690897383''' - Date.now().
*'''1012''' - An incrementing number looping between 1000 and 9999.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuDebug(nuID());
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : 14998774211012
</pre>|alsosee=<!-- SEE ALSO -->
[[PHP#nuTT|nuTT]], [[Javascript#nuID|nuID]]
[[Procedures#Before_Save|Before Save]],[[Procedures#After_Save|After Save]]
|}}
==nuJavaScriptCallback==
{{Template:pdera
|syntax=<!-- SYNTAX --><span style='color:#690497'>
nuJavaScriptCallback($string1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string  : JavaScript Code
</pre>|return=<!-- RETURN --><pre>
</pre>|description=<!-- DESCRIPTION -->
Runs after nuRunPHPHidden() has returned from the server.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$js = " nuMessage('<h1>It worked!</h1>');";
nuJavaScriptCallback($js);
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>|alsosee=<!-- SEE ALSO -->
[[Javascript#nuRunPHPHidden|nuRunPHPHidden()]]
|}}
==nuLookupRecord==
{{Template:php_sprera
<!--Javascript SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuLookupRecord()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=<!-- RETURN --><pre>
$object  : every field from the selected (Browse Form's) record.
</pre>|description=<!-- DESCRIPTION -->
Returns all fields from a selected [[Objects#Lookup|Lookup]] record.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuDebug(nuLookupRecord()->ID);  //-- the id of the chosen Lookup record.
nuDebug(nuLookupRecord());      //-- all fields from then chosen Lookup's record - as well as ID.
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : 5a67739f464cd96
[1] : stdClass Object
(
    [company_id] => 58ade54dac2128b
    [com_code] => 777
    [com_name] => 7 Up
    [com_business_id] => 568a00c77f8f709
    [com_company_id] =>
    [com_color_id] => 568ef5a6968322b#nuSep#568ef920846a089
    [com_age] => 3
    [com_notes] =>
    [com_test] =>
)
</pre>|alsosee=<!-- SEE ALSO -->
[[Procedures#After_Browse|After Browse]], [[PHP#nuSetFormValue|nuSetFormValue]]
|}}
==nuProcedure==
{{Template:php_sprera
<!--Javascript SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$string = nuProcedure($string1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1 : Procedure Code
</pre>|return=<!-- RETURN --><pre>
$string  : PHP Code with all Hash Cookies replaced
</pre>|description=<!-- DESCRIPTION -->
Returns PHP code from a [[Procedures|Procedure]] with all [[Hash_Cookies|Hash Cookies]] replaced, ready to eval().
If the function does not exist, it returns an empty string.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$p = nuProcedure('HW');
if ($p != '') {
  eval($p);
}
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>|alsosee=<!-- SEE ALSO -->
[[Procedures#Before_Browse|Before Browse]],
[[Procedures#After_Browse|After Browse]],
[[Procedures#Before_Edit|Before Edit]],
[[Procedures#Before_Save|Before Save]],
[[Procedures#After_Save|After Save]],
[[Procedures#Before_Delete|Before Delete]],
[[Procedures#After_Delete|After Delete]]


</source>
|}}


=db_fetch_object=
==nuReturnNewRecord==
A function for looping through the result of a SELECT query returned from [[PHP#nuRunQuery|nuRunQuery]].
 
{{Template:php_sprera
 
<!--Javascript SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
 
|syntax=<!-- SYNTAX --><span style='color:#690497'>
nuReturnNewRecord($string1 = -1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1  : The record ID to be loaded. If left blank, a new blank record will be opened.
</pre>|return=<!-- RETURN --><pre>
None
</pre>|description=<!-- DESCRIPTION -->
This function is used in the [[Procedures#After_Save|After Save]] event to open a specified record in the Edit Form. If no record ID is provided, a blank record will be opened instead.
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuReturnNewRecord();
  or
nuReturnNewRecord('5a72a0fce65fea2');
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
An Edit Form opens with the specified record, ready for editing.
</pre>|alsosee=<!-- SEE ALSO -->
[[Procedures#After_Save|After Save]]
 
|}}
 
==nuRunProcedure==
 
 
{{Template:php_sprera
 
<!--Javascript SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT ALSOSEE-->
 
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$boolean = nuRunProcedure($string1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1 : Procedure Code
</pre>|return=<!-- RETURN --><pre>
$boolean  : Returns true if the procedure exists, otherwise false.
</pre>|description=<!-- DESCRIPTION -->
Runs a nuBuilder Procedure
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuRunProcedure('procedure_code');
 
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
</pre>|alsosee=<!-- SEE ALSO -->
[[Procedures#Before_Browse|Before Browse]],
[[Procedures#After_Browse|After Browse]],
[[Procedures#Before_Edit|Before Edit]],
[[Procedures#Before_Save|Before Save]],
[[Procedures#After_Save|After Save]],
[[Procedures#Before_Delete|Before Delete]],
[[Procedures#After_Delete|After Delete]]
 
|}}
 
 
==nuRunQuery==
This function is to be used to access the database. If it is passed a SQL statement it will prepare the statement and then execute it. The results of the query can be fetched using the '''db_fetch_''' family of functions below.
 
If the SQL statement is not defined or no parameters are passed to the function, then an array containing information about the database is returned such as:
 
* The database host
* The name of the database
* The username for the database.
* The password for the user to access the database.
 
<pre>
Array (
 
  [0] => 127.0.0.1
  [1] => site_c
  [2] => root
  [3] => root123
 
)
</pre>
 
''The statement template can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. The variables array must have the values to be used for each (:name) or ? in the query.''
 
{{Template:php_sprera
 
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT, ALSOSEE-->
 
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuRunQuery([$sql = $string1] [, $variables = array()] [,$isInsert = false]);
</span>|parameters=<!-- PARAMETERS --><pre>
$string1 : The SQL query to run.
$variables : An array of values that will replace ?s.
$isInsert : Set to true for insert queries.
</pre>|return=    <!-- RETURN --><pre>
If $isInsert is set to true and the primary key is set to auto-increment, it returns the id of the last inserted entry.
If $isInsert is set to true and no auto-increment primary key is used, it returns 0 if the insert was successful, otherwise -1
(in case of a duplicate entry, invalid syntax etc.)
Else, returns the results of the SQL query as a $object  : PDO object.
 
</pre>|description=<!-- DESCRIPTION -->
Runs an SQL query and returns an Object (for SELECT Statements).
 
This Object can be used by [[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#db_num_rows|db_num_rows]]
 
|example=          <!-- EXAMPLE --><pre style="background-color:#e5ddf1">
 
// 1. Select statement
$s  = "SELECT cus_address FROM customer WHERE customer_id = ?";
$t  = nuRunQuery($s, array('#LOOKUP_RECORD_ID#'));
 
if (db_num_rows($t) == 1) {
    $r  = db_fetch_object($t);
    nuSetFormValue('inv_address', $r->cus_address);
}
 
// 2. Insert statement
$insertSql = "
    INSERT INTO `message`
      (`subject`, `body`, `date_sent`)
    VALUES
      (:subject, :body, :date_sent)
";
 
 
$data = array(
    "subject" => 'nuBuilder!',
    "body" => 'Testing insert statement',
    "date_sent" => date("Y-m-d H:i:s")
);
 
$r = nuRunQuery($insertSql, $data, true);
if ($r == 0) {
  nuDebug('Insert sucessful!');
}
 
</pre>|result=    <!-- RESULT --><pre style="background-color:#fff4b68f">
 
</pre>|alsosee=    <!-- SEE ALSO -->
[[PHP#db_fetch_object|db_fetch_object]], [[PHP#db_fetch_array|db_fetch_array]], [[PHP#db_fetch_row|db_fetch_row]], [[PHP#db_num_rows|db_num_rows]]
 
|}}
 
==nuSetFormValue==
 
{{Template:php_sprera
 
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT, ALSOSEE-->
 
|syntax=<!-- SYNTAX --><span style='color:#690497'>
nuSetFormValue($string1, $string2);
</span>|parameters=<!-- PARAMETERS --><pre>
$string1 = id of nuBuilder Object on current Edit Form.
$string2 = value used to update $string1's Object.
</pre>|return=    <!-- RETURN --><pre>
 
</pre>|description=<!-- DESCRIPTION -->
Updates an Object on an Edit Form [[Procedures#After_Browse|After Browse]] after a Lookup value is chosen.
|example=          <!-- EXAMPLE --><pre style="background-color:#e5ddf1">
 
$user = nuLookupRecord();
 
nuSetFormValue('sus_name', $user->sus_name);
nuSetFormValue('sus_code', $user->sus_code);
nuSetFormValue('sus_position', $user->sus_position);
 
</pre>|result=    <!-- RESULT --><pre style="background-color:#fff4b68f">
 
</pre>|alsosee=    <!-- SEE ALSO -->
[[Procedures#After_Browse|After Browse]], [[PHP#nuLookupRecord|nuLookupRecord]]
|}}
 
==nuGetProperty==
{{Template:pdera
 
|syntax=<!-- SYNTAX --><span style='color:#690497'> $string = nuGetProperty($string1) </span>|parameters=<!-- PARAMETERS --><pre> $string1: The name of the stored Hash Cookie to retrieve </pre>|return=<!-- RETURN --><pre> Returns the stored value of the specified hash cookie. If the property is not set, returns null. </pre>|description=<!-- DESCRIPTION --> Retrieves the value of a Hash Cookie that was previously set using nuSetProperty() in JavaScript. This allows data set on the client side to be accessed in PHP.
 
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1"> // Retrieve the value of the 'my_hash_cookie' property
$value = nuGetProperty('my_hash_cookie');
nuDebug($value);
 
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">'123';</pre>
 
|seealso=<!-- SEE ALSO -->
[[PHP#nuHasProperty|nuHasProperty]]
|}}
 
 
==nuHasProperty==
{{Template:pdera
 
|syntax=<!-- SYNTAX --><span style='color:#690497'> $boolean = nuHasProperty($string, &$value, $boolean) </span>|parameters=<!-- PARAMETERS --><pre>
$string: The name of the stored Hash Cookie to check. 
&$value: (Optional) A reference variable that will be assigned the stored value if it exists. 
$boolean: (Optional, default = true) If set to false, empty values will return false. 
</pre>|return=<!-- RETURN --><pre>
Returns the stored value if the specified Hash Cookie exists and is not empty (based on $allowEmpty). 
Returns false if the property is not set or empty (depending on $allowEmpty). 
</pre>|description=<!-- DESCRIPTION -->
Checks whether a Hash Cookie exists and optionally retrieves its value. This function is useful for verifying the existence of a stored property before using it.
 
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
// Check if 'my_hash_cookie' exists and retrieve its value
if (nuHasProperty('my_hash_cookie', $value)) {
    nuDebug($value);
} else {
    nuDebug('Property does not exist or is empty.');
}
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">'123';</pre>
 
|alsosee=<!-- SEE ALSO -->
[[PHP#nuGetProperty|nuGetProperty]]
|}}
 
==nuSubformObject==
 
 
{{Template:pdera
 
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuSubformObject($string1)
</span>|parameters=<!-- PARAMETERS --><pre>
$string1  : Subform id  **Passing an empty string will return the main Edit Form as a Subform object.
</pre>|return=<!-- RETURN --><pre>
$object  : subform properties
</pre>|description=<!-- DESCRIPTION -->
Returns a PHP object that can be looped through.
 
All Subform values in this object will have any [[Format_Builder|formatting]] removed. eg '''$ 1,234.50''' will be '''1234.5'''
|example=<!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuDebug(nuSubformObject('invoice_item_sf'));
</pre>|result=<!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : stdClass Object
(
    [id] => invoice_item
    [foreign_key] => ite_invoice_id
    [primary_key] => invoice_item_id
    [object_id] => 58a09180222faae
    [table] => invoice_item
    [action] => save
    [rows] => Array
        (
            [0] => Array
                (
                    [0] => s14941671441215
                    [1] => 6
                    [2] => thing1
                    [3] => 3
                    [4] => 18
                    [5] => 0
                )
 
            [1] => Array
                (
                    [0] => s14998769369058
                    [1] => 4
                    [2] => thing2
                    [3] => 2
                    [4] => 8
                    [5] => 0
                )
 
            [2] => Array
                (
                    [0] => -1
                    [1] =>
                    [2] =>
                    [3] =>
                    [4] =>
                    [5] => 1
                )
 
        )
 
    [edited] => Array
        (
            [0] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                )
 
            [1] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                )
 
            [2] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                )
 
        )
 
    [deleted] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 1
        )
 
    [fields] => Array
        (
            [0] => ID
            [1] => ite_units
            [2] => ite_thing
            [3] => ite_unit_price
            [4] => ite_total
            [5] => nuDelete
        )
 
)
 
</pre>|alsosee=<!-- SEE ALSO -->
[[Javascript#nuSubformObject|nuSubformObject]]
|}}
 
== nuStringContains ==
 
{{Template:php_sprera
|syntax=<!-- SYNTAX -->
<pre>
$result = nuStringContains($needle, $haystack, $ignoreCase);
</pre>
 
|parameters=<!-- PARAMETERS -->
<pre>
$needle    : The substring to search for.
$haystack  : The string to search within.
$ignoreCase (optional): A boolean flag indicating whether the search should be case-insensitive. Defaults to false (i.e. case-sensitive).
</pre>
 
|return=<!-- RETURN -->
<pre>
bool
</pre>
 
|description=<!-- DESCRIPTION -->
This function checks if the substring $needle exists anywhere within the string $haystack. It returns true if $needle is found; otherwise, it returns false.
 
|example=<!-- EXAMPLE -->
<pre style="background-color:#e5ddf1">
if (nuStringContains("World", "Hello, World!")) {
    nuDebug("Substring found!");
}
</pre>
 
|result=<!-- RESULT -->
<pre style="background-color:#fff4b68f">
"Substring found!"
</pre>
 
|alsosee=<!-- SEE ALSO -->
[[PHP#nuStringStartsWith|nuStringStartsWith]], [[PHP#nuStringEndsWith|nuStringEndsWith]], [[PHP#nuStringLeft|nuStringLeft]], [[PHP#nuStringRight|nuStringRight]]
}}
 
== nuStringEndsWith ==


<source lang="php">
{{Template:php_sprera
|syntax=<!-- SYNTAX -->
<pre>
$result = nuStringEndsWith($needle, $haystack, $ignoreCase);
</pre>


$s = "SELECT * FROM customer";
|parameters=<!-- PARAMETERS -->
$t = nuRunQuery($s);
<pre>
$needle    : The substring to look for at the end of $haystack.
$haystack  : The string in which to search for $needle.
$ignoreCase (optional): A boolean flag indicating whether the comparison should be case-insensitive. Defaults to false (i.e. case-sensitive).
</pre>


while($r = db_fetch_array($t)){
|return=<!-- RETURN -->
<pre>
bool
</pre>


    nuDebug('The field value is : ' . $r->cus_name);
|description=<!-- DESCRIPTION -->
This function checks whether the input string $haystack ends with the specified substring $needle. It returns true if the condition is met, otherwise false.


|example=<!-- EXAMPLE -->
<pre style="background-color:#e5ddf1">
if (nuStringEndsWith("World!", "Hello, World!")) {
    nuDebug("The string ends with 'World!'.");
}
}
</pre>
|result=<!-- RESULT -->
<pre style="background-color:#fff4b68f">
"The string ends with 'World!'."
</pre>
|alsosee=<!-- SEE ALSO -->
[[PHP#nuStringContains|nuStringContains]], [[PHP#nuStringStartsWith|nuStringStartsWith]], [[PHP#nuStringLeft|nuStringLeft]], [[PHP#nuStringRight|nuStringRight]]
}}
== nuStringLeft ==
{{Template:php_sprera
|syntax=<!-- SYNTAX -->
<pre>
$result = nuStringLeft($string1, $number1);
</pre>
|parameters=<!-- PARAMETERS -->
<pre>
$string1  : The source string from which characters are extracted.
$number1  : An integer specifying the number of characters to return from the left end of $string1.
</pre>
|return=<!-- RETURN -->
<pre>
string
</pre>
|description=<!-- DESCRIPTION -->
This function returns the leftmost $number1 characters from the input string $string1. If $number1 is greater than the length of $string1, the entire string is returned.
|example=<!-- EXAMPLE -->
<pre style="background-color:#e5ddf1">
$exampleString = "Hello, World!";
$left = nuStringLeft($exampleString, 5);
nuDebug($left);
</pre>
|result=<!-- RESULT -->
<pre style="background-color:#fff4b68f">
"Hello"
</pre>
|alsosee=<!-- SEE ALSO -->
[[PHP#nuStringContains|nuStringContains]], [[PHP#nuStringStartsWith|nuStringStartsWith]], [[PHP#nuStringEndsWith|nuStringEndsWith]], [[PHP#nuStringRight|nuStringRight]]
}}
== nuStringRight ==
{{Template:php_sprera
|syntax=<!-- SYNTAX -->
<pre>
$result = nuStringRight($string1, $number1);
</pre>
|parameters=<!-- PARAMETERS -->
<pre>
$string1  : The source string from which characters are extracted.
$number1  : An integer specifying the number of characters to return from the right end of $string1.
</pre>
|return=<!-- RETURN -->
<pre>
string
</pre>


</source>
|description=<!-- DESCRIPTION -->
This function returns the rightmost $number1 characters from the input string $string1. If $number1 is greater than the length of $string1, the entire string is returned.


=db_fetch_row=
|example=<!-- EXAMPLE -->
A function for looping through the result of a SELECT query returned from [[PHP#nuRunQuery|nuRunQuery]].
<pre style="background-color:#e5ddf1">
$exampleString = "Hello, World!";
$right = nuStringRight($exampleString, 6);
nuDebug($right);
</pre>
 
|result=<!-- RESULT -->
<pre style="background-color:#fff4b68f">
"World!"
</pre>
 
|alsosee=<!-- SEE ALSO -->
[[PHP#nuStringContains|nuStringContains]], [[PHP#nuStringStartsWith|nuStringStartsWith]], [[PHP#nuStringEndsWith|nuStringEndsWith]], [[PHP#nuStringLeft|nuStringLeft]]
}}
 
== nuStringStartsWith ==


<source lang="php">
{{Template:php_sprera
|syntax=<!-- SYNTAX -->
<pre>
$boolean = nuStringStartsWith($needle, $haystack, $ignoreCase);
</pre>


$s = "SELECT * FROM customer";
|parameters=<!-- PARAMETERS -->
$t = nuRunQuery($s);
<pre>
$needle  : The substring to check for at the beginning of $haystack.
$haystack : The string in which to search for $needle.
$ignoreCase (optional): A boolean flag indicating whether the comparison should be case-insensitive. Defaults to false (i.e. case-sensitive).
</pre>


while($r = db_fetch_row($t)){
|return=<!-- RETURN -->
<pre>
bool
</pre>


    nuDebug('The field value is : ' . $r[0]);
|description=<!-- DESCRIPTION -->
This function checks whether the provided $haystack starts with the specified $needle. It returns true if the condition is met, otherwise false.


|example=<!-- EXAMPLE -->
<pre style="background-color:#e5ddf1">
if (nuStringStartsWith("Hello", "Hello, World!")) {
    nuDebug("The string starts with 'Hello'.");
}
}
</pre>
|result=<!-- RESULT -->
<pre style="background-color:#fff4b68f">
"The string starts with 'Hello'."
</pre>
|alsosee=<!-- SEE ALSO -->
[[PHP#nuStringContains|nuStringContains]], [[PHP#nuStringEndsWith|nuStringEndsWith]], [[PHP#nuStringLeft|nuStringLeft]], [[PHP#nuStringRight|nuStringRight]]
}}
==nuTT==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT, ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$string = nuTT()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=    <!-- RETURN --><pre>
$string  : A unique string that can be used as a temporary table name
</pre>|description=<!-- DESCRIPTION -->
This is a function that generates a unique temporary table name starting with '''__nu''' in the form of a string.
|example=          <!-- EXAMPLE --><pre style="background-color:#e5ddf1">
$tmp = nuTT();
nuDebug($tmp);
$s  = "CREATE TABLE $tmp SELECT * FROM customer";
nuRunQuery($tmp);
</pre>|result=    <!-- RESULT --><pre style="background-color:#fff4b68f">
___nu167e5be1cf3e3f___
</pre>|alsosee=    <!-- SEE ALSO -->
[[PHP#nuID|nuID]]
|}}
==nuUser==
{{Template:php_sprera
<!--PHP SYNTAX, PARAMETERS, RETURN, EXAMPLE, RESULT, ALSOSEE-->
|syntax=<!-- SYNTAX --><span style='color:#690497'>
$object = nuUser()
</span>|parameters=<!-- PARAMETERS --><pre>
</pre>|return=    <!-- RETURN --><pre>
$object  : object containing User details
</pre>|description=<!-- DESCRIPTION -->
Returns all the information from the zzzzsys_user table for the current, logged in User.
|example=          <!-- EXAMPLE --><pre style="background-color:#e5ddf1">
nuDebug(nuUser());
// E.g. retrieve user email
$user = nuUser();
$email = $user->sus_email;


</source>
</pre>|result=    <!-- RESULT --><pre style="background-color:#fff4b68f">
[0] : stdClass Object
(
    [zzzzsys_user_id] => 5046e167e07b56
    [sus_zzzzsys_access_id] => 6505159c7272cf6
    [sus_language] => French
    [sus_name] => John Doe
    [sus_first_name] => John
    [sus_last_name] => Doe
    [sus_code] => EMP123
    [sus_position] => Software Engineer
    [sus_department] => IT
    [sus_team] => Development
    [sus_email] => johndoe@example.com
    [sus_additional1] => Remote Worker
    [sus_additional2] => Full-Time
    [sus_permission] =>
    [sus_login_name] => johndoe
    [sus_login_password] => $2y$10$WqzRBCCDuPvyyq3Us53kFewUa02vhlT9NhZz5IOITVz3N8ZOSWgIu
    [sus_expires_on] => 2025-12-31
    [sus_change_password] => 0
    [sus_json] => {"PASSWORD_CHANGED_TIME":1694789142}
)


=db_field_array=
</pre>|alsosee=    <!-- SEE ALSO -->
A function for looping through the result from [[nuRunQuery]].  <code>$r[0]</code>
|}}
=db_num_rows=
The number of records in the result from [[nuRunQuery]].
=nuAddJavascript=
Adds Javascript to a Form as it is built.
=nuDebug=
This function takes up to 10 parameters and creates a record in the '''Debug''' Form for testing purposes.
=nuDisplayError=
This adds an error that will stop the current event running and display the error message.
=nuDisplayMessage=
This adds a message that will be displayed after the current event completes.
=nuGetUserAccess=
Returns an array of user information.
=nuHasNewRecordID=
Returns true or false.
=nuID=
Creates a random string.
=nuIsGlobeadmin=
Returns true or false.
=nuRemoveNonCharacters=
=nuRunPHP=
Run a Procedure.
=nuRunPHPHidden=
Run a Procedure.
=nuRunQuery=
Run an SQL query.
=nuSetFormValue=
Updates Objects after a Lookup value is chosen.
=nuSubformObject=
Returns a PHP object that can be looped through.
=nuTT=
Creates a unique ID starting with '__'.

Latest revision as of 09:50, 16 April 2025


Each of the purple diamonds represents PHP code that can be run in nuBuilder Forte and when.


Click to view larger


eg. You might add this in AS - After Save of an invoice Browse and Edit Form.

  $update = "UPDATE stock SET sto_units = sto_units - ? WHERE stock_id = ?"
  
  nuRunQuery($update, [$units, $stockId]);
  • All of the AS BS BB and BE code blocks are for PHP only and are executed on the server-side.
  • You can create and call a JavaScript routine ( nuJavaScriptCallback($string1) )
  • All JavaScript to run on the client side should be done in the Custom Code of the object (most likely for the onclick that you're trying to do).
  • Each field or label on the form has a Custom Code (click the OBJ button to see all the objects on your form) and so does the form itself (click the Prop button).


db_fetch_array

$object = db_fetch_array($object1)

Parameters

$object1  : nuRunQuery() result.

Return Value

$object   : Returns an associative array of strings that corresponds to the fetched row, or FALSE if there are no more rows.

Description

A function for looping through the result of a SELECT query returned from nuRunQuery.

Example

$select = "SELECT cus_lastname FROM customer WHERE cus_city = ?";
$stmt = nuRunQuery($select, ['New York']);

while($row = db_fetch_array($stmt)){
    nuDebug($row['cus_lastname']. ' lives in New York.');
}

nuDebug()

[0]: Robert Paulson lives in New York.


Also See : db_field_names, db_fetch_row, db_fetch_object, db_num_rows, db_fetch_value, nuRunQuery, PDOStatement


db_fetch_object

$object = db_fetch_object($object1)

Parameters

$object1 : nuRunQuery() result.

Return Value

$object  : PDO object

Description

A function for looping through the result of a SELECT query returned from nuRunQuery.

Example

$select = "SELECT sus_name FROM zzzzsys_user WHERE sus_team = ?";
$stmt = nuRunQuery($select, ['Sales']);

while($row = db_fetch_object($stmt)){
    nuDebug('User name: ' . $row->sus_name);
}

nuDebug()

[0]: His name is Robert Paulson


Also See : db_field_names, db_fetch_array, db_fetch_row, db_fetch_value, db_num_rows, nuRunQuery


db_fetch_row

$object = db_fetch_row($object1)

Parameters

$object1  : nuRunQuery() result.

Return Value

$object   : Returns an numerical array of strings that corresponds to the fetched row, or FALSE if there are no more rows.

Description

A function for looping through the result of a SELECT query returned from nuRunQuery.

Example

$select = "SELECT emp_fullname FROM member WHERE nickname = ?";
$stmt = nuRunQuery($select, ['Bob']);

while($row = db_fetch_row($stmt)){
    nuDebug('His name is ' . $row[0]);
}

nuDebug()

[0]: His name is Robert Paulson


Also See : db_field_names, db_fetch_array, db_fetch_object, db_fetch_value, db_num_rows, nuRunQuery


db_fetch_value

$string = db_fetch_value($string1 ,$string2 ,$string3 ,$string4)

Parameters

$string1  : table name
$string2  : primary key
$string3  : record id
$string4  : field name

Return Value

$string  : a value from a table.

Description

Returns one value from a certain record's field value in a certain table.

If the function returns more or less than one row, it will return false.

Example

	$value = db_fetch_value('customer', 'customer_id', '64555c358ef332c', 'cus_name');
	nuDebug(db_num_rows($value));

nuDebug()

[0]: Tyler Durden


Also See : db_field_names, db_fetch_array, db_fetch_object, db_fetch_row, nuRunQuery, db_num_columns


db_field_names

$array = db_field_names($string1)

Parameters

$string1 : Database table name.

Return Value

$array   : Field names.

Description

Returns an array of field names from a database table.

Example

$fields = db_field_names('customer');
nuDebug($fields);

nuDebug()

[0]: Array
(
    [0] => customer_id
    [1] => cus_name
    [2] => cus_phone
    [3] => cus_address
)


Also See : db_fetch_array, db_fetch_object, db_fetch_row, db_fetch_value, db_num_rows


db_num_columns

$integer = db_num_columns($object1)

Parameters

$object1  : PDO object. 

Return Value

$integer  : Number of columns returned.

Description

The number of fields in the result from nuRunQuery.

Example

	$stmt = nuRunQuery("SELECT * FROM customer");	
	nuDebug(db_num_columns($stmt));

nuDebug()

[0]: 6


Also See : db_field_names, db_fetch_array, db_fetch_object, db_fetch_row, db_fetch_value, nuRunQuery, db_num_rows


db_num_rows

$integer = db_num_rows($object1)

Parameters

$object1  : PDO object. 

Return Value

$integer  : Number of records returned.

Description

The number of records in the result from nuRunQuery.

Example

	$stmt = nuRunQuery("SELECT * FROM customer");	
	nuDebug(db_num_rows($stmt));

nuDebug()

[0]: 3453


Also See : db_field_names, db_fetch_array, db_fetch_object, db_fetch_row, db_fetch_value, nuRunQuery, db_num_columns


nuAddJavaScript

nuAddJavaScript($js, $beforeCreated = false, $first = false)

Parameters

$js : JavaScript code to add.
$beforeCreated : (optional) If true, adds JavaScript before form objects are created.
$first : (optional) If true and $beforeCreated is also true, adds JavaScript at the very top before all other JavaScript.

Return Value


Description

Adds JavaScript code to a form's JavaScript section. By default, JavaScript is added after form objects are created and before it is run.

Example

// Basic usage
$js = "console.log('Hello from nuBuilder!');";
nuAddJavaScript($js);

// Example with options
$js = "alert('This is at the top!');";
nuAddJavaScript($js, true, true);

nuDebug()

// JavaScript added to the specified section of the form's JavaScript.


Also See : Before Browse, Before Edit


nuDebug

nuDebug($anytype1, $anytype2..)

Parameters

$anytypes : string, object or array.

Return Value


Description

This function takes multiple parameters and creates a record that can be viewed by clicking nuDebug Results in the Options menu.


Each nuDebug record's first line will explain when or why it was created. There are 3 types...

  1. Procedure - 2017-11-03 06:52:02 - Procedure ABC line 1
  2. Event - 2017-11-03 06:58:08 - Before Edit of Form nuhome line 5
  3. SQL Error - 2017-11-03 06:58:09 - SQL Error in nuRunQuery

Example


$s = 'Hello world';
$a = [1,2,3,4];
$o = ['name' => 'Bob', 'phone' => '555 123456'];
nuDebug($s, $a, $o);

nuAddJavaScript($j);

nuDebug()

[0] : Hello world

[1] : Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


[2] : Array
(
    [name] => Bob
    [phone] => 555 123456
)



Also See : Before Browse, Before Edit, Before Save,After Save, Before Delete, After Delete


nuDisplayError

nuDisplayError($string1)

Parameters

$string1 : error message.

Return Value


Description

This function adds an error message that will stop the Edit Form from saving or deleting the current record but will then display all generated error messages.


If any error messages are created in Before Save or Before Delete the current record will not be saved or deleted. eg.

  • No messages - Continue to Save or Delete record.
  • One or more messages - No not Save or Delete record.


If any messages are created in After Save or After Delete the current record will be saved or deleted and will display this message once saved.


(The green Yes or red No elements in the flowchart below.)


Click to view larger

Example

nuDisplayError('That did not work!');

nuDebug()



Also See : Before Save, Before Delete, nuMessage, nuGetLastError


nuGetLastError

$object = nuGetLastError()

Parameters


Return Value

$object  :  Last error details.

Description

This function can be used to retrieve error details when running a query with nuRunQuery().


When you run a query with nuRunQuery() and the function returns -1, it means the query was not successful.

To retrieve the error details as an object, you can call this function.

Example

$t = nuRunQuery('SELECT * FROM table_that_does_not_exist');

if ($t === -1) {
  $error = nuGetLastError();
  nuDebug($error);
}
[0] : stdClass Object
(
    [user] => globeadmin
    [message] => SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.table_that_does_not_exist' doesn't exist
    [sql] => SELECT * FROM table_that_does_not_exist
    [trace] => C:\xampp\htdocs\test\core\nucommon.php(1406) : eval()'d code - line 1 (nuRunQuery)

C:\xampp\htdocs\test\core\nucommon.php - line 1406 (eval)

C:\xampp\htdocs\test\core\nuform.php - line 21 (nuEval)

C:\xampp\htdocs\test\core\nuform.php - line 1133 (nuBeforeBrowse)

C:\xampp\htdocs\test\core\nuform.php - line 460 (nuBrowseColumns)

C:\xampp\htdocs\test\core\nuapi.php - line 84 (nuGetFormObject)


)



Also See : nuDisplayError, nuDebug



nuGetURLParams

$array = nuGetURLParams()

Parameters


Return Value

$array  :  An associative array containing the parameters specified when index.php is called.

Description

This function returns an array with all of the parameters set via the URL for a session. The parameter 'p' (password) is not included in the array. If new parameters are set, or existing ones replaced, within the same session then nuGetURLParams() will return the full list with the latest values for those which are replaced.

Example

// These parameters are specified in the URL :  index.php?country=CA&language=EN&project=187
$params = nuGetURLParams();

$country = $params['country'] ?? "not specified";
$language = $params['language'] ?? "not specified";
$project = $params['project'] ?? "not specified";

nuDebug("Country is $country", "Language is $language" , "Project is $project");
Country is CA; Language is EN; Project is 187


Also See : Login : Parameter Passing in GET_URL


nuGlobalAccess

$boolean = nuGlobalAccess()

Parameters


Return Value

$boolean  :  true or false

Description

Returns true if a user with global access is logged in, otherwise false

Example

if(!nuGlobalAccess()){
    nuDisplayError('Access denied!');
}



Also See :


nuSendEmail

$object = nuSendEmail($to, $from_email, $from_name, $body, $subject, $attachments = array(), $html = false, $cc = "", $bcc = "", $reply_to = array(), $priority = , $smtp_options = array())

Parameters


$to: (string) The email address of the primary recipient.

$from_email: (string) Optional. The email address that will appear as the sender. If left empty, the sender's email address from Setup -> Email Settings is used.

$from_name: (string) Optional. The name that will appear as the sender. If left empty, the sender's name from Setup -> Email Settings is used.

$body: (string) The content (body) of the email message. If $html is true, HTML content can be included.

$subject: (string) The subject line of the email message.

$attachments: (array) Optional. An associative array of files to attach to the email. Use an empty array if no attachments are desired.
            Format: [ $filename => $filesource ], where $filename is the name of the attachment and $filesource is the file path.

$html: (bool) Optional. When set to true, the email will be sent as an HTML message. Defaults to false.

$cc: (string) Optional. A comma-separated list of email addresses to include in the CC (carbon copy) field.

$bcc: (string) Optional. A comma-separated list of email addresses to include in the BCC (blind carbon copy) field.

$reply_to: (array) Optional. An array of email addresses to be used as the reply-to addresses.
           The array can be formatted as either a list (e.g., array('reply@example.com')) or as address => name pairs (e.g., array('reply@example.com' => 'Reply Name')).

$priority: (string) Optional. A string representing the email's priority. Defaults to an empty string.

$smtp_options: (array) Optional. An associative array of SMTP options. Defaults to an empty array.

Return Value

$object: On success, the function returns an array where the first element is true and the second element is a confirmation message ("Message sent successfully"). 
If an error occurs, false is returned along with an error message.

Description

Sends an email using the settings specified in Setup -> Email Settings. This function can accept either an array of parameters or individual parameters, as shown in the syntax above.

Example

$r = nuSendEmail(
    'to@test.com', 
    'from@test.com', 
    'From Name', 
    'Email content goes here', 
    'Email subject', 
    array(), 
    true, 
    'cc_email@test.com', 
    'bcc_email@test.com', 
    array('reply@test.com' => 'Reply Name')
);

nuDebug()

(
    [0] => 1
    [1] => Message sent successfully
    [2] =>
    [3] =>
)


Also See :


nuHash

$array = nuHash()

Parameters


Return Value

$array  : list of Hash Cookies.

Description

Returns a list of Hash Cookies available to use in PHP.

Example

nuDebug(nuHash());

nuDebug()

[0] : Array
(
    [USER_ID] => globeadmin
    [USER_GROUP_ID] => 
    [HOME_ID] => 
    [GLOBAL_ACCESS] => 1
    [invoice_id] => s14919516899490
    [record_id] => s14919516899490
    [title] => Invoice
    // and more items...
)



Also See : nuDebug()


nuHasNewRecordID

$boolean = nuHasNewRecordID()

Parameters


Return Value

$boolean  :  true or false

Description

Matches #PREVIOUS_RECORD_ID# with #RECORD_ID# and returns true or false.

So that the user can tell if a record is being cloned.

Example

if(nuHasNewRecordID()){
    nuUpdateCounter($r->zzzzsys_object_id);
}



Also See :


nuHasNoRecordID

$boolean = nuHasNoRecordID()

Parameters


Return Value

$boolean  : true or false

Description

Returns true if #RECORD_ID# = '-1' so that the user can tell if this is a new reecord.

Example

if(nuHasNoRecordID()){
    nuUpdateCounter($r->zzzzsys_object_id);
}



Also See :


nuGetFormProperties

$object = nuGetFormProperties($string1)

Parameters

$string1 = Primary Key

Return Value

$object  : Form record.

Description

Returns a Form record as an object.

Example

nuDebug(nuGetFormProperties('nuuser'));
[0] : stdClass Object
(
    [zzzzsys_form_id] => nuuser
    [sfo_type] => browseedit
    [sfo_code] => nuuser
    [sfo_description] => User
    [sfo_table] => zzzzsys_user
    [sfo_primary_key] => zzzzsys_user_id
    [sfo_browse_redirect_form_id] => 
    [sfo_browse_row_height] => 0
    [sfo_browse_rows_per_page] => 15
    [sfo_browse_sql] => SELECT * 
FROM zzzzsys_user 
LEFT JOIN zzzzsys_access ON zzzzsys_access_id = sus_zzzzsys_access_id
ORDER BY sus_name
    [sfo_javascript] => 
)


Also See :


nuGetIPAddress

$myIP = nuGetIPAddress();

Parameters


Return Value


Description

Retrieves the IP address of the user's device.

Example

See Forum Post

{{{result}}}


Also See :


nuGetNuDataValue

$object = nuGetNuDataValue($nudata, $formId, $field)

Parameters

$nudata = array of form fields
$formId = Form's ID
$field = the field in the form

Return Value

$value  : Form field value.

Description

Returns a Form's field value.

Example

{{{result}}}


Also See :


nuSetNuDataValue

$bool = nuSetNuDataValue(&$nudata, $formId, $field, $value)

Parameters

$nudata = array of form fields
$formId = Form's ID
$field = the field in the form
$value = value to be set in the field of the form

Return Value

Boolean success or failure of the setting of the form field value

Description

Returns the success or failure of the field value set operation

Example

$nuMainForm   = nuHash()['nuFORMdata'][0]->id;

// Get the value of the object "not_title"
$title = nuGetNuDataValue($nudata, $nuMainForm, 'not_title');

// Replace the value of the object "not_title" by adding a -test postfix:
nuSetNuDataValue($nudata, $nuMainForm, 'not_title', $title . "-test");


Also See :



nuID

$string = nuID()

Parameters


Return Value

$string  : random string. 

Description

Creates a string from

  • 1502690897383 - Date.now().
  • 1012 - An incrementing number looping between 1000 and 9999.

Example

nuDebug(nuID());
[0] : 14998774211012


Also See : nuTT, nuID Before Save,After Save


nuJavaScriptCallback

nuJavaScriptCallback($string1)

Parameters

$string  : JavaScript Code

Return Value


Description

Runs after nuRunPHPHidden() has returned from the server.

Example


$js = " nuMessage('<h1>It worked!</h1>');";
nuJavaScriptCallback($js);



Also See : nuRunPHPHidden()


nuLookupRecord

$object = nuLookupRecord()

Parameters


Return Value

$object  : every field from the selected (Browse Form's) record.

Description

Returns all fields from a selected Lookup record.

Example

nuDebug(nuLookupRecord()->ID);   //-- the id of the chosen Lookup record.
nuDebug(nuLookupRecord());       //-- all fields from then chosen Lookup's record - as well as ID.

nuDebug()

[0] : 5a67739f464cd96

[1] : stdClass Object
(
    [company_id] => 58ade54dac2128b
    [com_code] => 777
    [com_name] => 7 Up
    [com_business_id] => 568a00c77f8f709
    [com_company_id] => 
    [com_color_id] => 568ef5a6968322b#nuSep#568ef920846a089
    [com_age] => 3
    [com_notes] => 
    [com_test] => 
)


Also See : After Browse, nuSetFormValue


nuProcedure

$string = nuProcedure($string1)

Parameters

$string1 : Procedure Code

Return Value

$string  : PHP Code with all Hash Cookies replaced

Description

Returns PHP code from a Procedure with all Hash Cookies replaced, ready to eval(). If the function does not exist, it returns an empty string.

Example

$p = nuProcedure('HW');
if ($p != '') {
  eval($p);
}

nuDebug()



Also See : Before Browse, After Browse, Before Edit, Before Save, After Save, Before Delete, After Delete


nuReturnNewRecord

nuReturnNewRecord($string1 = -1)

Parameters

$string1  : The record ID to be loaded. If left blank, a new blank record will be opened.

Return Value

None

Description

This function is used in the After Save event to open a specified record in the Edit Form. If no record ID is provided, a blank record will be opened instead.

Example

nuReturnNewRecord();
   or
nuReturnNewRecord('5a72a0fce65fea2');

nuDebug()

An Edit Form opens with the specified record, ready for editing.


Also See : After Save


nuRunProcedure

$boolean = nuRunProcedure($string1)

Parameters

$string1 : Procedure Code

Return Value

$boolean  : Returns true if the procedure exists, otherwise false.

Description

Runs a nuBuilder Procedure

Example

nuRunProcedure('procedure_code');

nuDebug()



Also See : Before Browse, After Browse, Before Edit, Before Save, After Save, Before Delete, After Delete



nuRunQuery

This function is to be used to access the database. If it is passed a SQL statement it will prepare the statement and then execute it. The results of the query can be fetched using the db_fetch_ family of functions below.

If the SQL statement is not defined or no parameters are passed to the function, then an array containing information about the database is returned such as:

  • The database host
  • The name of the database
  • The username for the database.
  • The password for the user to access the database.
Array (

  [0] => 127.0.0.1
  [1] => site_c
  [2] => root
  [3] => root123

)

The statement template can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed. The variables array must have the values to be used for each (:name) or ? in the query.


$object = nuRunQuery([$sql = $string1] [, $variables = array()] [,$isInsert = false]);

Parameters

$string1 : The SQL query to run.
$variables : An array of values that will replace ?s.
$isInsert : Set to true for insert queries.

Return Value

If $isInsert is set to true and the primary key is set to auto-increment, it returns the id of the last inserted entry. 
If $isInsert is set to true and no auto-increment primary key is used, it returns 0 if the insert was successful, otherwise -1 
(in case of a duplicate entry, invalid syntax etc.)
Else, returns the results of the SQL query as a $object  : PDO object.

Description

Runs an SQL query and returns an Object (for SELECT Statements).

This Object can be used by db_fetch_object, db_fetch_array, db_fetch_row, db_num_rows

Example


// 1. Select statement
$s  = "SELECT cus_address FROM customer WHERE customer_id = ?";
$t  = nuRunQuery($s, array('#LOOKUP_RECORD_ID#'));

if (db_num_rows($t) == 1) {
    $r  = db_fetch_object($t);
    nuSetFormValue('inv_address', $r->cus_address);
}

// 2. Insert statement
$insertSql = "
    INSERT INTO `message` 
      (`subject`, `body`, `date_sent`)
    VALUES
      (:subject, :body, :date_sent)
";


$data = array(
    "subject" => 'nuBuilder!',
    "body" => 'Testing insert statement',
    "date_sent" => date("Y-m-d H:i:s")
);

$r = nuRunQuery($insertSql, $data, true);
if ($r == 0) {
   nuDebug('Insert sucessful!');
}

nuDebug()



Also See : db_fetch_object, db_fetch_array, db_fetch_row, db_num_rows


nuSetFormValue

nuSetFormValue($string1, $string2);

Parameters

$string1 = id of nuBuilder Object on current Edit Form.
$string2 = value used to update $string1's Object.

Return Value


Description

Updates an Object on an Edit Form After Browse after a Lookup value is chosen.

Example


$user = nuLookupRecord();

nuSetFormValue('sus_name', $user->sus_name);
nuSetFormValue('sus_code', $user->sus_code);
nuSetFormValue('sus_position', $user->sus_position);

nuDebug()



Also See : After Browse, nuLookupRecord


nuGetProperty

$string = nuGetProperty($string1)

Parameters

 $string1: The name of the stored Hash Cookie to retrieve 

Return Value

 Returns the stored value of the specified hash cookie. If the property is not set, returns null. 

Description

Retrieves the value of a Hash Cookie that was previously set using nuSetProperty() in JavaScript. This allows data set on the client side to be accessed in PHP.

Example

 // Retrieve the value of the 'my_hash_cookie' property 
$value = nuGetProperty('my_hash_cookie');
nuDebug($value);

'123';


Also See : {{{alsosee}}}



nuHasProperty

$boolean = nuHasProperty($string, &$value, $boolean)

Parameters

 
$string: The name of the stored Hash Cookie to check.  
&$value: (Optional) A reference variable that will be assigned the stored value if it exists.  
$boolean: (Optional, default = true) If set to false, empty values will return false.  

Return Value

 
Returns the stored value if the specified Hash Cookie exists and is not empty (based on $allowEmpty).  
Returns false if the property is not set or empty (depending on $allowEmpty).  

Description

Checks whether a Hash Cookie exists and optionally retrieves its value. This function is useful for verifying the existence of a stored property before using it.

Example

 
// Check if 'my_hash_cookie' exists and retrieve its value
if (nuHasProperty('my_hash_cookie', $value)) {
    nuDebug($value);
} else {
    nuDebug('Property does not exist or is empty.');
}
'123';


Also See : nuGetProperty


nuSubformObject

$object = nuSubformObject($string1)

Parameters

$string1  : Subform id  **Passing an empty string will return the main Edit Form as a Subform object.

Return Value

$object   : subform properties

Description

Returns a PHP object that can be looped through.

All Subform values in this object will have any formatting removed. eg $ 1,234.50 will be 1234.5

Example

nuDebug(nuSubformObject('invoice_item_sf'));
[0] : stdClass Object
(
    [id] => invoice_item
    [foreign_key] => ite_invoice_id
    [primary_key] => invoice_item_id
    [object_id] => 58a09180222faae
    [table] => invoice_item
    [action] => save
    [rows] => Array
        (
            [0] => Array
                (
                    [0] => s14941671441215
                    [1] => 6
                    [2] => thing1
                    [3] => 3
                    [4] => 18
                    [5] => 0
                )

            [1] => Array
                (
                    [0] => s14998769369058
                    [1] => 4
                    [2] => thing2
                    [3] => 2
                    [4] => 8
                    [5] => 0
                )

            [2] => Array
                (
                    [0] => -1
                    [1] => 
                    [2] => 
                    [3] => 
                    [4] => 
                    [5] => 1
                )

        )

    [edited] => Array
        (
            [0] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                )

            [1] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                )

            [2] => Array
                (
                    [0] => 0
                    [1] => 0
                    [2] => 0
                    [3] => 0
                    [4] => 0
                    [5] => 0
                )

        )

    [deleted] => Array
        (
            [0] => 0
            [1] => 0
            [2] => 1
        )

    [fields] => Array
        (
            [0] => ID
            [1] => ite_units
            [2] => ite_thing
            [3] => ite_unit_price
            [4] => ite_total
            [5] => nuDelete
        )

)


Also See : nuSubformObject


nuStringContains

$result = nuStringContains($needle, $haystack, $ignoreCase);

Parameters

$needle     : The substring to search for.
$haystack   : The string to search within.
$ignoreCase (optional): A boolean flag indicating whether the search should be case-insensitive. Defaults to false (i.e. case-sensitive).

Return Value

bool

Description

This function checks if the substring $needle exists anywhere within the string $haystack. It returns true if $needle is found; otherwise, it returns false.

Example

if (nuStringContains("World", "Hello, World!")) {
    nuDebug("Substring found!");
}

nuDebug()

"Substring found!"


Also See : nuStringStartsWith, nuStringEndsWith, nuStringLeft, nuStringRight


nuStringEndsWith

$result = nuStringEndsWith($needle, $haystack, $ignoreCase);

Parameters

$needle     : The substring to look for at the end of $haystack.
$haystack   : The string in which to search for $needle.
$ignoreCase (optional): A boolean flag indicating whether the comparison should be case-insensitive. Defaults to false (i.e. case-sensitive).

Return Value

bool

Description

This function checks whether the input string $haystack ends with the specified substring $needle. It returns true if the condition is met, otherwise false.

Example

if (nuStringEndsWith("World!", "Hello, World!")) {
    nuDebug("The string ends with 'World!'.");
}

nuDebug()

"The string ends with 'World!'."


Also See : nuStringContains, nuStringStartsWith, nuStringLeft, nuStringRight


nuStringLeft

$result = nuStringLeft($string1, $number1);

Parameters

$string1  : The source string from which characters are extracted.
$number1  : An integer specifying the number of characters to return from the left end of $string1.

Return Value

string

Description

This function returns the leftmost $number1 characters from the input string $string1. If $number1 is greater than the length of $string1, the entire string is returned.

Example

$exampleString = "Hello, World!";
$left = nuStringLeft($exampleString, 5);
nuDebug($left);

nuDebug()

"Hello"


Also See : nuStringContains, nuStringStartsWith, nuStringEndsWith, nuStringRight


nuStringRight

$result = nuStringRight($string1, $number1);

Parameters

$string1  : The source string from which characters are extracted.
$number1  : An integer specifying the number of characters to return from the right end of $string1.

Return Value

string

Description

This function returns the rightmost $number1 characters from the input string $string1. If $number1 is greater than the length of $string1, the entire string is returned.

Example

$exampleString = "Hello, World!";
$right = nuStringRight($exampleString, 6);
nuDebug($right);

nuDebug()

"World!"


Also See : nuStringContains, nuStringStartsWith, nuStringEndsWith, nuStringLeft


nuStringStartsWith

$boolean = nuStringStartsWith($needle, $haystack, $ignoreCase);

Parameters

$needle   : The substring to check for at the beginning of $haystack.
$haystack : The string in which to search for $needle.
$ignoreCase (optional): A boolean flag indicating whether the comparison should be case-insensitive. Defaults to false (i.e. case-sensitive).

Return Value

bool

Description

This function checks whether the provided $haystack starts with the specified $needle. It returns true if the condition is met, otherwise false.

Example

if (nuStringStartsWith("Hello", "Hello, World!")) {
    nuDebug("The string starts with 'Hello'.");
}

nuDebug()

"The string starts with 'Hello'."


Also See : nuStringContains, nuStringEndsWith, nuStringLeft, nuStringRight


nuTT

$string = nuTT()

Parameters


Return Value

$string  : A unique string that can be used as a temporary table name

Description

This is a function that generates a unique temporary table name starting with __nu in the form of a string.

Example

$tmp = nuTT();
nuDebug($tmp);

$s   = "CREATE TABLE $tmp SELECT * FROM customer";

nuRunQuery($tmp);

nuDebug()

___nu167e5be1cf3e3f___


Also See : nuID


nuUser

$object = nuUser()

Parameters


Return Value

$object  : object containing User details

Description

Returns all the information from the zzzzsys_user table for the current, logged in User.

Example

nuDebug(nuUser());

// E.g. retrieve user email
$user = nuUser();
$email = $user->sus_email;

nuDebug()

[0] : stdClass Object
(
    [zzzzsys_user_id] => 5046e167e07b56
    [sus_zzzzsys_access_id] => 6505159c7272cf6
    [sus_language] => French
    [sus_name] => John Doe
    [sus_first_name] => John
    [sus_last_name] => Doe
    [sus_code] => EMP123
    [sus_position] => Software Engineer
    [sus_department] => IT
    [sus_team] => Development
    [sus_email] => johndoe@example.com
    [sus_additional1] => Remote Worker
    [sus_additional2] => Full-Time
    [sus_permission] => 
    [sus_login_name] => johndoe
    [sus_login_password] => $2y$10$WqzRBCCDuPvyyq3Us53kFewUa02vhlT9NhZz5IOITVz3N8ZOSWgIu
    [sus_expires_on] => 2025-12-31
    [sus_change_password] => 0
    [sus_json] => {"PASSWORD_CHANGED_TIME":1694789142}
)


Also See :