2012-05-02 8 views
1

mysqlデータベースからJsonデータを印刷したいが、データがブラウザに正しく表示されない。 JoséやL'Alcudia(スペイン語の名前) 私は2つのphpファイルを持っています.1つはデータベースにデータを挿入し、もう1つはJSONデータを返します。 一方、データを入力できるhtmlファイル(フォーム)があります。JsonがPHPファイルをエンコードする

//HTML FILE 
<!DOCTYPE html> 
<html lang="es"> 

<head> 
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 
</head> 
<header></header> 
<body> 
<form id="formulario" name="formulario" method="post" action="insertar_persona.php" enctype="multipart/form-data"> 
    <p>Nombre:</p> 
    <input type="text" name="nombre" value="nombre" />  
    <br/><br/> 
    <input type="submit" id="insertar" name="insertar" value="Insertar"/> 

</form> 
</body> 
</html> 



//INSERT PHP FILE 

<?php header ('Content-type: text/html; charset=utf-8'); 
//Credenciales de la BBDD 
$db = "prueba"; 
$host = 'localhost'; 
$username = "dpbataller"; 
$password = '1234'; 

//Conectamos al servidor de la Base de datos 
$link = mysql_connect($host,$username,$password) or die("No se puede conectar"); 
//Seleccionamos la BBDD 
@mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos"); 
//Lanzamos la consulta 
$consulta = mysql_query("INSERT INTO personas (id,nombre) VALUES ('','$_POST[nombre]')"); 
?> 



//GET JSON DATA 
<?php header ('Content-type: text/html; charset=utf-8'); 
//Credenciales de la BBDD 
$db = "prueba"; 
$host = 'localhost'; 
$username = "dpbataller"; 
$password = '1234'; 
//Conectamos al servidor de la Base de datos 
$link = mysql_connect($host,$username,$password) or die("No se puede conectar"); 
//Seleccionamos la BBDD 
mysql_select_db($db) or die ("No se ha podido seleccionar a la base de datos"); 
//Lanzamos la consulta 
$consulta = mysql_query("SELECT id,nombre from personas"); 
//Creamos un array para almacenar los resultados 
$filas = array(); 
//Agregamos las filas devueltas al array 
while ($r = mysql_fetch_assoc($consulta)) { 
$filas[] = $r; 

} 
//Devolvemos el resultado 
echo json_encode($filas); 
?> 

私は、ブラウザでデータを表示しようとし、これを示しています

[{"Id": "1", "name": "Jos \ u00e9"}] 

データベースとテーブルのエンコーディングはどうなりUTF-8_spanish_ci

のですか?誰か助けてください、よろしいですか?あなたはこれらの機能を使用できるアプリケーション/ JSON

<?php header ('Content-type: application/json; charset=utf-8'); 

答えて

0

は、コンテンツタイプを変更しようと

function encodeIt($array) { 
    return json_encode(array_map('base64_encode', $array)); 
} 

function decodeIt($string) { 
    return array_map('base64_decode', json_decode($string)); 
} 
+0

それは動作しません、それはまだ [{ "ID" を表示されます。 "1"、 "name": "Jos \ u00e9"}、{"id": "2"、 "name": "asd"}] – dpbataller

+0

私はそれがjson文字列の生ではないと思います。あなたはクライアント側をデコードしようとしましたか? look at jQuery.parseJSON –

0

+0

申し訳ありませんが、私はPHPプログラミングには新しく、関数をどこに置くのか、渡すパラメータは何かをよく理解していません。 – dpbataller

+0

これらの関数をスクリプトの最上部に含めて、それぞれjson_encodeおよびjson_decodeの代わりに使用します。 – Manish

+0

それは動作しません:( – dpbataller

関連する問題