2016-04-22 7 views
1

J'utilise un service web pour créer un tableau PHP $ resultat, mais lorsqu'il est passé à javascript et JSON.parse, rien ne se passe. Je suis un débutant avec PHP et JS Arrays, ont fait beaucoup de googling, mais ne trouve pas la réponse. Aidez-nous!JSON analyse en utilisant JSON de PHP

D'abord la sortie dans un navigateur, où les impressions du tableau PHP, mais le javascript ne rien sortie: -

 

1) Results of PHP array print Array ( [hotels] => Array ( [codigo] => LIMHBM [fecha] => 2016/9/15 [cannoc] => 1 [canhab] => 1 [canpax] => 2 [estado] => OK ) ) 2) Results of JSON parse: none

La partie pertinente du Code: -

1) Results of PHP array print 
<pre><?php print_r($result); ?></pre> 

2) Results of JSON parse: 
<span id="demo">none</span> 

<script type="text/javascript"> 
var result = JSON.parse('<?php echo json_encode($result) ?>'); 
document.getElementById("demo").innerHTML = result.hotels[0].codigo + " " + result.hotels[0].estado; 
</script> 

Répondre

1

En fait, votre code est à droite jusqu'à la dernière ligne de code javascript qui est: -

document.getElementById("demo").innerHTML = result.hotels[0].codigo + " " + result.hotels[0].estado; 

Modifier à: -

document.getElementById("demo").innerHTML = result.hotels.codigo+ " " + result.hotels.estado; 

Exemple: -

<?php 

$result = Array 
(
    'hotels' => Array 
     (
      'codigo' => 'LIMHBM', 
      'fecha' => '2016/9/15', 
      'cannoc' => 1, 
      'canhab' => 1, 
      'canpax' => 2, 
      'estado' => 'OK' 
     ) 

); 
?> 
1) Results of PHP array print 
<?php echo "<pre/>";print_r($result); ?> 

2) Results of JSON parse: 
<span id="demo">none</span> 

<script type="text/javascript"> 
var result = JSON.parse('<?php echo json_encode($result) ?>'); 
console.log(result); // to just show you te output in console 
document.getElementById("demo").innerHTML = result.hotels.codigo+ " " + result.hotels.estado; 
</script> 

Sortie: - http://prntscr.com/avm729

Pour obtenir une aide de tableau multidimensionnel, vérifier: -

http://prntscr.com/avmcp3

+0

Grand, cela a bien fonctionné, et la réponse en ce qui comme je suis concerné. Si au lieu d'un hôtel dans le tableau 'hotels', il y en a plusieurs, serait-il correct d'utiliser codigo [1], estado [1] etc? – Paul

+0

Oui, alors vous devez aller pour cela. –

+0

Merci encore, parfait! – Paul

0

Ce bit est inutile:

var result = JSON.parse('<?php echo json_encode($result) ?>'); 

JSON est déjà javascript valide, donc il y a NO besoin de l'analyser. Tout ce que vous devez faire est de le jeter directement dans le bloc de code:

var result = <?php echo json_encode($result); ?>; 
+0

Merci, j'ai essayé cela, mais résultat était encore nulle – Paul