Affichage involontaire "/r"

Par thomasnastorg, il y a 7 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

il m'affiche les températures suivie de /r ex "43.5\r" or je veux seulement mes températures ex "43.5".

<?php require_once 'inc/db.php'; $json=[]; $stmt=$pdo->prepare("SELECT * FROM serveur"); $stmt->execute(); while($row=$stmt->fetch(PDO::FETCH_ASSOC)){ extract($row); $toto[]=$temp; } echo json_encode($json); ?>

Merci d'avance

2 réponses

Pierrot01, il y a 7 ans

trim ta variable ;)

@pluche

Pierre

Lartak, il y a 7 ans

Bonsoir.
À nous montrer du code, ce serait bien qu'il soit un minimum fonctionnel.

  • Tu initialises la variable $json que tu renvois plus bas, sauf que tu ne la remplie à aucun moment, tu renvoie donc une variable vide.
  • Tu veux remplir la variable $toto, sauf que tu ne l'initialise à aucun moment et tu ne l'utilises pas pour autant après.
  • Quel est l'intérêt d'extraire une variable, si tu n'utilises qu'une seule de ses clés, sans oublier que si tu ne comptes utiliser qu'un champ, pourquoi est-ce que tu ne récupères pas que celui-ci dans ta requête SQL ?
  • Autre chose aussi, les requêtes préparées sont inutiles si tu ne passe aucune valeur particulière dans ta requête SQL

Sinon pour répondre à ton problème, tu peux par exemple utiliser la fonction rtrim, qui te permettra de récupérer l'ensemble de la chaîne ormis les caractères \r en fin de chaîne.
Exemple :

<?php require_once 'inc/db.php'; $json = []; $stmt = $pdo->query("SELECT temp FROM serveur"); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $json[] = rtrim($row['temp'], "\r"); } echo json_encode($json);