Page 1 sur 1

mise en place d'un Json

Posté : 03 juin 2015, 09:30
par alf78fr
Bonjour a toutes et a tous

je travailles avec codeigniter je suis entrain de faire un principe de recherche dans une base de donné que je dois traiter dans la "vue" an Jquery donc j'encode un json

mon probléme est le suivant
$InstallationFils=$this->installation_model->getInstallation($valeurAutocomplete[$i]);
                    foreach ($InstallationFils as $r)
                    {
                    $valeurRetour[$i][0]= $r->InstallationPere;
                       
                     
                    }
ksort($valeurRetour);     
echo json_encode($valeurRetour); 
echo '<pre>';
var_dump($valeurRetour);
echo '</pre>';
j'ai un resultat correcte ===> [["99"],["99"]]

mais si j'ajoute
$valeurRetour[$i][1]= $valeurAutocomplete[$i];


j'ai cela comme resultat ===> [{"1":"100","0":"99"},{"1":"100","0":"99"}]

j'ai les keys qui apararesse dans mon json ?

voici le code au complet
if (in_array($valeurAutocompleteId[$i],$valeurniveau2)){
                  $InstallationFils=$this->installation_model->getInstallation($valeurAutocompleteId[$i]);
                  foreach ($InstallationFils as $r)
                    {
                    $valeurFils = $r->InstallationPere;
                    }
                    
                   $valeurRetour[$i][2]= $valeurAutocompleteId[$i];
                   $valeurRetour[$i][1]= $valeurAutocomplete[$i];
                    //array_unshift($valeurRetour[$i],"10");   
                    
                    $InstallationFils=$this->installation_model->getInstallation($valeurAutocomplete[$i]);
                    foreach ($InstallationFils as $r)
                    {
                    $valeurRetour[$i][0]= $r->InstallationPere;
                       
                     
                    }
merci pour votre aide

Re: mise en place d'un Json

Posté : 03 juin 2015, 09:54
par HippyZ
Bonjour,

Quelles données doit contenir le json final ?

Re: mise en place d'un Json

Posté : 03 juin 2015, 10:05
par alf78fr
Actuellement j'ai sa
[{"1":"100","0":"99"},{"1":"100","0":"88"}]

je devrais avoir sa: [ ["100","99"],["100","88"]]

Re: mise en place d'un Json

Posté : 03 juin 2015, 10:13
par HippyZ
Actuellement j'ai sa
[{"1":"100","0":"99"},{"1":"100","0":"88"}]

je devrais avoir sa: [ ["100","99"],["100","88"]]
Dans le tableau le 99, 88, ...

Est retrouné par ça "$valeurFils = $r->InstallationPere;" ?

Le 100 provient de quoi ?

Re: mise en place d'un Json

Posté : 03 juin 2015, 10:18
par alf78fr
pardon voila le résultat [{"2":"1","1":"100","0":"99"},{"2":"204","1":"100","0":"88"}]
Sachant que que le 100 est donne par $valeurRetour[$i][1]= $valeurAutocomplete[$i];

mais mon var_dunp me donne ceci
array (size=2)
0 =>
array (size=3)
2 => string '1' (length=1)
1 => string '100' (length=3)
0 => string '99' (length=2)
1 =>
array (size=3)
2 => string '204' (length=3)
1 => string '100' (length=3)
0 => string '99' (length=2)

Re: mise en place d'un Json

Posté : 03 juin 2015, 10:29
par HippyZ
Donc si le 100 provient bien de $valeurAutocomplete[$i] ?

D'ailleurs le $i, on ne voit pas d'où il vient ?

A partir de ces éléments ...
if (in_array($valeurAutocompleteId[$i],$valeurniveau2)){

	$InstallationFils=$this->installation_model->getInstallation($valeurAutocompleteId[$i]);

	/** On déclare le tableau de sortie final */
	$json_array_out = array();

  	foreach ($InstallationFils as $r){
  		array_push($json_array_out,array($valeurAutocomplete[$i],
  									$r->InstallationPere));
	}
}

echo json_encode($json_array_out);

Re: mise en place d'un Json

Posté : 03 juin 2015, 11:24
par alf78fr
for ($i=0;$i<sizeof($Installation);$i++){
      if (in_array($valeurAutocompleteId[$i],$valeurniveau0)){
          $valeurRetour[$i][0]=$valeurAutocompleteId[$i];
      }else{
          if (in_array($valeurAutocompleteId[$i],$valeurniveau1)){
             $InstallationFils=$this->installation_model->getInstallation($valeurAutocompleteId[$i]);
              foreach ($InstallationFils as $r)
                {
                    $valeurFils = $r->InstallationPere;
                }
                
                $valeurRetour[$i][0]=$valeurFils[$i];
                $valeurRetour[$i][1]= $valeurAutocompleteId[$i];
             
          }else{
              
              if (in_array($valeurAutocompleteId[$i],$valeurniveau2)){
                  $InstallationFils=$this->installation_model->getInstallation($valeurAutocompleteId[$i]);
                  foreach ($InstallationFils as $r)
                    {
                    $valeurFils = $r->InstallationPere;
                    }
                    
                   //$valeurRetour[$i][2]= $valeurAutocompleteId[$i];
                   //$valeurRetour[$i][1]= $valeurAutocomplete[$i];
                   //array_push($valeurRetour[$i],array($valeurAutocomplete[$i]));
                    array_push($valeurRetour,array($valeurAutocompleteId[$i],$r->InstallationPere));
                   array_push($valeurRetour,array($valeurAutocomplete[$i],$r->InstallationPere));
                    
                    $InstallationFils=$this->installation_model->getInstallation($valeurAutocomplete[$i]);
                    foreach ($InstallationFils as $r)
                    {
                    $valeurRetour[$i][0]= $r->InstallationPere;
                       
                     
                    }
                    
              }
              
              
              
          }
      }
   }
                   
      
      
ksort($valeurRetour);     
echo json_encode($valeurRetour); 
echo '<pre>';
var_dump($valeurRetour);
echo '</pre>';
    }
voici le code