سوال: نمایش array در خروجی گرفتن از آرایه
#1
Note 
سلام دوستان
من کدی نوشتم میاد همه اطلاعات داخل table  رو سلکت میگیره بعد میخوام که فیلد تاریخ رو به شمسی تبدیل کنم بعد بیاد کل ارایه رو خروجی بده
ولی الان فقط رکورد اخری جدول رو میده و قسمت تاریخ هم میده array و محتواشو نشون نمیده
لطفا اشکالشو بهم بگین
کد php:
function listComplaints()
{
 
   $q "SELECT * FROM `com_complaint` ORDER BY `com_complaint`.`com_dateRegCOM` ASC , `com_state` ASC LIMIT ".($_GET['pagelist']-1)* $pagenumrow ." ,".$_GET['pagelist'] * $pagenumrow ."" ;

 
   $query mysql_query($q) ;
    
$i ;
    while(
$res1mysql_fetch_assoc($query))
    {
        
$array[] = $res1 ;

        
$exp explode"''" ,$res1['com_dateRegCOM'] ) ;
        
$array[$i]['com_dateRegCOM'] = array_map('date_sh' $exp) ;
        
$i $i++ ;
}


پاسخ
#2
سلام
شاید تو LIMIT مشکل وجود داره اول از $array یه خروجی بگیرید ببینید نتیجش درسته یا نه
وقتی نتیجه خروجی آرایه array میشه یعنی آرایه چند بعدی دارید مثل همین $array[$i]['com_dateRegCOM']
در ضمن نحوه خروجی گرفتن رو نذاشتی

پاسخ
#3
Note 
از $array  خروجی گرفتم اون مشکلی نداره و درسته .
من داخل حلقه از [font=nassim, arial]$a[/font][font=nassim, arial]rr[/font][font=nassim, arial]a[/font][font=nassim, arial]y خروجی گرفتم همه رکوردای جدولو میده ولی بیرون حلقه فقط رکورد اخری رو میده و در حالی که میخوام که بیرون حلقه هم همه رکوردا رو بده . تاریخ رو هم array میده چیکارش کنم ؟[/font]
[font=nassim, arial]خروجی رو واسه یه رکورد میذارم [/font]
کد:
array(1) {


[0]=>

array(27) {

["com_companyName"]=>

string(0) ""

["com_namePerson"]=>

string(5) "qqqaa"

["com_ID"]=>

string(3) "444"

["com_nationalCode"]=>

string(10) "1234567890"

["com_middleName"]=>

string(5) "xxxxx"

["com_numberRegistering"]=>

string(0) ""

["com_resident"]=>

string(0) ""

["com_activities"]=>

string(0) ""

["com_referenceName"]=>

string(5) "kkkkk"

["com_license"]=>

string(4) "oooo"

["com_referenceNumber"]=>

string(4) "7777"

["com_dueProtest"]=>

string(60) "قانع نشدن از پاسخ منفی مرجع مسئول"

["com_Descriptions"]=>

string(7) "ppppppp"

["com_oppositionProcceing"]=>

string(0) ""

["com_tell"]=>

string(10) "5555555555"

["com_mobile"]=>

string(10) "9555555553"

["com_email"]=>

string(16) "kkkkkkk@kkkk.com"

["com_address"]=>

string(0) ""

["com_code"]=>

string(15) "LRF9CK6NBYWEMS4"

["com_feedback"]=>

string(0) ""

["com_dateRegCOM"]=>

array(1) {

[0]=>

string(8) "1393/9/2"

}

["com_dateRegFEED"]=>

string(10) "0000-00-00"

["com_state"]=>

string(1) "0"

["com_mardoud"]=>

string(1) "0"

["document1"]=>

string(0) ""

["document2"]=>

string(0) ""

["document3"]=>

string(0) ""

}

}

آخرین ویرایش: 27-11-2014 ساعت 00:27، توسط mahbobe.prog
پاسخ
#4
اول از همه یه تذکر بدم به خاطر عنوانی نامناسبی که برای تاپیک انتخاب کردین!!! لطفا از عناوین مرتبط با موضوع سوال استفاده کنید.
خروجی رو که از دیتابیس می گیرید داخل var_dump قرار بدین تا در صفحه چاپ بشه و ببینید نتیجه خروجی چیه. اینجا هم نتیجه رو بذارید

پس مشکلی در کد دیتابیس نیست. چون با فیلد تاریخ مشکل دارین به نظرم مربوط میشه به اینکه شما تاریخ رو به صورت فارسی در دیتابیس ذخیره کردین درسته؟
بهتره در دیتابیس تاریخ و یا زمان رو با فرمت های مناسب تر یعنی فرمت هایی که مثلا تابع time میده ذخیره کنید و برای تغییر به تاریخ شمسی بعد از خروجی گرفتن از دیتابیس از کلاس های تبدیل کننده تاریخ شمسی استفاده کنید

آخرین ویرایش: 27-11-2014 ساعت 00:27، توسط rockstar
توتال دیزاین
مرجع تخصصی طراحی وب سایت ، وب اپلیکیشن و سیستم های مدیریت همایش, ویندوز اپلیکیشن
و هر آنچه شما بخواهید...
پاسخ
#5
[font=nassim, arial]باشه توی انتخاب عناوین بیشتر دقت میکنم .[/font]
نه من تاریخ رو به میلادی در دیتابیس ذخیره کردم و موقعی که تاریخ شمسی لازم دارم تبدیلش میکنم
وردامپ رو واسه یه رکورد گذاشتم . 

پاسخ
#6
این موضوعی رو که الان میگم شاید دلیل منطقی نداشته باشه. یبار که در کد از این دستور استفاده کردم:
کد:
while($res1= mysql_fetch_assoc($query))
تا آرایه ها رو پیمایش کنم برای کد مشکل پیش اومد و نتیجه نمیداد برای همین از foreach بجای دستور بالا استفاده کردم. اینو گفتم چون من مشکلی در کد شما ندیدم شاید سایر دوستان بهتر بتونن کمک کنن به هر حال پیشنهادی هست از طرف من میتونید امتحان کنید اگر جواب داد نتیجه رو بذارین اینجا

توتال دیزاین
مرجع تخصصی طراحی وب سایت ، وب اپلیکیشن و سیستم های مدیریت همایش, ویندوز اپلیکیشن
و هر آنچه شما بخواهید...
پاسخ
#7
Note 
(27-11-2014 ساعت 00:36)rockstar نوشته است:  این موضوعی رو که الان میگم شاید دلیل منطقی نداشته باشه. یبار که در کد از این دستور استفاده کردم:

کد:
while($res1= mysql_fetch_assoc($query))
تا آرایه ها رو پیمایش کنم برای کد مشکل پیش اومد و نتیجه نمیداد برای همین از foreach بجای دستور بالا استفاده کردم. اینو گفتم چون من مشکلی در کد شما ندیدم شاید سایر دوستان بهتر بتونن کمک کنن به هر حال پیشنهادی هست از طرف من میتونید امتحان کنید اگر جواب داد نتیجه رو بذارین اینجا

لطف کردین ممنون
من دارم با حلقه while خروجی رو میگیرم .
مشکل من سر همون دو موردی که توی پستای قبلیم گفتم هستش Undecided

پاسخ
#8
این مورد رو امتحان کنید ببینید نتیجه چیه. فیلد تاریخ رو که آرایه خروجی میده فراخوانی کنید و ازش var_dump بگیرید

توتال دیزاین
مرجع تخصصی طراحی وب سایت ، وب اپلیکیشن و سیستم های مدیریت همایش, ویندوز اپلیکیشن
و هر آنچه شما بخواهید...
پاسخ
#9
با مورد شما امتحان کردم نشد
با همون حلقه while وردامپ رو خروجی میده .
قسمت اینکه تاریخ array میداد درست شد - تاریخ که ارایه میداد  رو به رشته تبدیل کردم و دوباره داخل همون متغیر  $array[$i]['com_dateRegCOM'] ذخیره کردم و درست شد .
ولی اینکه بیرون حلقه متغیر [font=nassim, arial]a[/font][font=nassim, arial]rray [/font]$ رو وردامپ میزنم فقط رکورد اخری رو میده ولی من میخوام که همه رکورد ها رو بده چیکارش کنم ؟
کد php:
function listComplaints()
{
 
   $q "SELECT * FROM `com_complaint` ORDER BY `com_complaint`.`com_dateRegCOM` ASC , `com_state` ASC LIMIT ".($pagelistall-1)*$pagenumrow ." ,".$pagelistall $pagenumrow ."" ;
 
   $query mysql_query($q) ;
    
$i ;
    while(
$res1mysql_fetch_assoc($query))
    {
        
$array[$i] = $res1 ;
        
$exp explode"''" ,$res1['com_dateRegCOM'] ) ;
        
$array[$i]['com_dateRegCOM'] = array_map('date_sh' $exp) ;
        
$array[$i]['com_dateRegCOM']= implode'' $array[$i]['com_dateRegCOM']) ;
        
$i $i++ ;
}
var_dump($array) ;

کد:
array(1) {
 [0]=>
 array(27) {
   ["com_companyName"]=>
   string(0) ""
   ["com_namePerson"]=>
   string(5) "qqqaa"
   ["com_ID"]=>
   string(3) "444"
   ["com_nationalCode"]=>
   string(10) "1234567890"
   ["com_middleName"]=>
   string(5) "xxxxx"
   ["com_numberRegistering"]=>
   string(0) ""
   ["com_resident"]=>
   string(0) ""
   ["com_activities"]=>
   string(0) ""
   ["com_referenceName"]=>
   string(5) "kkkkk"
   ["com_license"]=>
   string(4) "oooo"
   ["com_referenceNumber"]=>
   string(4) "7777"
   ["com_dueProtest"]=>
   string(60) "قانع نشدن از پاسخ منفی مرجع مسئول"
   ["com_Descriptions"]=>
   string(7) "ppppppp"
   ["com_oppositionProcceing"]=>
   string(0) ""
   ["com_tell"]=>
   string(10) "5555555555"
   ["com_mobile"]=>
   string(10) "9555555553"
   ["com_email"]=>
   string(16) "kkkkkkk@kkkk.com"
   ["com_address"]=>
   string(0) ""
   ["com_code"]=>
   string(15) "LRF9CK6NBYWEMS4"
   ["com_feedback"]=>
   string(0) ""
   ["com_dateRegCOM"]=>
   string(8) "1393/9/2"
   ["com_dateRegFEED"]=>
   string(10) "0000-00-00"
   ["com_state"]=>
   string(1) "0"
   ["com_mardoud"]=>
   string(1) "0"
   ["document1"]=>
   string(0) ""
   ["document2"]=>
   string(0) ""
   ["document3"]=>
   string(0) ""
 }
}

پاسخ
#10
اون آرایه ای که میخواین var_dump ازش بگیرید یک آرایه چند بعدی هست احتمالا پس باید با یک حلقه یا foreach پیمایش بشه و ازش var_dump بگیرید

توتال دیزاین
مرجع تخصصی طراحی وب سایت ، وب اپلیکیشن و سیستم های مدیریت همایش, ویندوز اپلیکیشن
و هر آنچه شما بخواهید...
پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note خطای Notice: Array to string conversion Daniel 0 778 31-01-2015 ساعت 17:25
آخرین ارسال: Daniel

کاربرانِ درحال بازدید از این موضوع:   1 مهمان