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

طلب مساعده بسيط عن طريقة تحديد نوع المتغير عند القراءه من ملف نصي

بدأه FunnyWolF في 28 أكتوبر 2008 · 12 رد · 1,039 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

#2

السلام عليكم ..

هل قمت بإرفاق البرنامج حتى يتم المحاوله ؟

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#3

طبعا انا مابي اسوي صفحة نت,ابي سكربت يشتغل على الجهاز عندي

وانا استخدم نظام LINUX بحيث اني اكتب امر تشغيل البرنامج في سطر الاوامر ويقوم البرنامج بطباعة محتويات الtxt على الشاشه

وهذا الكود اللي انا مسويه

#!/usr/bin/php -q
<?php
$fileopen = fopen("/home/portofolio.txt", "r");
print ("fileopen");
?>

والملف الtxt اللي ابي اطبعه موجود في المرفقات

New.zip

تم تعديل هذه المشاركة بواسطة FunnyWolF في 29 أكتوبر 2008 في 04:12

#4

يمكنك ذلك من خلال استخدام اي من دوال التقسيم في الـ PHP . على افتراض ان قراءه السجلات من الملف النصي الخاص بك دائماً تبدأ من السطر الثالث , يمكنك كتابه كود يشبه التالي :

  1.  
  2. <?php
  3. $fileopen = fopen("portofolio.txt", "r");
  4.  
  5. //To go to the third line
  6. for ($i=0;$i<2;$i++)
  7. echo fgets($fileopen);
  8.  
  9.  
  10. $data= preg_split("/s+/", fgets($fileopen) ) ;
  11. echo "<pre>";
  12. print_r($data);
  13. echo "</pre>";
  14. ?>
  15.  

والخرج سيكون يشبه :

Array
(
	[0] => 
	[1] => BMW
	[2] => 318
	[3] => 2
	[4] => 49880.00
	[5] => 
)

ارجو ان تكون وضحت الفكره ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#5

الف شكر لك اخي

محمد معاشر

طيب انا ابي اقوم بعمليه حسابيه عالارقام اللي موجوده في الجدول

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

ولكن كيــــــــــــــف ؟

#6
اقتباس
طيب انا ابي اقوم بعمليه حسابيه عالارقام اللي موجوده في الجدول

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

ولكن كيــــــــــــــف ؟

هل حاولت ؟

كل ماعليك عمل عمليه ضرب عادية جداً , كالتالي :

echo $data[3]*$data[4];

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#7

المشكله اللي واجهتني اني ابيه هو يقرأ الارقام لأني لاحقا راح اغير الارقام اللي في الجدول

كيف اسوي لوب ويلف على كل الاسطر ويجري عمليه حسابيه ؟

لانو انا ما ابي اعققد البرنامج

هذا لوب القراءه

<?php
$fileopen = fopen("portofolio.txt", "r");
for ($i=0;$i<12;$i++)
echo fgets($fileopen);
?>

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

واخي انا خبرتي في الPHP خبرة مبتدء جدا :D

والف شكر على تجاوبك معي اخي

تم تعديل هذه المشاركة بواسطة FunnyWolF في 30 أكتوبر 2008 في 06:12

#8

$fileopen = fopen("portofolio.txt", "r");

for ($i=0;$i<12;$i++) {

echo fgets($fileopen);

echo $data[3]*$data[4];

// ضع كل ماتريده فأنت داخل اللوب

}

أعتذر وبشده عن انقطاعي.. وذلك بسبب مشروعي الجديد

-------------------

100(سبحان الله وبحمده، سبحان الله العظيم) = 0 سيئة

-------------------

dssighg7.png

#9

انا حاولت بالكود هذا

<?php
$fileopen = fopen("portofolio.txt", "r");
for ($i=0;$i<12;$i++)
{
echo fgets($fileopen);
echo $data[3]*$data[4];
}
?>

لكن يطلعلي هذا الغلط

Undefined variable

عند الجمله هذه

echo $data[3]*$data[4];

فماذا تتوقعون الغلط ياشباب ؟

وزي ماقلتلكم انا لسا مبتدئ عالPHP وياريت المساعده :P

#10

طيب ياشباب انا عدلت عالكود شوي لكن يعطيني مشكله او غلط عند $sum فما ادري, اي خبره او مساعده للفهم ؟

وهذا الكود

<?php
$fileopen = fopen("portofolio.txt", "r");
for ($i=0;$i<12;$i++)
{
echo fgets($fileopen);
}
$sum = 0;
for ($i=1;$i<12;$i++)
{
$sum = $sum + ($data[3]*$data[4]); //the problem in this line
}
echo "the total is : ".$sum;
fclose ($fileopen);
?>
#11

عزيزي

بالتأكيد سيظهر خطأ

فإن المصفوفة $data غير معرفه

اقتباس
$data= preg_split("/\s+/", fgets($fileopen) ) ;

راجع المشاركه رقم 4 للاخ محمد معاشر

بالتوفيق

أعتذر وبشده عن انقطاعي.. وذلك بسبب مشروعي الجديد

-------------------

100(سبحان الله وبحمده، سبحان الله العظيم) = 0 سيئة

-------------------

dssighg7.png

#12

طيب اخواني , انا طبقت البتاع ده لكن في مشكله صغيره عند الكود التالي

$sum +=($data[3]*$data[4]);

علما باني معرف الsum تساوي صفر

ويعطيني الغلط التالي عندها

Undefined offset

وهذا الكود ككل

<?php
$fileopen = fopen("portofolio.txt", "r");
for ($i=0;$i<12;$i++)
{
echo fgets($fileopen);
}
$data= preg_split("/\s+/", fgets($fileopen) );
$sum = 0;
for ($i=1;$i<12;$i++)
{
$sum +=($data[3]*$data[4]);
}
echo "the total is : ".$sum;
fclose ($fileopen);
?>

فأين الغلط عند هذه الجمله

#13

تفضل عزيزي

<?php

$filePath = '/home/deadsoul/Desktop/portofolio.txt';

$handle = fopen($filePath, "r");
$i = 0;
$data[]='';
while (!feof($handle)) {
	$data[] = preg_split("/\s+/",fgets($handle,4096));
	$data[$i][0] = $data[$i][3]*$data[$i][4];
	array_pop($data[$i]);
	$i++;
}
fclose ($handle);

echo'<pre>';
print_r($data);
echo'</pre>';

?>

المتغير $data هو مصفوفه من الدرجه الثانيه

حيث ان الدرجه الاولى تمثل عدد الاسطر في الملف

والثانية تمثل محتويات السطر

فمثلا السطر 5

$data[5] يمثل مصفوفه

$data[5][0] = total (qua * price)

$data[5][1] = name

$data[5][2] = model

$data[5][3] = quantity

$data[5][4] = price

ملاحظة: ما اجمل هذا الموقع php.net ;)

بالتوفيق

أعتذر وبشده عن انقطاعي.. وذلك بسبب مشروعي الجديد

-------------------

100(سبحان الله وبحمده، سبحان الله العظيم) = 0 سيئة

-------------------

dssighg7.png

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

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

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

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

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