Wednesday, July 17, 2013

Loading a separate page to a DIV using AJAX

In some occasions we need to load a separate page or pages into a div tag without reloading the whole current page. That functionality can be implemented by using AJAX technology.

According to the below code xxxx.php page will be loaded to the div which has the id=content at the load event of the current page.


<html>

        <head>

       //Importing the Jquery library. Tgis can be through offline or online.
       <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>

         <script>
                    function formLoad(){
                              $('#content').load('xxxx.php'); //AJAX function to load the page.

                      }
        
         </script>

       </head>

       <body OnLoad="formLoad()"> //Call the formLoad() on load event

                 <div id="content"></div>//div to where the external page will be loaded


       </body>

</html>

Wednesday, June 26, 2013

Infinite Array Problem In C#.net

You can't define C#.net arrays with an infinite array length. You must have to provide a length for the array. But there is a solution to fulfill the need of infinite arrays in C#.net.
We call it as List.

We can define a C#.net array like below,
Syntax:-
List<data_type>name_for_list=new List<data_type>();
eg:-
List<char>plainChar=new List<char>();

We can feed data to the list like below,
Syntax:- 
list_name.Add(value_needed_to_add);
eg :-
plainChar.Add('C');

We can retrieve elements from the list like below,
Syntax:- 
list_name[index_of_the_element];
eg:-
plainChar[3];

Saturday, June 8, 2013

How to POST data to a PHP script using HTML as an Array

When we work with HTML and PHP, sometimes we need to send data to a PHP script as an array. As an example consider about a food ordering page. In that case we should provide the functionality of choosing more than one food item in several quantities. If we are not supposing to do this with array, we are required to do more coding with both HTML and JavaScript. With this technique we are using only the HTML for client side and PHP for the server side.

Note : <input type="hidden"> is an important HTML form element which can hold some data to be sent to the PHP script. But they are not visible to the HTML viewers.


foodMenu.html


<form action="foodMenu.php" method="post">
<div>
        <p>Lunch</p>
        <p>
        <span><input type="hidden" value="Food Item 1 " name="itemName[]">Food Item 1
<input type="hidden" value="100" name="itemCost[]">100/=</span><br>
<input type="textbox" value="0" name="itemQTY[]">
<input type="button" value="Select" >
        </p>
        <p>
        <span><input type="hidden" value="Food Item 2" name="itemName[]">Food Item 2
<input type="hidden" value="150" name="itemCost[]">150/=</span><br>
<input type="textbox" value="0" name="itemQTY[]">
<input type="button" value="Select">
        </p>
        <p>
        <span><input type="hidden" value="Food Item 3" name="itemName[]">Food Item 3
<input type="hidden" value="150" name="itemCost[]">150/=</span><br>
<input type="textbox" value="0" name="itemQTY[]">
<input type="button" value="Select" >
        </p>
<input type="submit" value="Submit" >
 </div>


foodMenu.php


<?php   

$itemName=$_POST['itemName'];  //Grab the posted item names from the html form
$itemQTY=$_POST['itemQTY'];    //Grab the posted item QTY from the html form
$itemPrice=$_POST['itemCost'];  //Grab the posted item prices from the html form

$grandTotal=0;
echo('<table>');
echo('<tr><td>Meal List</td></tr>');
echo('<tr><td>Items</td><td>QTY</td><td>Cost</td></tr>');

for($count=0;$count<count($itemName);$count++){ //loop to print stored data in the arrays
    if($itemQTY[$count]>0){
        echo("<tr>");
        echo('<td>'.$itemName[$count].'</td><td>'.$itemQTY[$count].'</td><td>'.subTotal($itemPrice,$itemQTY,$count));
        echo("</tr>");
    }
}
echo('<tr>');
    echo('<td>'.'</td><td>'.totalQTY($itemQTY).'</td><td>'.$grandTotal.'</td>');                                             
    echo('</tr>');
echo('</table>');
//function to calculate sub totals and grand totals
function subTotal($itemPrice,$itemQTY,$count){
 global $grandTotal;  //refer to above global variable at the begining
$subTotal[$count]=$itemPrice[$count]*$itemQTY[$count];
$grandTotal=$grandTotal+$subTotal[$count];

return $subTotal[$count];

}
//function to calculate the total number of the QTYs
function totalQTY($itemQTY){
return array_sum($itemQTY);
}
?>

Tuesday, May 28, 2013

Popular SMTP settings

Following are setting information to configure a connection to the particular SMTP servers. SMTP or Simple Mail Transfer Protocol is relate with the mail transferring over the Internet.

Gmail
SMTP server address : smtp.gmail.com
SMTP user name : Your full Gmail address (e.g. example@gmail.com)
SMTP password : Your Gmail password
SMTP port : 465
SMTP TLS/SSL required : Yes
Ymail
SMTP server address : smtp.mail.yahoo.com
SMTP user name : Your full Yahoo! Mail email address (including "@yahoo.com")
SMTP password : Yahoo! Mail password
SMTP port : 465
SMTP TLS/SSL required : Yes
AOL
SMTP server address : smtp.aol.com
SMTP user name : Your AOL Mail screen name (what comes before "@aol.com" in your AOL Mail address; if your address is me@aol.com, for example, the corresponding screen name is "me")
SMTP password : Your AOL Mail password
SMTP port : 587 (alternative: 465)
SMTP TLS/SSL required : Yes
Hotmail
SMTP server address : smtp.live.com
SMTP user name : Your full Windows email address (including "@yahoo.com")
SMTP password : Windows live hotmail password
SMTP port : 587
SMTP TLS/SSL required : Yes

Assume that we have sent a E-Mail to the address of abc@gmail.com through GMAIL mail engine. Since we have sent it through GMAIL, our mail is sent to the GMAIL SMTP server via the port 465. Then it reads the recipient's address. The part after the @ says recipient also holds an gmail account. So, SMTP server redirect the mail to GMAIL POP3 server. POP3 server identifies the particular recipient from the address part before the @ and link the particular mail to his account. Recipient log into the POP3 server using his user name and password and read the mail.

Assume what happens if we have sent the particular mail to abc@gmail.com via the YMAIL mail engine. If so, YMAIL SMTP server look at the address part after the @ and understand that recipient doesn't has an account in YMAIL POP3 server. So, it re-directs the mail to the particular SMTP server indicated at the address. After it has been sent to the GMAIL SMTP server same routine is happening as mentioned in the above paragraph.

Sunday, May 26, 2013

Find number of days between given two days in PHP

We are going to study how can we calculate the number of days between given two days. For the example I am going to find the number of days between current date and another given date.

<?php

    $year="1990";
    $month="March";
    $day="23";


$today=date('Y-m-d'); // in-built function to get current date.

$datetime1 = date_create($year.'-'.$month.'-'.$day); //Given date
$datetime2 = date_create($today); //System date for current date
$interval = date_diff($datetime1, $datetime2); //$datetime2 - $datetime1
$date_amount= $interval->format('%R%a');

echo($date_amount);

?>

Automatically populate SELECT items in HTML using JAVASCRIPT

We are going to learn how we can automatically populate a data set to view in a select element in HTML using javascript. As an example we will populate set of years, months and dates inside of select element which can be used to input a particular birthday in a HTML form.


<script language="javascript">

             function loadYears(){
            var sel = document.getElementById('year');

// 'new Date().getFullYear()' is used to get current year.

            for(var i = 1950; i <= new Date().getFullYear(); i++) {
            var opt = document.createElement('option');
            opt.innerHTML = i;
            opt.value = i;
            sel.appendChild(opt);
            }
            }
           
            function loadDays(){


            document.getElementById('day').innerHTML = ""; //initially clears the data items which were included by the previous function invokes.

            var sel = document.getElementById('day');

     // if/else set is to decide the number of days for a particular month.     

 
   if(document.getElementById('month').value!='February' && document.getElementById('month').value!='April' && document.getElementById('month').value!='June' && document.getElementById('month').value!='August' && document.getElementById('month').value!='November' && document.getElementById('month').value!='September'){
                for(var i = 1; i < 32; i++) {
                var opt = document.createElement('option');
                opt.innerHTML = i;
                opt.value = i;
                sel.appendChild(opt);
                }
                }else{
               
                for(var i = 1; i < 31; i++) {
                var opt = document.createElement('option');
                opt.innerHTML = i;
                opt.value = i;
                sel.appendChild(opt);
                }
            }
            }
           
            function loadMonths(){

//JavaScript array to store the names of the months
 var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];    
            var sel = document.getElementById('month');
            for(var i = 0; i < months.length; i++) {
            var opt = document.createElement('option');
            opt.innerHTML = months[i];
            opt.value = months[i];
            sel.appendChild(opt);
            }
            }
        </script>

<body onload="loadYears();loadMonths()"> <!-- According to my logic Year and month generation functions should be invoked at the body onload event -->

<!-- Following are the particular select elements on the html page -->
<select id="year" name="year"></select>
               
<select id="month" name="month" onclick="loadDays()"> </select><!-- According to my logic days should be loaded at the time of choosing the month. So I invoked that function by the event of onclick here. -->
                           
<select id="day" name="day"></select>

Friday, May 17, 2013

Example Multi Dimensional Array In PHP

Hi ! Multi Dimensional Array or Arrays inside an Array is a basic and useful data structure in PHP. This post is regarding an example which describe you how to declare a multi dimensional array, how to insert data to it, how to print back those elements and how to manipulate those datum.

In this example population amounts in America is categorized into states and to each city. We have to organize them in an array, Print back them and find totals under each states and country.


<?php 
//Multi Dimensional Array
    $population=array(
                            'NY'=>array('New York'=>8008278),
                            'CA'=>array('Los Angeles'=>3694420,'San Diego'=>1223400),
                            'IL'=>array('Chicago'=>2896016),
                            'TX'=>array('Houstan'=>1953631,'Dallas'=>1188580,'San Antonio'=>1144646),
                            'AZ'=>array('Phoenix'=>1321045)
                          
                        );
                  
    $totalStatePopulation=0;                  
    $totalPoupulation=0;
   
    echo('<table border="1" width="400px">');
//$population refers to the above array $state refers to its keys(NY,CA,IL,TX,AZ) $city refers to its values(array('New York'=>8008278),array('Los Angeles'=>3694420,'San Diego'=>1223400),array('Chicago'=>2896016),array('Houstan'=>1953631,'Dallas'=>1188580,'San Antonio'=>1144646),array('Phoenix'=>1321045))
    foreach($population as $state=>$city){
        $totalStatePopulation=0;
      
         //$city is the same variable in the outer loop. So, $name refers to array $city 's keys. $amount is the population amount under each key.
            foreach($city as $name=>$amount){
            echo('<tr>');
//print the keys of the inner arrays
            echo('<td>'.$name.'</td>');
//prints the amounts under inner keys
            echo('<td>'.$amount.'</td>');
            echo('</tr>');
//calculate the state population of the country
            $totalStatePopulation=$totalStatePopulation+$amount;
//calculate the total population of the country
            $totalPoupulation=$totalPoupulation+$amount;
            }
          
          
            echo('<tr>');
//prints the keys of the outer array
            echo('<td>'.$state.'</td>');
            echo('<td style="color:green;font-weight:bold">'.$totalStatePopulation.'</td>');
            echo('</tr>');
    }
   
            echo('<td>Total Population</td>');
            echo('<td style="color:red;font-weight:bold">'.$totalPoupulation.'</td>');
    echo('</table>');


?>