How to change controller and model directory path in codeigniter ?

You can changed that by using HMVC extension.

First of all download the extension code from –
https://github.com/skjain5793/codeigniter-modular-extensions-hmvc

Extract it and
i.) put /third_party  folder files in application/third_party folder
ii.) put /core folder files in application/core folder

Puzzles Interview Questions

Puzzles Interview Questions :

Ques: There are 3 persons in a room(say you and 2 others). From other 2 persons one speaks truth and another lies but you don’t know who speaks truth and who lies. There are 2 doors in the room(say door 1 and door 2) out of which 1 door opens. You have to ask only 1 question from 1 guy and have to find out which door opens.

HTML Interview Questions

Ques: What is root element ?

Ans:<html> is the root element.

Ques: What is difference between div and span tag ?

Ans: div is block level element and span is content level element.

Ques: What are listing elements ?

Ans: <ol> and <ul> are listing elements.

Ques: Tell me name of any block level element, inline-block level element and inline element.

Ans: Block Level Elements – <div>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
Inline Block Level Element –
<span>
Inline Element – <button>

Ques: What is difference between bold and strong tag in HTML ?

Ans: <b> makes only look as bold while <strong> tag emphasize the text as important. Text in <strong> tag will have more importance.

Ques: What is optgroup ?

Ans: This tag is used to group related options in drop down.
For Example –
<select id=”cars”>
<optgroup label=”Maruti Cars”>
<option value=”swift”>Swift</option>
<option value=”spresso”>Spresso</option>
</optgroup>
<optgroup label=”Honda Cars”>
<option value=”city”>City</option>
<option value=”brio”>Brio</option>
</optgroup>
</select>

Copy files to other server(ftp) using ftp details

How to copy all files of a directory to a directory on other server ?
Suppose, we have to copy all files in a directory(dir/subdir) to other server directory(dir/sub) and we also have to create directory there(in case, if directory does not exist), then –

First of all make connection with Remote(other) FTP (from where we are copying the files) like –
$ftp_host = ‘host’;
$ftp_username = ‘ftp_username’;
$ftp_password = ‘ftp_password’;
$ftp_connection = ftp_connect($ftp_host);

Then, login to Remote or other ftp using –
$ftp_login = ftp_login($ftp_connection,$ftp_username,$ftp_password);

function isdir_ftp($ftp_connection,$dir){
$pushed = ftp_pwd($ftp_connection);
if($pushed!=false && @ftp_chdir($ftp_connection,$dir)){
ftp_chdir($ftp, $pushed);
return true;
}
return false;
}

Suppose, we have to copy the directory and files in public_html directory –
$server_path = “./public_html/”;
$file_path_server = “dir/subdir” ;
$server_file_path = $server_path. $file_path_server ;
$is_dir = isdir_ftp($ftp_connection, $file_path_server);
if(!$is_dir){
$dir = $file_path_server;
$dd = ”;
$d=explode(“,”,$dir);
for($i=0;$i<count($d);$i++){
$dd.=$d[$i].”/”;
//try to create dir
$dir = $dd;
$is_dir = isdir_ftp($ftp_connection, $dir);
if(!$is_dir){
if(ftp_mkdir($frp_connection, $dir)){
echo “Dir created successfully”;
}else{
echo “Error”;
}
}
}
}

Now read the files from local ftp from where we have to copy the files and the copy it –
$local_ftp_dir = ” dir/subdir “;
if ($handle = @opendir($ local_ftp_dir )) {
while (false !== ($file = readdir($handle))) {
if ($file != “.” && $file != “..”) {
$source= $ local_ftp_dir .’/’.$file;
$dest = “public_html/”.$ local_ftp_dir .’/’.$file;
$upload = ftp_put($ftp_connection, $dest, $source, FTP_BINARY);
if (!$upload) {
echo ‘FTP upload failed!’;
} else {
echo “uploaded successfully”;
}
}
}
}

ftp_close($ftp_connection);

Copy files from other ftp or server to current ftp or server

Steps to copy all files of a particular folder from other ftp to current ftp –

First of all make connection with Remote(other) FTP (from where we are copying the files) like –
$ftp_host = ‘host’;
$ftp_username = ‘ftp_username’;
$ftp_password = ‘ftp_password’;
$ftp_connection = ftp_connect($ftp_host);

Then, login to Remote or other ftp using –
$ftp_login = ftp_login($ftp_connection,$ftp_username,$ftp_password);

After that get all files of that directory of remote ftp –
$remote_dir = ‘/dir/’;
$remote_files = ftp_nlist($ftp_connection,$remote_dir); //Array of all files from dir directory on remote server

Then, check that file exists in that directory on not –
if(count($remote_files)>0){ //There are files in remote server dir
foreach($remote_files as $remote_file){ //run loop through each file
$file_name = end(“/”,explode($remote_file)); //get file name from remote
$local_file = ‘local_dir/’.$file_name;
$server_file = $remote_file; //file from remote server
if(ftp_get($ftp_connection,$local_file,$server_file, FTP_ASCII)){
echo “File successfully copied”;
}else{
echo “error”;
}
}
}

JQuery / Javascript Interview Questions

Ques: What is difference between setInterval () and setTimeout () ?

Ans: setInterval(expression, time) – It will run the code or function in the time interval.
Example –
setInterval(function(){ alert(“Hello”); }, 1000);
This will alert “Hello” after every 1 second(1000 milliseconds).

setTimeout() – It will run after the time.
Example –
setTimeout(function(){ alert(“Hello”); }, 1000);
This will alert “Hello” once only after 1 second(1000 milliseconds).

Ques: When will be the fourth argument to open() function ?

Ans: When the second argument named as existing window.

MySQL Interview Questions

Ques: What is difference between VARCHAR and TEXT ?

Ans: Indexing can not be done on TEXT column. So if you have to index, you have to use VARCHAR as type.

Ques: What is size of INT and TINYINT ?

Ans: INT Size – 4 bytes
TINYINT Size – 1 byte

Ques: What is stored procedure ?

Ans: It is a segment of SQL statements stored in MySQL Server. After creating stored procedure, you can directly call it via CALL() function.

Syntax –
CREATE PROCEDURE procedure_name (parameter)
BEGIN
statements
END //

Calling –
CALL procedure_name(arguments);

For example –
Query – Select * from users. – This query will get data of all users.
Create Stored Procedure of it –
DELIMITER //
CREATE PROCEDURE Getallusers()
BEGIN
SELECT * FROM users;
END //
DELIMITER;

To call it –
CALL Getallusers ();

Ques: Write a query to get 3rd highest salary without using limit and offset.

Ans: SELECT name. salary from employee e1 where n-1 = (SELECT COUNT(DISTINCT salary) from employee e2 WHERE e2.salary > e1.salary);

Replace n with highest salaray. In above question to find the 3rd highest salary query wiil be –
SELECT name. salary from employee e1 where 3-1 = (SELECT COUNT(DISTINCT salary) from employee e2 WHERE e2.salary > e1.salary);

Ques: Write a single query to delete duplicate rows ?

Ans: DELETE t1 from table t1 INNER JOIN table t2 WHERE t1.primary_key_column > t2. primary_key_column and t1.duplicate_column_name = t2.duplicate_column_name ;

For Example – We have users table in which some users info. is stored(i.e, ID (Primary Key), Name and Address).

ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com India
2 Shyam test@gmail.com India
3 Bunty bunty@gmail.com India
4 Joni bunty@gmail.com India

Query to deleted duplicate email ids(except one) will be –

DELETE u1 from users u1 INNER JOIN users u2 WHERE u1.ID>u2. ID and u1.email_id = t2.email_id ;

Ques: What is default size of MySQL Database ?

Ans: 256 TB

Ques: Tell about GROUP_CONCAT function.

Ans: GROUP_CONCAT function combines(concatenates) the data of multiple rows in a single row. Let us take an example for explanation –

There is a table say customers table.

ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com Australia
2 Ram test@gmail.com India
3 Bunty bunty@gmail.com India
4 Joni joni@gmail.com India
ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com Australia, India
3 Bunty bunty@gmail.com India
4 Joni joni@gmail.com India

By default GORUP_CONCAT will add comma(,) as separator between the values. To use the different syntax like(;), you have to use SEPARATOR with separator syntax.

SELECT Name, Email, GROUP_CONCAT(DISTINCT Address SEPARATOR ‘;’) from customers.

Output –

ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com Australia; India
3 Bunty bunty@gmail.com India
4 Joni joni@gmail.com India
Ques: Tell about DUPLICATE ON in MySQL.

Ans: Duplicate On is mostly used with the unique key.  For example, if we have unique key in the table and after that if we will insert the same reocrd, MySQL will give error.

For example – There is a table users with email as unqiue id.

ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com India
2 Bunty bunty@gmail.com India

If we try to insert the record again with email id test@gmail.com, it will give error. 

To prevent error –

INSERT into users(Name, email, address) VALUES(‘test@gmail.com’) ON DUPLICATE KEY UPDATE email = ‘test_old@gmail.com’ ;

Ques: What is difference between MyISAM and InnoDB ?

Ans: 1.) InnoDB supports transactions while MyISAM does not.
2.) InnoDB has row-level locking while MyISAM has table-locking.
3.) MyISAM supports FULLTEXT Index while InnoDB does not.
4.) Performance speed of InnoDB is less as compared to MyISAM.
5.) InnoDB supports FOREIGN KEY constraints while MyISAM does not.

MyISAM is best for small projects but InnoDB is better option when you have to deal with large database as it supports transactions.

Ques: Write a query to update gender which are male to female and female to male.

Ans: Query –
UPDATE users SET gender = CASE WHEN gender = ‘male’ THEN ‘female’ WHEN gender = ‘female’ THEN ‘male’ ELSE ” END;

SELECT Name, Email, GROUP_CONCAT(DISTINCT Address) from customers.

Output –

ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com Australia, India
3 Bunty bunty@gmail.com India
4 Joni joni@gmail.com India

By default GORUP_CONCAT will add comma(,) as separator between the values. To use the different syntax like(;), you have to use SEPARATOR with separator syntax.

SELECT Name, Email, GROUP_CONCAT(DISTINCT Address SEPARATOR ‘;’) from customers.

Output –

ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com Australia; India
3 Bunty bunty@gmail.com India
4 Joni joni@gmail.com India
Ques: Tell about DUPLICATE ON in MySQL.

Ans: Duplicate On is mostly used with the unique key.  For example, if we have unique key in the table and after that if we will insert the same reocrd, MySQL will give error.

For example – There is a table users with email as unqiue id.

ID (Primary Key) Name Email ID Address
1 Ram test@gmail.com India
2 Bunty bunty@gmail.com India

If we try to insert the record again with email id test@gmail.com, it will give error. 

To prevent error –

INSERT into users(Name, email, address) VALUES(‘test@gmail.com’) ON DUPLICATE KEY UPDATE email = ‘test_old@gmail.com’ ;

Ques: What is difference between MyISAM and InnoDB ?

Ans: 1.) InnoDB supports transactions while MyISAM does not.
2.) InnoDB has row-level locking while MyISAM has table-locking.
3.) MyISAM supports FULLTEXT Index while InnoDB does not.
4.) Performance speed of InnoDB is less as compared to MyISAM.
5.) InnoDB supports FOREIGN KEY constraints while MyISAM does not.

MyISAM is best for small projects but InnoDB is better option when you have to deal with large database as it supports transactions.

Ques: Write a query to update gender which are male to female and female to male.

Ans: Query –
UPDATE users SET gender = CASE WHEN gender = ‘male’ THEN ‘female’ WHEN gender = ‘female’ THEN ‘male’ ELSE ” END;