الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

امر ال load datg با Mysql

بدأه الحماسي في 25 يونيو 2011 · 24 رد · 1,104 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

الان يوجد لدي قاعدة بينات موضفين في الاكسل وحفظتها على شكل emp.csv

البينات الي فيها طبعا

emp_ID,NATIONAL_ID,NAME,NAME_E,STATUS_DESC,GENDER,otherInfo

المطلوب الان

سمعت انو فيه طريقه لتحميل كافة هذه البيانات مباشره على قاعدة الماي سكيو ال باستخدام load data

فما اادري هل يوجد احد لديه خبره بهذا االامور او توجد طريقه اخرى

#2

السلام عليكم،

اعذرني يا أخي لا أعلم شيئًا عن هذه الطريقة، و لكن بشكل أبسط، يمكن استخدام phpMyAdmin لفعل أي شيء كهذا ببساطة..

#3

اهلن فيكم

مشكووورين لقد فادني احد الاخوه بهذه الطريقه واحببت ان تستفيدو منها فالامر بسيط جدا

فقط اكتب الكود التالي

Load Data 
Infile 'd:emp.csv' 
Into table stu
FIELDS TERMINATED BY "," 
(STUDENT_ID,NATIONAL_ID,NAME,NAME_E,STATUS_DESC,GENDER,ontherinfo);

لكن السؤوال

هنا كيف اصمم صفحه في البي اتش بي لتتصل بهذه القاعدة بحيث ان الصفحه الاولى فقط فيها خانتين الاولى رقم الموضف والثانيه رقمه السجل المدني

وبعد مايتاكد من وجودها بالقاعده يقوم باظهار كافة بيناته ثم يضيف رقم جواله وبينات اخرى

#4

السلام عليكم،

الطلب الثاني يا أخي هو برمجة كاملة.. و يحتاج إلى الكثير من التفاصيل! يمكن تعلم كيفية التعامل مع MySQL باستخدام PHP عن طريق: W3schools PHP MYSQL Introduction

و هناك العديد من الكتب و المواقع الأخرى، و منها العربية التي تقدم هذا الشرح..

عليك على الأقل، تصميم الـForm المطلوب لهذه العملية، و يمكن للأعضاء هنا مساعدتك بعد ذلك بخصوص MySQL..

#5

هلا اخوي سايت ميكر

لاتكبر الموضوع لابرمجه ولا شي انا عندي كود مشابه بس ماقدرت اعدل فيه

انا احتاج افهم بس هذا الكود عشان اقدر اعدل فيه او اتوقع نفس الاسماء عندي انا سميت الاسماء بناءا على الجدول هذا بس ماضبط معاي

اتمنى احد يقدر يشرح لنا هذا

<?php
if (session_id() == "")
{
	session_start();

}
else
{
session_start();
$_SESSION = array();
session_destroy();
}

if(!empty($_POST) && isset($_POST['id']) && !empty($_POST['id']) && isset($_POST['iq']) && !empty($_POST['iq']))
{

		/* session_start(); */
		$_SESSION["id"]=$_POST["id"];
		$_SESSION["iq"]=$_POST["iq"];
		require_once ('config.php');
		$id = $_SESSION["id"];
	    $iq = $_SESSION["iq"];


		mysql_select_db("emp") or die(mysql_error());

		$r = mysql_query("select * from cs where student_id = '$id' and national_id = '$iq'");

		if (mysql_num_rows($r) >= 1 )
			{
				$row = mysql_fetch_array($r);


				$_SESSION["name"]=$row["name"];
				$_SESSION["first_name"]=$row["first_name"];
				$_SESSION["fam_name"]=$row["fam_name"];
				$_SESSION["mobile"]=$row["mobile"];
				$_SESSION["email"]=$row["email"];
				$_SESSION["faculty"]=$row["faculty"];


				header('location:reg.php');

			}

		else
			{

		?>

مع العلم اني لما اطبقه يعطيني خطاء ما ادري ايش المشكله

#6

هل هناك صفحة عندك اسمها reg.php؟

هذا الكود يوجه عند النجاح لهذه الصفحة، إذا لم تكن موجودة، فلن يعمل طبعًا..

هناك مشكلة أخرى، أكبر،، أن الكود غير كامل، لو تلاحظ في آخر else{ دون إغلاق القوس و دون وضع الكود الذي سيتم إظهاره في تلك الحالة..

كما قلت لك يا أخي، اكتب صفحة HTML في <form> بسيط، حسب ما تريد، و ابدأ في تعلم MySQL و الأعضاء هنا سيساعدونك بكل تأكيد بعد ذلك..

#7
<?php
	/* require_once ('config.php'); */
	session_start();

    $id = $_SESSION["id"];
	$iq = $_SESSION["iq"];
	$name = $_SESSION["name"];
	$mobile = $_SESSION["mobile"];
	$email	= $_SESSION["email"];
	$faculty = $_SESSION["faculty"];
	$first_name=$_SESSION["first_name"];
	$fam_name=$_SESSION["fam_name"];

	$_SESSION = array();
	session_destroy();





?>

هذه صفحة ال reg

الماي اس كيو ال افهم فيها

#8

اشتغل معاي الكود لما احفظه في صيغة ANSI بس مشكلته هنا الكتابه العربيه ماتضهر

بس لما ارجع للصيغة UTF-8

يعطيني الخطاء التالي

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\M\index.php:1) in C:\AppServ\www\M\index.php on line 3

#9

ابدأ صفحة جديدة، وقبل وضع أي شيء فيها اجعلها UTF-8، ثم انسخ الكود من هنا مثلاً، و ليس من الملف، و جرب الملفات القديمة، ثم ضعها بعد التجربة، أقول بعد التجربة لكي لا تفقد الملفات نهائيًا، بعد التجربة ضعها مكان الملفات القديمة..

#10

مشكور اخوي تم استخدام النوت باد واشتغل معاي كل شي تمام

لكن مين يقدر يشرح لي الكود السابق

notpad++

#11

قمت بكتابة هذا لك، تجد الملفات في المرفقات.

عليك الانتباه فقط إلى بعض المعلومات الخاصة مثل "طول العنصر input" و "نمط الحقل في قاعدة البيانات" واسم الجدول table_name وأسماء الحقول.

لا عليك من الرموز الظاهرة في الصورة، هذه متعلقة بالترميز الذي اخترته بسرعة.

مثال عرض وتحديث بيانات موظفين.rar

post-7008-050680900 1309073206_thumb.png

المرفقات
Untitled.png

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#12

هلا اخوي

الف شكر لك

بالفعل ضبطت معاي مشكوووووور

بس ليش البينات الي في القاعدة تضهر على شكل علامات اسفتهام ؟؟؟؟؟؟؟؟؟؟؟؟

عل ىالرغم اني حطها utf-8

#13

أرسل لي نسخة من القاعدة أو نسخة من جزء منها (يكفيني 2 records)

وسأقوم بتعديله على هذا الأساس.

* 2 records ضمن SQL dump وليس أن تكتب البيانات لي هنا، أريد أن أحصل على صيغ الحقول والأنماط والترميز تماماً كما هو موجود لديك.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#14

اهلا اخي

الف شكر لك ونسأل الله ان لايحرمك الاجر

تم الرفع ها طبعا بصغية ملف نصي لانه لايقبل CSV حيث انه محفوض بطريقة CSV comma

وبالنبسة للبينات الغير معبائه وهي mobile,first_name,fam_name,email,reg

هذه البينات ارغب من المستخدم ان يعبيها من الموقع

هذا ولك الف شكر

table.txt

#15

قم بتصديره بصيغة SQL وغيّر لاحقة الاسم إلى txt لتستطيع إرفاقه.

أحتاج لشئ يحتفظ بنمط الحقل ونوع الـ collation كما هي لديك بالضبط، لذلك الأفضل أن تصدّره كـ SQL.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#16

يرجى تشييك الخاص اخووي

وفيه نقطه مهمها انا لما استعرضه من القاعده على الرابط http://localhost/phpmyadmin

الاسماء ممتازه وزي ماهي مافيها اي مشكله

#17

لحل مشكلة اللغة العربية

قم بإظافة هذا الأمر بعد الأتصال مباشرة مع القاعدة

mysql_query("SET NAMES utf8");
#18

نعم، كود الأخ عبد المنعم صحيح، لكن الأفضل حسب مرجع PHP الكود التالي:

mysql_set_charset('UTF-8');

دالة mysql_set_charset - في هذا الرابط من الموقع الرسمي لـPHP، في قسم Notes من الصفحة مكتوب

This is the preferred way to change the charset. Using     mysql_query() to execute SET NAMES ..     is not recommended.

أيًا كان حل الأخ عبد المنعم، صحيح 100%، فقط هذا شيء قياسي أكثر، و أبسط!

#19
sitesmaker كتب:

نعم، كود الأخ عبد المنعم صحيح، لكن الأفضل حسب مرجع PHP الكود التالي:

mysql_set_charset('UTF-8');

دالة mysql_set_charset - في هذا الرابط من الموقع الرسمي لـPHP، في قسم Notes من الصفحة مكتوب

This is the preferred way to change the charset. Using 	mysql_query() to execute SET NAMES .. 	is not recommended.

أيًا كان حل الأخ عبد المنعم، صحيح 100%، فقط هذا شيء قياسي أكثر، و أبسط!

تعديل:

لا أعرف كيف نسيت هذا!

يجب أن يكون ترميز قاعدة البيانات و ترميز الصفحة و ترميز المتصفح UTF-8 حتى يعمل هذا الكود! و الأخ Xacker سيساعدك أخي الحماسي صاحب الموضوع في هذا.. صحيح؟

عند إضافة قاعدة البيانات يجب ضبط Collation إلى utf8_general_ci أو utf8_unicode_ci

و أن تكون صفحة الإضافة في قاعدة البيانات تحمل ترميز UTF-8 أيضًا!

#20
sitesmaker كتب:

نعم، كود الأخ عبد المنعم صحيح، لكن الأفضل حسب مرجع PHP الكود التالي:

mysql_set_charset('UTF-8');

دالة mysql_set_charset - في هذا الرابط من الموقع الرسمي لـPHP، في قسم Notes من الصفحة مكتوب

This is the preferred way to change the charset. Using 	mysql_query() to execute SET NAMES .. 	is not recommended.

أيًا كان حل الأخ عبد المنعم، صحيح 100%، فقط هذا شيء قياسي أكثر، و أبسط!

طريقة مية بالمية صحيحة

مثل ماقلت لك هههه, لساتني قديم happy.gif

#21

الف شكر لكم سوف اجرب الحل وافيدكم ان شاء الله

تم تعديل هذه المشاركة بواسطة الحماسي في 27 يونيو 2011 في 01:02

#22

بالمناسبة لم يصلني رابط التحميل على الخاص.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#23

استبدل الملف المرسل سابقاً بهذا.

لم يعد هناك استخدام للصور فيمكنك حذفها.

<html>
<head>
<title>by Xacker @ arabteam2000.com</title>
<style type="text/css">
* {font-family: Tahoma, Verdana, Arial; font-size: 12px; color: #000;}
input {padding: 2px;}
table {border: 1px solid #000; width: 100%;}
th {background-color: grey; font-weight: bold; text-align: center; border: 1px solid #555;}
th, td {padding: 5px;}
.c {text-align: center; margin: auto;}
.l {font-weight: bold; text-align: right;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form method="post" action="">
	<label for="student_id">Student ID:</label><input type="textbox" id="student_id" name="student_id" value="" />
	<label for="nid">National ID:</label><input type="textbox" id="nid" name="nid" value="" size=30 />
	<input type="submit" value="Submit" />
</form>
<?php
if (isset($_POST['student_id']) && !empty($_POST['student_id']) && isset($_POST['nid']) && !empty($_POST['nid']) && is_numeric($_POST['student_id']))
{
?>
<div>
Results: <p />
<?php
	// $con = mysql_connect("server","username","password");
	$con = mysql_connect("localhost","root","");
	if (!$con)
		{
			die('Could not connect: ' . mysql_error());
		}

	if (!mysql_select_db("DB1", $con)) die ('Can\' use DB1: ' . mysql_error());
	mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $con);

	$student_id = $_POST['student_id'] = mysql_real_escape_string($_POST['student_id']);
	$nid = $_POST['nid'] = mysql_real_escape_string($_POST['nid']);

	$result = mysql_query("select student_id, national_id from cs where student_id=$student_id and national_id='$nid'");
	if (!$result)
	{
		die('Invalid query: ' . mysql_error());
	}

	$count = mysql_num_rows($result);
	if ($count == 1)
	{
		if ((isset($_POST['u']) && $_POST['u']==1) && (isset($_POST['mobile']) && is_numeric($_POST['mobile']) && !empty($_POST['mobile'])) || (isset($_POST['first_name']) && !empty($_POST['first_name'])) || (isset($_POST['family_name']) && !empty($_POST['family_name'])) || (isset($_POST['email']) && !empty($_POST['email'])))
		{
			$mobile = $_POST['mobile'] = mysql_real_escape_string($_POST['mobile']);
			$first_name = $_POST['first_name'] = mysql_real_escape_string($_POST['first_name']);
			$family_name = $_POST['family_name'] = mysql_real_escape_string($_POST['family_name']);
			$email = $_POST['email'] = mysql_real_escape_string($_POST['email']);

			$sql = "update cs set ";
			if (!empty($mobile)) $sql .= "mobile='$mobile',";
			if (!empty($first_name)) $sql .= "first_name='$first_name',";
			if (!empty($family_name)) $sql .= "fam_name='$family_name',";
			if (!empty($email)) $sql .= "email='$email',";

			$sql = substr($sql, 0, -1);	// removes trailing ","
			$sql .= " where student_id=$student_id and national_id='$nid'";

			$result = mysql_query($sql);
			if (!$result)
			{
				die('Unable to update: ' . mysql_error());
			}
		}

		$result = mysql_query("select * from cs where student_id=$student_id and national_id='$nid'");
		if (!$result)
		{
			die('Invalid query: ' . mysql_error());
		}
?>
<table>
<thead>
	<tr>
		<th>Student ID</th>
		<th>National ID</th>
		<th>Name</th>
		<th>Faculty</th>
		<th>Mobile #</th>
		<th>First name</th>
		<th>Family name</th>
		<th>Email</th>
		<th>Registered</th>
	</tr>
</thead>
<tbody>
<?php
		while ($r = mysql_fetch_assoc($result))
		{
?>
	<tr>
		<td class="c"><?php echo $r['student_id'] ?></td>
		<td class="c"><?php echo $r['national_id'] ?></td>
		<td><?php echo $r['name'] ?></td>
		<td><?php echo $r['faculty'] ?></td>
		<td class="c"><?php echo $r['mobile'] ?></td>
		<td><?php echo $r['first_name'] ?></td>
		<td><?php echo $r['fam_name'] ?></td>
		<td class="c"><?php echo $r['email'] ?></td>
		<td class="c"><?php echo $r['reg'] ?></td>
	</tr>
<?php
		}
?>
</tbody>
</table>

<form method="post" action="">
<input type="hidden" name="u" value="1" />
<input type="hidden" name="student_id" value="<?php echo $student_id ?>" />
<input type="hidden" name="nid" value="<?php echo $nid ?>" />
<table>
<tbody>
	<tr>
		<td class="l">Mobile #:</td>
		<td><input type="textbox" name="mobile" size="80" /></td>
	</tr>
	<tr>
		<td class="l">First name:</td>
		<td><input type="textbox" name="first_name" size="80" /></td>
	</tr>
	<tr>
		<td class="l">Family name:</td>
		<td><input type="textbox" name="family_name" size="80" /></td>
	</tr>
	<tr>
		<td class="l">Email address:</td>
		<td><input type="textbox" name="email" size="80" /></td>
	</tr>
	<tr>
		<td colspan="2" class="c"><input type="submit" value="Update" /></td>
	</tr>
</tbody>
</table>
</form>
<?php
	} else if ($count > 1) {
		echo 'Something went wrong, multiple records found';
	} else {
		echo 'Invalid supplied information, no record has been found';
	}
	mysql_close($con);
?>
</div>
<?php
}
?>
</body>
</html>

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#24

انت انسان مبددع

انت انساان غير طبيعي ماشاء الله

ربنا يوفقك ويجزاك

كل خير

#25
Xacker كتب:

استبدل الملف المرسل سابقاً بهذا.

لم يعد هناك استخدام للصور فيمكنك حذفها.

<html>
<head>
<title>by Xacker @ arabteam2000.com</title>
<style type="text/css">
* {font-family: Tahoma, Verdana, Arial; font-size: 12px; color: #000;}
input {padding: 2px;}
table {border: 1px solid #000; width: 100%;}
th {background-color: grey; font-weight: bold; text-align: center; border: 1px solid #555;}
th, td {padding: 5px;}
.c {text-align: center; margin: auto;}
.l {font-weight: bold; text-align: right;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form method="post" action="">
	<label for="student_id">Student ID:</label><input type="textbox" id="student_id" name="student_id" value="" />
	<label for="nid">National ID:</label><input type="textbox" id="nid" name="nid" value="" size=30 />
	<input type="submit" value="Submit" />
</form>
<?php
if (isset($_POST['student_id']) && !empty($_POST['student_id']) && isset($_POST['nid']) && !empty($_POST['nid']) && is_numeric($_POST['student_id']))
{
?>
<div>
Results: <p />
<?php
	// $con = mysql_connect("server","username","password");
	$con = mysql_connect("localhost","root","");
	if (!$con)
		{
			die('Could not connect: ' . mysql_error());
		}

	if (!mysql_select_db("DB1", $con)) die ('Can\' use DB1: ' . mysql_error());
	mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $con);

	$student_id = $_POST['student_id'] = mysql_real_escape_string($_POST['student_id']);
	$nid = $_POST['nid'] = mysql_real_escape_string($_POST['nid']);

	$result = mysql_query("select student_id, national_id from cs where student_id=$student_id and national_id='$nid'");
	if (!$result)
	{
		die('Invalid query: ' . mysql_error());
	}

	$count = mysql_num_rows($result);
	if ($count == 1)
	{
		if ((isset($_POST['u']) && $_POST['u']==1) && (isset($_POST['mobile']) && is_numeric($_POST['mobile']) && !empty($_POST['mobile'])) || (isset($_POST['first_name']) && !empty($_POST['first_name'])) || (isset($_POST['family_name']) && !empty($_POST['family_name'])) || (isset($_POST['email']) && !empty($_POST['email'])))
		{
			$mobile = $_POST['mobile'] = mysql_real_escape_string($_POST['mobile']);
			$first_name = $_POST['first_name'] = mysql_real_escape_string($_POST['first_name']);
			$family_name = $_POST['family_name'] = mysql_real_escape_string($_POST['family_name']);
			$email = $_POST['email'] = mysql_real_escape_string($_POST['email']);

			$sql = "update cs set ";
			if (!empty($mobile)) $sql .= "mobile='$mobile',";
			if (!empty($first_name)) $sql .= "first_name='$first_name',";
			if (!empty($family_name)) $sql .= "fam_name='$family_name',";
			if (!empty($email)) $sql .= "email='$email',";

			$sql = substr($sql, 0, -1);	// removes trailing ","
			$sql .= " where student_id=$student_id and national_id='$nid'";

			$result = mysql_query($sql);
			if (!$result)
			{
				die('Unable to update: ' . mysql_error());
			}
		}

		$result = mysql_query("select * from cs where student_id=$student_id and national_id='$nid'");
		if (!$result)
		{
			die('Invalid query: ' . mysql_error());
		}
?>
<table>
<thead>
	<tr>
		<th>Student ID</th>
		<th>National ID</th>
		<th>Name</th>
		<th>Faculty</th>
		<th>Mobile #</th>
		<th>First name</th>
		<th>Family name</th>
		<th>Email</th>
		<th>Registered</th>
	</tr>
</thead>
<tbody>
<?php
		while ($r = mysql_fetch_assoc($result))
		{
?>
	<tr>
		<td class="c"><?php echo $r['student_id'] ?></td>
		<td class="c"><?php echo $r['national_id'] ?></td>
		<td><?php echo $r['name'] ?></td>
		<td><?php echo $r['faculty'] ?></td>
		<td class="c"><?php echo $r['mobile'] ?></td>
		<td><?php echo $r['first_name'] ?></td>
		<td><?php echo $r['fam_name'] ?></td>
		<td class="c"><?php echo $r['email'] ?></td>
		<td class="c"><?php echo $r['reg'] ?></td>
	</tr>
<?php
		}
?>
</tbody>
</table>

<form method="post" action="">
<input type="hidden" name="u" value="1" />
<input type="hidden" name="student_id" value="<?php echo $student_id ?>" />
<input type="hidden" name="nid" value="<?php echo $nid ?>" />
<table>
<tbody>
	<tr>
		<td class="l">Mobile #:</td>
		<td><input type="textbox" name="mobile" size="80" /></td>
	</tr>
	<tr>
		<td class="l">First name:</td>
		<td><input type="textbox" name="first_name" size="80" /></td>
	</tr>
	<tr>
		<td class="l">Family name:</td>
		<td><input type="textbox" name="family_name" size="80" /></td>
	</tr>
	<tr>
		<td class="l">Email address:</td>
		<td><input type="textbox" name="email" size="80" /></td>
	</tr>
	<tr>
		<td colspan="2" class="c"><input type="submit" value="Update" /></td>
	</tr>
</tbody>
</table>
</form>
<?php
	} else if ($count > 1) {
		echo 'Something went wrong, multiple records found';
	} else {
		echo 'Invalid supplied information, no record has been found';
	}
	mysql_close($con);
?>
</div>
<?php
}
?>
</body>
</html>

انت انسان احترافي ومبداع لا استطيع ان اوفيك حقك بالكلامات

مواضيع مشابهة