رفع ملف excel على MySQL database من خلال PHP و HTML

Hala • منذ 3 سنوات

السلام عليكم .. اريد رفع ملف Excel csv  من خلالHTML Form على الtable في الdatabase عندي. الفكرة انه عند الضغط على button import الفورم action حتروح للكود اللي في الاسفلو ستيم رفع الملف. ولكن لا يتم حسب المطلوب. ماذا ممكن ان تكون المشكلة في الكود؟

شكرا!

HTML Form

<form action="ImportUsingExcel.php" method="post"
	name="excelImportExcel" id="excelImportExcel" enctype="multipart/form-data">
	<div>
		<label>Choose Excel File</label> 
        <input type="file" name="file" id="file" accept=".csv,.xls,.xlsx" 
            class="btn btn-light btn-icon-split">
		<button type="submit" id="submit" name="importExcel" 													 
            class="btn btn-primary btn-icon-split">Import</button>
	</div>
</form>

Table Structure:

CSV file example:

PHP code to import using excel:

<?php
require "db.php"; // contains database configuration
		  
$connection = mysqli_connect($host, $user,$pass,$database);
		  
$error = mysqli_connect_error();
if($error != null){
  	$output="<p> Unable to connect to database !</P>".$error;
		exit($output);
}

if (isset($_POST['importExcel'])) {
	if($_FILES['excelDoc']['name']) {
		$arrFileName = explode('.', $_FILES['excelDoc']['name']);
		if ($arrFileName[1] == 'csv') {
			$handle = fopen($_FILES['excelDoc']['tmp_name'], "r");
			$count = 0;
			while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
				$count++;
				if ($count == 1) {
					continue; // skip the heading header of sheet
				}
					$SName = mysqli_real_escape_string($connection, $data[1]);
					$SType = mysqli_real_escape_string($connection, $data[2]);
					$SStudentsTotal = mysqli_real_escape_string($connection, $data[3]);
					$sql = "INSERT INTO schools(SName,SType,SStudentsTotal) 
                               VALUES('".$SName."','".$SType."',".$SStudentsTotal.")";

					if (mysqli_query($connection,$sql)) {
					  echo "<script> alert('New records created successfully')</script>";
						header('Location: schoolsShow.php');
					} else {
					  echo '<script> alert(Error: " . $sql . "<br>" . mysqli_error($connection) 
                            </script>';
						header('Location: schoolsImport.php');
					}
		}
	}
		else {
			echo "<script>alert('Wrong Format. Please use csv file ! ');</script>";
			header("Location: schoolsImport.php");
		     }
	}
}
?>

 

كلمات دليلية: database html mysql php

ساعد بالإجابة

"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !