• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در تعریف آرایه و برگشت دادن یک آرایه
#1
سلام من دارم برای یک برنامه اندرویدی ، صفحه ی لاگین می نویسم. داخل اینجا می خوام با استفاده از php تمام اطلاعات از جدول کاربران رو بگیرم.
کد های زیر:
کد پی‌اچ‌پی:
<?php
$con
=mysqli_connect("mysql.xzn.ir","123_aas","123","123_aas");
// Check connection
if (mysqli_connect_errno()){
    echo 
"Failed to connect to MySQL: " mysqli_connect_error();
}
$result mysqli_query($con,"SELECT * FROM user");
while(
$row mysqli_fetch_array($result)){
    
$temp=array();
        
        
$temp["name"]=$row["name"];
        
$temp["email"]=$row["email"];
        
$temp["pass"]=$row["pass"];
        
$temp["imageid"]=$row["imageid"];
        
$temp["credit"]=$row["credit"];
        
$temp["state"]=$row["state"];
        
        
$response["user"]=array();
        
array_push($response["user"],$temp);
        
        
$response["t"]=1;
        echo 
json_encode($response);
}
mysqli_close($con);
?>

داخل برنامه که می رسم ، آرایه ی user که تعریف کردم توی کد های بالا ، فقط یک مقدار(اولی) رو بر می گردونه! چرا؟ چیکار کنم؟
  پاسخ
تشکر شده توسط :
#2
اینطوری بنویس این قسمتو

کد پی‌اچ‌پی:
while($temp mysqli_fetch_array($result)){ 

ارایه ای هم که نوشتی رو پاک کن
اینو پاکش کن کلا
کد پی‌اچ‌پی:
$temp=array(); 
  پاسخ
تشکر شده توسط : sadeghmohebbi
#3
اصلاح کردم
نتیجه ی اجرای json یه کم عجیب شد...این مقدار های null چیه؟؟
کد پی‌اچ‌پی:
{"user":[{"0":"1","id":"1","1":"sadegh mohebbi","name":null,"2":"[email protected]","email":null,"3":"2221689","pass":null,"4":"notset","imageid":null,"5":"notset","credit":null,"6":"notset","state":null}],"t":1}{"user":[{"0":"8","id":"8","1":"hadimohebbi","name":null,"2":"[email protected]","email":null,"3":"hahshahs","pass":null,"4":"notset","imageid":null,"5":"notset","credit":null,"6":"notset","state":null}],"t":1

و کد هم آخرش این شد:
کد پی‌اچ‌پی:
<?php
$con
=mysqli_connect("mysql.xzn.ir","123_aas","123","123_aas");
// Check connection
if (mysqli_connect_errno()){
    echo 
"Failed to connect to MySQL: " mysqli_connect_error();
}
$result mysqli_query($con,"SELECT * FROM user");
while(
$temp mysqli_fetch_array($result)){
        
    
$temp["name"]=$row["name"];
    
$temp["email"]=$row["email"];
    
$temp["pass"]=$row["pass"];
    
$temp["imageid"]=$row["imageid"];
    
$temp["credit"]=$row["credit"];
    
$temp["state"]=$row["state"];
    
    
$response["user"]=array();
    
array_push($response["user"],$temp);
    
    
$response["t"]=1;
    echo 
json_encode($response);
}
mysqli_close($con);
?>
داخل جدول سطری که null باشه نداره ولی اینجا nullاضافه می کنه! مشکل کجاست؟
  پاسخ
تشکر شده توسط :
#4
کد پی‌اچ‌پی:
$temp=array(); 
این خط رو قبل از حلقه بذار ببین نتیجه چی میده یعنی داخل حلقه استفاده نکن ازش
مشکلت با این دیگه حل میشه صد در صد
  پاسخ
تشکر شده توسط :
#5
کد پی‌اچ‌پی:
{"user":[{"0":"1","id":"1","1":"sadegh mohebbi","name":null,"2":"[email protected]","email":null,"3":"2221689","pass":null,"4":"notset","imageid":null,"5":"notset","credit":null,"6":"notset","state":null}],"t":1}{"user":[{"0":"8","id":"8","1":"hadimohebbi","name":null,"2":"[email protected]","email":null,"3":"hahshahs","pass":null,"4":"notset","imageid":null,"5":"notset","credit":null,"6":"notset","state":null}],"t":1
این شد نتیجه:
و پایین هم شد کد:
کد پی‌اچ‌پی:
<?php
$con
=mysqli_connect("mysql.xzn.ir","123_aas","123","123_aas");
// Check connection
if (mysqli_connect_errno()){
    echo 
"Failed to connect to MySQL: " mysqli_connect_error();
}
$temp=array();
$result mysqli_query($con,"SELECT * FROM user");
while(
$temp mysqli_fetch_array($result)){
        
    
$temp["name"]=$row["name"];
    
$temp["email"]=$row["email"];
    
$temp["pass"]=$row["pass"];
    
$temp["imageid"]=$row["imageid"];
    
$temp["credit"]=$row["credit"];
    
$temp["state"]=$row["state"];
    
    
$response["user"]=array();
        
array_push($response["user"],$temp);
    
       
$response["t"]=1;
        echo 
json_encode($response);
}
mysqli_close($con);
?>

بازم همون شد...به نظرم اگه $temp داخل شرط حلقه بذارم $row نتیجه می ده ولی انگار غیر منطقی میاد(داره سطر ها رو توی temp می ریزه ولی ما با row مقایسه کنیم) چی کار کنم؟
  پاسخ
تشکر شده توسط :
#6
خخخخخخخخخخخخخخخ
گفتم دیگه ارایرو از حلقه ببر بیرون بعد اون کد قبلیتو بنویس یعنی row
کد پی‌اچ‌پی:
$temp=array();
$result = mysqli_query($con,"SELECT * FROM user");
while(
$row= mysqli_fetch_array($result)){ 
  پاسخ
تشکر شده توسط : sadeghmohebbi


پرش به انجمن:


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