2017-01-16 161 views
-2

我正在寻找一种将大量数据放入一个数组然后将其放入MySQL数据库的方法。我被建议制作一个数组,然后使用JSON将它放到数据库的单元格中。但是,我不确定如何操作。我这样做的原因是数据库表中没有30多个不需要的列。它所在的网站正在使用树枝。如何将数组放入JSON格式到SQL数据库中?

数组将持有字符串的数据,一个是用户对某个问题是否回答“是”或“否”,然后另一个是为什么用户不回答该问题。

如果有人能够给我一个如何做我需要做的事情的例子,那就太好了。请询问你是否有问题。

从进一步研究这个问题,我发现它可以减少需要大量的问题,而是使问题变得更少。这需要使用JSON。

该程序正在使用PHP

+0

您可以用'json_encode()'用JSON编码数组(我假设,因为PHP其你使用的标签)。 http://php.net/manual/en/function.json-encode.php – Kisaragi

+0

这就是你如何使用树枝制作数组,我也需要帮助。 – UnknownPerson

+0

嗯,我看我想。你想要一个数组?你在循环数据吗?你想解析文本吗?这太模糊了。 – Kisaragi

回答

0

希望这回答你的问题做出。我正在做类似的事情。

// Sample JSON where student has diploma. 
{ 
    "High_School": "American High School", 
    "HS_Diploma": true, 
    "HS_Diploma_date": "30-JUN-1997" 
} 

// Sample JSON where student does not have diploma. 
{ 
    "High_School": "American High School", 
    "HS_Diploma": false, 
    "HS_Diploma_date": null 
} 

$diploma = false; // Set default to false. 
$diploma_date = null; // Set default data to null. 

// Get Radio button 'diploma' which is set to 1 for yes. 
if ($form->get("diploma")->getData() == 1){ 
    $diploma = true; // Set boolean to true for yes. 
} 
if($diploma){ // If above boolean is true, student has HS diploma 
    $diploma_date = $form->get("diploma_date")->getData(); // So get the date. 
} 

// Creates a PHP array. 
$high_school_array = array(
    "High_School" => $form->get("high_school")->getData(), 
    "HS_Diploma" => $diploma, 
    "HS_Diploma_date" => $diploma_date->format('d-M-Y') 
); 

// Encode to JSON and set in Entity (here called $app), where setHSInfo() is the $app Entity 
// function that takes in a string (JSON encoded). 
$app->setHSInfo(json_encode($high_school_array)); 

// Store to database. 
$em->persist($app); 
$em->flush(); 

然后在一个控制器,从数据库得到的,你需要解码的JSON,然后传递给 您的嫩枝文件,你可以轻松使用它:


// Where getAppHSInfo function returns the $high_school_array encoded array above from the db. 
return $this->render('viewHSDetails.html.twig', array(
     'hs_json' => json_decode($app->getAppHSInfo(), true), 
)); 

然后在枝条文件,你可以方便地使用它:

Education Information:<br/> 
High School attended: {{ hs_json['High_School'] }}<br/> 
{% if hs_json['HS_Diploma'] %} 
    Diploma Yes - Date: {{ hs_json['HS_Diploma_date'] }} 
{% else %} 
    Diploma No 
{% endif %} 
相关问题