Hello Friends,
If you want to import any excel sheet to your My SQL database you can use the following code below.
I have specified comments wherever needed.This is complete script and here you need to keep the classes directory with your code.
<?php
//Database connection
$con = mysqli_connect("Host_Name", "User_Name", "Password", "Database_Name");
// Check connection
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Getting existing records
$result = mysqli_query($con, "SELECT running_for,district,political_party,bio_headline,candidate_twitter_feed,candidate_twitter_follow,candidate_facebook_like,candidate_link_phone,candidate_link_bio,endorsements,candidate_news_link,candidate_link_yardsign,candidate_link_stickers,candidate_link_newsletter,candidate_video_page,candidate_calender,candidate_issue_page,candidate_defense_issue,candidate_economy_issue,candidate_health_issue,candidate_tax_issue,candidate_jobs_issue,candidate_nsa_surveillance_reform_issue,candidate_energy_issue,candidate_education_issue,candidate_security_entitlement_issue,candidate_immigration_issue,volunteer_us,paypal_donation_link,link_register_votepage,candidate_polling_place,candidate_free_ride,created,modified FROM candidates");
$exist_records = array();
while ($row = mysqli_fetch_array($result)) {
$exist_records[$row[0]] = $row;
}
// Include Classes
include 'classes/PHPExcel/IOFactory.php';
//Inventory data
$invFileName = 'Congresional2.xlsx'; // File to read
echo 'Loading file ', pathinfo($inputFileName, PATHINFO_;BASENAME), ' using IOFactory to identify the format<br /-->';
try {
$objPHPExcel = PHPExcel_IOFactory::load($invFileName);
} catch (Exception $e) {
die('Error loading file "' . pathinfo($invFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage());
}
$invData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true);
array_shift($invData);
foreach ($invData as $data) {
set_time_limit(1000);
$item_id = str_replace('"', '', $data['A']);
//Get invetory data for item
if (in_array($item_id, $items)) {
//Creating a common array
$inv_records[$item_id] = $data['C'];
}
}
// user data
$inputFileName = 'Congresional2.xlsx'; // File to read
echo 'Loading file ', pathinfo($inputFileName, PATHINFO_BASENAME), ' using IOFactory to identify the format<br>';
try {
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
} catch (Exception $e) {
die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage());
}
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true);
array_shift($sheetData);
$count = sizeof($sheetData);
//the top line is the field names the field names which are to be used for insertion
$fields = array('S.no', 'State', 'abbr','district', 'Party', 'Candidate_Name', 'Email', 'FB_Account', 'Twitter_Account', 'Candidate_Website_Home_Page', 'Bio', 'Endorsements', 'News', 'Videos', 'Calendar_Events', 'Issues', 'Issues1', 'Issues2', 'Issues3', 'Issues4', 'Issues5', 'Issues6', 'Issues7', 'Issues8', 'Issues9', 'Issues10', 'Volunteer', 'Sign-Up_Newsletter', 'Yard_Sign', 'Bumper_Sticker', 'Telephone', 'Donate');
$records = array();
$i = 0;
foreach ($sheetData as $data) {
set_time_limit(10000);
// Fields to be unset which are not required from excel sheet
unset($data['G'], $data['K'], $data['L'], $data['M'], $data['AK'], $data['AL'], $data['AM'], $data['AN']);
// combining both the array
$temp = array_combine($fields, $data);
//Get invetory data for item
$records[$i] = $temp;
$i++;
if (in_array($count, $temp)) {
//Creating a common array
$records[$candidate] = $temp;
break;
}
}
//Complete field array
// Field Array consisting field names of database table
//As I am inserting values in two tables therefore i am using two variables($fields, $field_str).
// User Table
$fields = 'username,email,password,created,modified,status,type';
//candidate table
$field_str = 'district,running_for,user_id,state,political_party,bio_headline,candidate_twitter_feed,candidate_twitter_follow,candidate_facebook_like,candidate_link_phone,candidate_link_bio,endorsements,candidate_news_link,candidate_link_yardsign,candidate_link_stickers,candidate_link_newsletter,candidate_video_page,candidate_calender,candidate_issue_page,candidate_defense_issue,candidate_economy_issue,candidate_health_issue,candidate_tax_issue,candidate_jobs_issue,candidate_nsa_surveillance_reform_issue,candidate_energy_issue,candidate_education_issue,candidate_security_entitlement_issue,candidate_immigration_issue,volunteer_us,paypal_donation_link,link_register_votepage,candidate_polling_place,candidate_free_ride,created,modified';
$i = 0;
$image_path = '';
foreach ($records as $record) {
// If no record found it should exit from loop
if($record['S.no'] == "" ){
break;
}
$sqlusers = "INSERT INTO users (" . $fields . ")
VALUES
('" . $record['Candidate_Name'] . "', '" . $record['Email'] . "', 'b9014def59a576fcfa7a79c337ab16ee13add66d','2014-04-28 15:32:28','2014-04-28 15:56:31','Active','user' )";
// Getting the last inserted record ID from Users Table to insert it into Candidate table
mysqli_query($con, $sqlusers);
$candidateid = mysqli_insert_id($con);
$sql = "INSERT INTO candidates (" . $field_str . ")
VALUES
('" . $record['district'] . "','Congressman','" . $candidateid . "', '" . $record['abbr'] . "', '" . $record['Party'] . "', '" . $record['Candidate_Website_Home_Page'] . "', '" . $record['Twitter_Account'] . "', '" . $record['Twitter_Account'] . "', '" . $record['FB_Account'] . "', '" . $record['Telephone'] . "', '" . $record['Bio'] . "', '" . $record['Endorsements'] . "', '" . $record['News'] . "', '" . $record['Yard_Sign'] . "', '" . $record['Bumper_Sticker'] . "', '" . $record['News'] . "', '" . $record['Videos'] . "','" . $record['Calendar_Events'] . "','" . $record['Issues'] . "','" . $record['Issues1'] . "','" . $record['Issues2'] . "','" . $record['Issues3'] . "','" . $record['Issues4'] . "','" . $record['Issues5'] . "','" . $record['Issues6'] . "','" . $record['Issues7'] . "','" . $record['Issues8'] . "','" . $record['Issues9'] . "','" . $record['Issues10'] . "','" . $record['Volunteer'] . "','" . $record['Donate'] . "','http://votetexas.gov/register-to-vote/','http://www.votetexas.gov/voting/where','http://www.ridetovote.org/','2014-05-01 10:56:31','2014-05-01 10:56:31')";
if (mysqli_query($con, $sql)) {
$i++;
}
if($record['S.no'] == "" ){
break;
}
}
echo $i . " records updated";
// close the connection for image ftp
?>
<!--?php
/**
* function for format string withoung " around string and add escapes
* */
function otrim($string) {
if ($string != '') {
if ($string[0] == '"')
$string = substr($string, 1);
if ($string[strlen($string) - 1] == '"')
$string = substr($string, 0, strlen($string) - 1);
}
return mysql_real_escape_string($string);
}
?-->
0 Comment(s)