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

ادخال بيانات من ملف نصي الى قاعدة بيانات

بدأه akram في 8 نوفمبر 2009 · 15 رد · 1,656 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

انا عندي ملف يحتوي على مايقرب 10000 ملخص لاوراق علميه وابحاث (abstracts form pubmed) ارغب في ادخال هذا الكم الهائل من المعلومات الى قاعدة بيانات....

لذلك اسئل فيما اذا كانت هناك طريقة او كود معين لادخال هذه البيانات بشكل ألى الى جدول مافي قاعدة بيانات...علما ان هذه البيانات عباره عن نصوص(text).

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

نرجوا المساعدة

pubmed_result.zip

زورو موقعنا

www.algabal.com

#2

سأعطيك الفكرة وعليك التنفيذ لانني لضيق الوقت

أولا طرحك للسؤال كان واضحا جدا ... فإعطاء مثال عن الملف يعني نصف الحل

مالاحظته أن جميع الفقرات تبدأ برقم بعده نقطه ثم فراغ يعني

1. text

2. text

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

وبنفس المقارنه نتأكد أن هذه هي نهايه الفقره

الآن يمكنك تخزين بعض اجزاء الفقرات في حقول منفصله مثل

التاريخ في السطر الأول من كل فقره يمكن فصله

2009 Oct 29. [Epub ahead of print]

ومابين الأقواس المربعه يمكن فصله

في آخر كل فقرة يوجد

PMID: 19877282 [PubMed - as supplied by publisher]

وهذا أيضا يمكن فصله وتخزينه في حقل معين داخل الجدول

هذه الفكرة وعليك التطبيق :)

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#3

الاخ paster3 شكرا على الرد.....هل لديك مثال او تكرمت واعطيت مثال على ذلك....او يوجد شئ مشابه...اعني كود مشابه.

زورو موقعنا

www.algabal.com

#4

أولا إسمي bastr3 وليس paster3 :)

ثانيا : هل تقصد مثال أم عمل المطلوب ؟

سأحاول عمل المطلوب ولو أني مشغول جدا ولكن إن لم أستطع فأعلم أنني حاولت

لي عوده إن استطعت تنفيذ ذلك إن شاء الله

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#5

تم الموضوع بنجاح :)

تفضل الكود وفيك تضيف زي ماقلتلك عملية تفصيل أكثر مثل فصل التاريخ والأمور المتشابهه بنفس الطريقة

الكود التالي بفصل كل فقرة لحال وبضعها بلير DIV

$file=file("tst.txt");
echo "<Div style=''>";
foreach($file as $row){
if(ereg("^[0-9]*[\.][ ]", $row)){
	echo "</div><Div style='background: #CCCCCC; border: #666666 3px solid; margin: 13px;'>".$row."<br />";
}else{ echo $row."<br />";  }
}

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#6

الاخ baster3 جزاك الله كل خير يا رجل....ويسر الله لك كل امورك....لكونك والله وفرت علي الوقت لكوني لست بمبرمج محترف انما اردت ان انجز شيئا فقط.

ولكن اسمح لي ان اسال سؤال اخر.......الان الكود يقوم بقرائة الملف واخراجه على المتصفح.....ولكني اريد ان ادخل النص الى جدول في قاعدة البيانات جربت الاضافه الى كودك ولكن لم اتمكن من ادخال النص....

علما ان قاعدة البانات هي junkdb والجدول هو abstracts والذي يحتوي على عمودين هما ID وabstract

والله يفتح عليك مما عنده واعلم انك مشغول ولكن الله سييسر امرك.

 

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db("junkdb", $con);


  $file=file("pubmed_result.txt");
  $sql="INSERT INTO ABSTRACTS (abstract)VALUES('$file')";

echo "<Div style=''>";
foreach($file as $row){
if(ereg("^[0-9]*[\.][ ]", $row)){
	echo "</div><Div style='background: #CCCCCC; border: #666666 3px solid; margin: 13px;'>".$row."<br />";
}else{ echo $row."<br />";  }
}


if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
 include("view.php");
echo "1 record added";
echo "<div style=\"border: 1px solid #000000; 
		width :230px; margin-top: 
		50px;margin-left: 40px;padding:20px 20px 20px; 
		background-color: #F5F5FF;\">";
		echo "Insertion Successful ...</div>";

?>

زورو موقعنا

www.algabal.com

#7

نسيت ان اظيف التالي:

$file=file("pubmed_result.txt");
 $sql="INSERT INTO ABSTRACTS (abstract)VALUES('$file')";
 mysql_query("$sql");

زورو موقعنا

www.algabal.com

#8

تمت التجربه :)

<?
$con = mysql_connect("localhost","root","");
if (!$con) die('Could not connect: ' . mysql_error());
mysql_select_db("junkdb", $con);

$file=file("pubmed_result.txt");

foreach($file as $row){
if(ereg("^[0-9]*[\.][ ]", $row)){
	mysql_query("INSERT INTO abstracts (abstract)VALUES('$act')");$act=$row.'\n\r';
}else{ $act.=$row.'\n\r';  }
}
?>

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#9

ياسلام عليك ورحم الله ولديك.....والله انا عاجز عن الشكر.

ولكن طمعت فيك والله وباذن يكون هذا اخر سؤال باذن الله....

افترض انا الملف تغير تركيبه على شكل xml وبدل ان يتم البحث في الملف على [0-9]*[\.][ ] سيتم البحث في الملف والتزخزين في الجدول بنائا على ثلاث خانات او اعمدة في الجدول وهي

TITLE

ABSTRACT

PUBMED_ID

فبدل البحث على [0-9]*[\.][ ] في الملف اريد البحث على :

articletitle

abstracttext

articleid

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

البحث داخل الملف والتخزين في الجدول.

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

الاقل 10000 خلاصة كلها يجب ان تدخل في قاعدة البيانات....تصور هذا الكم لو قمنا بادخاله يدويا :wacko:

ومشكور وماجور ان شاء الله

اه...نسيت ان الحق الملف. انظر المرفق.

pubmed_result.zip

زورو موقعنا

www.algabal.com

#10

بهذه الحاله أصبح الأمر أسهل بكثير لآن الإكس إم أل نظام يمكن قراءته بكل اللغات تقريبا لآنه حلقة وصل بين اللغات , لذلك ستجد الكثير من الأمثله التي توضح كيف يمكن إستخلاص أي قيمة تريدها ,

أنظر http://www.php.net/manual/en/example.xml-structure.php

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#11

لحظة اخيbast3 ...الملف لا يزال ملف نصي ولكن جعلنا تركيبه كا xml ليسهل البحث على علامة معينة لكل حقل يراد ادخال جزء معين من النص فيه.

ارجوا اللقاء نظرة على الملف..ماهو الا ملف عادي مع الامتدادtxt للرغبه في التسهيل.

ما يراد تغيره فقط هوا المتغيرات ^[0-9]*[\.][ ]", للاسف لم افهم ما المقصود منها.

اخي ارجوا ان تصبر معي..باذن الله لك الاجر

زورو موقعنا

www.algabal.com

#12

في البي أتش بي أنت تتعامل مع نظام ملفات لايعتمد على إمتداد الملف يعني لو غيرت الإمتداد إلى أي شيء لايهم المهم أن محتوى الملف إكس أم أل والأمر في حالة الإكس أم أل أسهل بكثير لوجود الكثير من الدوال التي يمكنها التعامل مع مثل هذه الملفات

أرجو النظر إلى الرابط الذي قمت بإرساله ويمكنك البحث في جووجل عن

xml php

الآن أنا مشغول جدا في حال وجدت الوقت الكافي سأعمل على تنفيذ السكريبت فأنا أعلم أنك تريد سكريبت ولا يهمك كيفيه برمجته :) وهذا فقط لك فهنا نقوم بإعطاء حلول دون تنفيذ العمل ولكن هناك استثناءات :rolleyes:

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#13

اخي الله يفتح عليك وانا في الانتظار

زورو موقعنا

www.algabal.com

#14
bastr3 كتب:

بالنسبه للسؤال الأول إبحث في هذا القسم من المنتدى يوجد مشاركة وهي عباره عن رد لسؤال شبيه بسؤالك

السلام عليكم

استاذ الحمد لله تم العثور عى الموضوع

ولكن ملف عندى مكون من

f: ddddddddddddddd eeeeeeeeeeee

f: ddddddddddddddd eeeeeeeeeeee

f: ddddddddddddddd eeeeeeeeeeee

f: ddddddddddddddd eeeeeeeeeeee

كيف اعمل تقطيع لملف

ارجاء المساعد لقلة خبرة

تم تعديل هذه المشاركة بواسطة shivaa في 1 أكتوبر 2010 في 01:45

#15

ماشاء الله عليكم

قرأت واستمتعت

بارك الله فيكم

#16

كيف ادخال الى قواعد البيانات من ملف نصى txt ---ارجو تصحيح الكود الموجود

بعد تجربه الكود وتعديل عليه على اساس الملف خاص بيه بيدخل سطر واحد فقط

ولا يعمل ادخال بعد ذالك حتى احزف السطر الا ادخله

  <?php
include 'config.php';
$filename = '/var/www/am.txt';
$spliter = ' ';
     $file = fopen($filename , "r") or exit("Unable to open file!");
     //Output a line of the file until the end is reached
     while(!feof($file))
     {
         $text = explode($spliter,fgets($file));
         $user = $text[1];
         $pass = $text[2];
         $SQL = mysql_query ("INSERT INTO users(user,pass) VALUES ('$user','$pass')") or die ("dddddddddddddd");
      }
      fclose($file);

?>

مع العلم ان الملف تنسيقه هو

x: sssssssssssss dddddddddddddd

x: sssssssssssss dddddddddddddd

x: sssssssssssss dddddddddddddd

x: sssssssssssss dddddddddddddd

ناتج اادخال فقط هو سطر واحد من مضمون الملف

الرجاء التصحيح

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…