[RESOLU] mise en place d'un Json

Eléphant du PHP | 56 Messages

03 juin 2015, 09:30

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
Passionné de développement (PHP, Python)

Petit nouveau ! | 3 Messages

03 juin 2015, 09:54

Bonjour,

Quelles données doit contenir le json final ?

Eléphant du PHP | 56 Messages

03 juin 2015, 10:05

Actuellement j'ai sa
[{"1":"100","0":"99"},{"1":"100","0":"88"}]

je devrais avoir sa: [ ["100","99"],["100","88"]]
Passionné de développement (PHP, Python)

Petit nouveau ! | 3 Messages

03 juin 2015, 10:13

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 ?

Eléphant du PHP | 56 Messages

03 juin 2015, 10:18

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)
Passionné de développement (PHP, Python)

Petit nouveau ! | 3 Messages

03 juin 2015, 10:29

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);

Eléphant du PHP | 56 Messages

03 juin 2015, 11:24

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
Passionné de développement (PHP, Python)