Thursday 20 August 2015

Create a database for a Survey App

This lesson is part of an ongoing Survey/Poll tutorial. The first part is here: Build your own Survey/Poll, along with all the files you need.
In the previous part of this lesson, you opened the phpMyAdmin screen. With this still open, click on “Please select a database“. Have a look at the items on the drop down list. You should see one called surveytest:
The surveytest database
If you can’t see surveytest there, it means you haven’t copied the surveytest folder to the correct place.
If you can see surveytest, select it from the drop down list. You should see the names of two tables appear:
The two tables in the surveytest database
Click on tblQuestions, and you’ll see the Structure for this Table (it’s too big to fit on this page, so click below to see it):
The Structure for the tblQuestions Table (opens in a new window – 59K
Under the Table heading, you’ll see the two tables in this database: answers and tblQuestions. Click on the Browse icon for tblQuestions, as in the image below:
Browse the tblQuestions Table
You will be taken to the Field names and Rows in the table:
The questions in the Table
The Field names run from left to right, and are important. They are:
QID
Question
qA
qB
qC
The tblQuestions table above has four rows of data, one for each question. The QID field is the one to pay attention to. The values in the sample table are q1, q2, q3, and q4. This QID field is the Primary Key in this table. This means that the data in this field has to be unique. You can then use this QID field to identify each row in the table. This same field, QID, is also in the answers table, along with the qA, qB, qC fields. This allows you to select all the records in both tables based on the QID field. You just pull all the records that match. For example, you can say “Select all the records in both tables where the QID field equals q1″.
Take a look at the answers table by clicking the link on the left hand side. Then click on Browse at the top. You should see this:
The answers Table
In the answers table, the unique field (the primary key) is the ID field. This is just an auto incrementing number that you used in an earlier section. You don’t have to worry about this field. But notice that the QID field is also there, along with the same values from the tblQuestions table: q1, q2, q3, and q4. This matching QID field in the answers table is something called a foreign key, in database terminology. Joining data from a primary key in one table to a foreign key in another is common technique in database creation. You do this when you want to keep data separate, and to avoid having too many fields in a single table. It also speeds things up. In our example database, we can keep the questions and answers separate.

(NOTE: If you have some knowledge about databases, you’ll know about Referential Integrity. Unfortunately, phpMyAdmin doesn’t enforce this. So if you delete a row from one table, the corresponding row in another table won’t get deleted – you have to code for that yourself!)

The A, B, and C fields in the answers table record how many people voted for each option of your question. So, for question four (q4) 28 people voted for option A, 127 people voted for option B, and 52 people voted for option C. If you look at the matching row (q4) in the tblQuestions table you’ll see that the question was: Do you believe in UFOs? (These answers were entered by us – it’s not real data!)
Now that you have a good idea about how the database works, let’s go through the code that sets a question.

 If anyone want to know about php training. please visit on - http://www.phptraininginjaipur.co.in/

Saturday 8 August 2015

10 Advanced PHP Tips To Improve Your Programming

PHP programming has climbed rapidly since its humble beginnings in 1995. Since then, PHP has become the most popular programming language for Web applications. Many popular websites are powered by PHP, and an overwhelming majority of scripts and Web projects are built with the popular language.
Because of PHP’s huge popularity, it has become almost impossible for Web developers not to have at least a working knowledge of PHP Training in Jaipur . This tutorial is aimed at people who are just past the beginning stages of learning PHP and are ready to roll up their sleeves and get their hands dirty with the language. Listed below are 10 excellent techniques that PHP developers should learn and use every time they program. These tips will speed up proficiency and make the code much more responsive, cleaner and more optimized for performance.

1. Use an SQL Injection Cheat Sheet

Sql Injection
A list of common SQL injections.
SQL injection is a nasty thing. An SQL injection is a security exploit that allows a hacker to dive into your database using a vulnerability in your code. While this article isn’t about MySQL, many PHP programs use MySQL databases with PHP, so knowing what to avoid is handy if you want to write secure code.
Furruh Mavituna has a very nifty SQL injection cheat sheet that has a section on vulnerabilities with PHP and MySQL. If you can avoid the practices the cheat sheet identifies, your code will be much less prone to scripting attacks.

2. Know the Difference Between Comparison Operators

Equality Operators
PHP’s list of comparison operators.
Comparison operators are a huge part of PHP, and some programmers may not be as well-versed in their differences as they ought. In fact, an article at I/O reader states that many PHP developers can’t tell the differences right away between comparison operators. Tsk tsk.
These are extremely useful and most PHPers can’t tell the difference between == and ===. Essentially, == looks for equality, and by that PHP will generally try to coerce data into similar formats, eg: 1 == ‘1′ (true), whereas === looks for identity: 1 === ‘1′ (false). The usefulness of these operators should be immediately recognized for common functions such as strpos(). Since zero in PHP is analogous to FALSE it means that without this operator there would be no way to tell from the result of strpos() if something is at the beginning of a string or if strpos() failed to find anything. Obviously this has many applications elsewhere where returning zero is not equivalent to FALSE.
Just to be clear, == looks for equality, and === looks for identity. You can see a list of the comparison operators on the PHP.net website.

3. Shortcut the else

It should be noted that tips 3 and 4 both might make the code slightly less readable. The emphasis for these tips is on speed and performance. If you’d rather not sacrifice readability, then you might want to skip them.
Anything that can be done to make the code simpler and smaller is usually a good practice. One such tip is to take the middleman out of else statements, so to speak. Christian Montoya has an excellent example of conserving characters with shorter else statements.
Usual else statement:
if( this condition )
{
$x = 5;
}
else
{
$x = 10;
}
If the $x is going to be 10 by default, just start with 10. No need to bother typing the else at all.
$x = 10;
if( this condition )
{
$x = 5;
}
While it may not seem like a huge difference in the space saved in the code, if there are a lot of else statements in your programming, it will definitely add up.

4. Drop those Brackets

Drop Brackets
Dropping brackets saves space and time in your code.
Much like using shortcuts when writing else functions, you can also save some characters in the code by dropping the brackets in a single expression following a control structure. Evolt.org has a handy example showcasing a bracket-less structure.
if ($gollum == 'halfling') {
$height --;
}
This is the same as:
if ($gollum == 'halfling') $height --;
You can even use multiple instances:
if ($gollum == 'halfling') $height --;
else $height ++; 
 
if ($frodo != 'dead')
echo 'Gosh darnit, roll again Sauron';
 
foreach ($kill as $count)
echo 'Legolas strikes again, that makes' . $count . 'for me!';

5. Favour str_replace() over ereg_replace() and preg_replace()

Str Replace
Speed tests show that str_replace() is 61% faster.
In terms of efficiency, str_replace() is much more efficient than regular expressions at replacing strings. In fact, according to Making the Web, str_replace() is 61% more efficient than regular expressions like ereg_replace() and preg_replace().
If you’re using regular expressions, then ereg_replace() and preg_replace() will be much faster than str_replace().

6. Use Ternary Operators

Instead of using an if/else statement altogether, consider using a ternary operator. PHP Value gives an excellent example of what a ternary operator looks like.
//PHP COde Example usage for: Ternary Operator
$todo = (empty($_POST[’todo’])) ?default: $_POST[’todo’]; 
 
// The above is identical to this if/else statement
if (empty($_POST[’todo’])) {
$action = ‘default’;
} else {
$action = $_POST[’todo’];
}
?>
The ternary operator frees up line space and makes your code less cluttered, making it easier to scan. Take care not to use more than one ternary operator in a single statement, as PHP doesn’t always know what to do in those situations.

7. Memcached

Memcached
Memcached is an excellent database caching system to use with PHP.
While there are tons of caching options out there, Memcached keeps topping the list as the most efficient for database caching. It’s not the easiest caching system to implement, but if you’re going to build a website in PHP that uses a database, Memcached can certainly speed it up. The caching structure for Memcached was first built for the PHP-based blogging website LiveJournal.
PHP.net has an excellent tutorial on installing and using memcached with your PHP projects.

8. Use a Framework

Framework

CakePHP is one of the top PHP frameworks.
You may not be able to use a PHP framework for every project you create, but frameworks like CakePHP, Zend, Symfony and CodeIgniter can greatly decrease the time spent developing a website. A Web framework is software that bundles with commonly needed functionality that can help speed up development. Frameworks help eliminate some of the overhead in developing Web applications and Web services.
If you can use a framework to take care of the repetitive tasks in programming a website, you’ll develop at a much faster rate. The less you have to code, the less you’ll have to debug and test.

9. Use the Suppression Operator Correctly

The error suppression operator (or, in the PHP manual, the “error control operator“) is the @ symbol. When placed in front of an expression in PHP, it simply tells any errors that were generated from that expression to now show up. This variable is quite handy if you’re not sure of a value and don’t want the script to throw out errors when run.
However, programmers often use the error suppression operator incorrectly. The @ operator is rather slow and can be costly if you need to write code with performance in mind.
Michel Fortin has some excellent examples on how to sidestep the @ operator with alternative methods. Here’s an example of how he used isset to replace the error suppression operator:
if (isset($albus))  $albert = $albus;
else                $albert = NULL;
is equivalent to:
$albert = @$albus;
But while this second form is good syntax, it runs about two times slower. A better solution is to assign the variable by reference, which will not trigger any notice, like this:
$albert =& $albus;
It’s important to note that these changes can have some accidental side effects and should be used only in performance-critical areas and places that aren’t going to be affected.

10. Use isset instead of strlen

Strlen
Switching isset for strlen makes calls about five times faster.
If you’re going to be checking the length of a string, use isset instead of strlen. By using isset, your calls will be about five times quicker. It should also be noted that by using isset, your call will still be valid if the variable doesn’t exist. The D-talk has an example of how to swap out isset for strlen: