PDA

View Full Version : گرفتن خروجي با فايل



skarimi1369
شنبه 22 شهریور 1393, 13:47 عصر
باسلام
بخواهيم در پنل مديريتي لينكي قرار بديم كه با كليك روي آن
اطلاعاتي ازديتابيس سايت جدول و فيلد خاصي گزارش تهيه شده و فايل بصورت مثل .txt ذخيره شود بايد چه كرد
لطفا كامل راهنمايي كنيد بلد نيستم اين مورد رو

godofphp
شنبه 22 شهریور 1393, 14:03 عصر
خب شما ابتدا باید اطلاعات رو از پایگاه داده واکشی فرمائید -- درصورت اینکه بلد نیستید بگید بیشتر توضیح بدم قسمت اتصال php به پایگاه داده را
بعد اینکه اطلاعات رو خوندید باید یک فیلدی که مورد نظر شما میباشد رو با تابع نوشتن php بنویسید توی فایلی



<?php$new_name=rand(0,10000000);$myfile = fopen("$new_name", "w") or die("Unable to open file!");$txt = "متغیری که متن مورد نظر شما درون آن میباشد";fwrite($myfile, $txt);fclose($myfile);?>

skarimi1369
شنبه 22 شهریور 1393, 14:40 عصر
تشكر ولي الآن كد زير رو دارم
فايل با پسوند txt ذخيره ميشه ولي داخلش مينويسه array
شماره هارو نشان نداد هر شماره ميخوام در يك خط نشان داده شود
مثل
09124235466654
09565556565545
093564587585465

<html>
<body>
<?php
require_once(dirname(__FILE__).'/../../config.php');

$link = mysql_connect(XEON_DB_HOST, XEON_DB_USER, XEON_DB_PASS) or die(_OP_ERROR('IPN_PP: DB/CONNECT; FATAL ERROR!', __FILE__, __LINE__));
mysql_select_db(XEON_DB_DBNA);

if ($link){

$new_name=rand(4,444466666688888888);
$myfile = fopen("$new_name.txt", "w") or die("Unable to open file!");
$topuser = mysql_query("SELECT `x_hamrah` FROM `xeon_users`");
$topuser1 = mysql_fetch_array($topuser);
$topuser2 = mysql_num_rows($topuser);
$arr = mysql_fetch_array($topuser);

$txt = "$arr";
fwrite($myfile, $txt);
fclose($myfile);

}else{
echo 'عدم اتصال به ديتابيس';
die('Could not connect: ' . mysql_error());
}
mysql_close($link);
?>
</body>
</html>

godofphp
شنبه 22 شهریور 1393, 22:14 عصر
فايل با پسوند txt ذخيره ميشه ولي داخلش مينويسه array


درستش هم همینه چون مقادیری که از پایگاه داده بر میگرده داخل یک آرایه قرار میگیره و شما همینجوری نمیتونید اونها رو توی فایل بنویسید میتونید داخل یک حلقه بزارید و دونه دونه اون رو به فایل اضافه کنید یا میتونید از توابعی مانند implode() که میاد یک آرایه رو رشته ای میکنه استفاده کنید

اون بالا خط 18 رو تغییر بده به



$txt = implode(",", $arr);

skarimi1369
یک شنبه 23 شهریور 1393, 16:28 عصر
سلام كد زير گذاشتم ولي نتيجه شد فقط
0,0
هيچ شماره اي خروجي نداد 1800 شماره هست
فقط آخرين كاربر كه عضو شده ميدهد
ولي ميخواهم شماره همه رو در يك فايل ذخيره متني كنه
<html>
<body>
<?php
require_once(dirname(__FILE__).'/../../config.php');

$link = mysql_connect(XEON_DB_HOST, XEON_DB_USER, XEON_DB_PASS) or die(_OP_ERROR('IPN_PP: DB/CONNECT; FATAL ERROR!', __FILE__, __LINE__));
mysql_select_db(XEON_DB_DBNA);

if ($link){

$new_name=rand(4,444466666688888888);
$myfile = fopen("$new_name.txt", "w") or die("Unable to open file!");
$topuser = mysql_query("SELECT `x_hamrah` FROM `xeon_users` where `x_hamrah`!='' limit 4000000000");
$arr = mysql_fetch_array($topuser);

$txt = implode(",", $arr);
fwrite($myfile, $txt);
fclose($myfile);

}else{
echo 'عدم اتصال به ديتابيس';
die('Could not connect: ' . mysql_error());
}
mysql_close($link);
?>
</body>
</html>

skarimi1369
یک شنبه 23 شهریور 1393, 16:45 عصر
از حلقه استفاده كردم ولي
بخاطر
خط
$txt = implode(",", $arr);
خطا داد
Fatal error: Maximum execution time of 60 seconds exceeded in /home/jaragh/domains/jaragheirani.ir/public_html/bux/sites/acp/inc.admin.mobile.php on line 24
<html>
<body>
<?php
require_once(dirname(__FILE__).'/../../config.php');

$link = mysql_connect(XEON_DB_HOST, XEON_DB_USER, XEON_DB_PASS) or die(_OP_ERROR('IPN_PP: DB/CONNECT; FATAL ERROR!', __FILE__, __LINE__));
mysql_select_db(XEON_DB_DBNA);

if ($link){

$new_name=rand(4,444466666688888888);
$myfile = fopen("$new_name.txt", "w") or die("Unable to open file!");

$WAIT_ADS = mysql_query("SELECT COUNT(`id`) FROM `xeon_users`");
$WAIT_ADS = mysql_fetch_array($WAIT_ADS);
$USERS = $WAIT_ADS[0];

$topuser = mysql_query("SELECT `x_hamrah` FROM `xeon_users`");
$arr = mysql_fetch_array($topuser);

$USERS--;

for ($i=0;$i=$USERS;$i++){
$txt = implode(",", $arr);

}

fwrite($myfile, $txt);
fclose($myfile);

}else{
echo 'عدم اتصال به ديتابيس';
die('Could not connect: ' . mysql_error());
}
mysql_close($link);
?>
</body>
</html>

shahriyar3
یک شنبه 23 شهریور 1393, 16:50 عصر
از حلقه while برای گرفتن خروجی باید استفاده کنی


while($arr = mysql_fetch_array($topuser)){
fwrite($arr['x_hamrah'], $txt);
}

skarimi1369
دوشنبه 24 شهریور 1393, 12:09 عصر
سلام كد شد
ولي حاصل يك فايل كاملا خالي هست












اتصالات ايرادي ندارهيكechoهست كه تعداد اعضا درست برميگردونه
<html>
<body>
<?php
require_once(dirname(__FILE__).'/../../config.php');

$link = mysql_connect(XEON_DB_HOST, XEON_DB_USER, XEON_DB_PASS) or die(_OP_ERROR('IPN_PP: DB/CONNECT; FATAL ERROR!', __FILE__, __LINE__));
mysql_select_db(XEON_DB_DBNA);

if ($link){

$new_name=rand(4,444466666688888888);
$myfile = fopen("$new_name.txt", "w") or die("Unable to open file!");

$WAIT_ADS = mysql_query("SELECT COUNT(`id`) FROM `xeon_users`");
$WAIT_ADS = mysql_fetch_array($WAIT_ADS);
$USERS = $WAIT_ADS[0];
echo $USERS;

$topuser = mysql_query("SELECT * FROM `xeon_users`");

while($arr = mysql_fetch_array($topuser)){
fwrite($arr['x_hamrah'], $txt);
}

fclose($myfile);

}else{
echo 'عدم اتصال به ديتابيس';
die('Could not connect: ' . mysql_error());
}
mysql_close($link);
?>
</body>
</html>

skarimi1369
سه شنبه 25 شهریور 1393, 10:30 صبح
سلام کسی نیست کمک کنه

skarimi1369
جمعه 28 شهریور 1393, 09:36 صبح
هيچ كس بلد نيست

skarimi1369
شنبه 05 مهر 1393, 18:38 عصر
نبود ذفقتا فرد كار بلد