2016-07-30 13 views
1

名前付きオプションの名前付きデータベースがあります。この表では、私は3つのフィールドphpからjavascriptへ正しくフォーマットされたjsonを取得しますか?

  1. int型の自動インクリメントのID
  2. varchar型のOPTION_NAME
  3. varchar型のoption_value

を持って、私はすでに

挿入されたレコードに次のしていると仮定
  1. '1'、 'homepage_title'、 'Home'
  2. '2' 'index_page_title'、 'インデックスページ'

私はライン確信しているスクリプトは、この

{"homepage_title":{"Home":["Home"]},"index_page_title":{"index page":["index page"]}} 

のようなものを返すので、それが動作

<?php 
header("Access-Control-Allow-Origin: *"); 
//set timezone becuase some servers are jsut wrong 
define('TIMEZONE', 'Europe/Athens'); 
date_default_timezone_set(TIMEZONE); 

//Connect & Select Database 
mysql_connect("somehost","simeuser","somepass") or die("could not connect server"); 
mysql_select_db("somedbdb") or die("could not connect database"); 

function getOptions(){ 
    $sqldata = mysql_query("SELECT * FROM `options`"); 
    $rows = array(); 
    while($r = mysql_fetch_array($sqldata)) { 
     $rows[$r['option_name']][$r['option_value']][]=$r['option_value']; 
    } 

    echo json_encode($rows); 
} 
getOptions(); 
?> 

を次のように私はPHPスクリプトを持っていますそれが間違っているのはこれです

$rows[$r['option_name']][$r['option_value']][]=$r['option_value']; 

私はただイチジクできません私が修正する必要があることを確認してください。私の内包は

$.get("http://localhost/test-app/get_app_settings.php",function(data){ 
    var json = JSON.parse(data); 
    console.log(JSON.stringify(json)); 
    alert("homepage title was "+json['homepage_title']); 
    alert("index page title was "+json['index_page_title']); 
}); 

を次のように私は私がindex_page_titleに期待homepage_titleとインデックスページで期待される代わりに、ホームページのObjectオブジェクトを取得するJavaScriptを呼び出すことです。

私はそれが本当にばかげていると確信していますが、私はそれを見ることができます。

+1

[ 'mysql_'データベースの拡張機能](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)を使用してはいけないしてください、それが されますdeprecated(PHP7でこれまでになくなりました)PHPを学んでいるだけなら、特に、 'PDO'データベースの拡張機能を学ぶことができます。 [こちらから](http://php.net/manual/en/book.pdo.php)実際にはかなり簡単 – RiggsFolly

+0

あなたは実際に結果として欲しいものを記述することができます – RiggsFolly

+0

と言っていいですか? alert( "ホームページタイトルは" + json ['homepage_title']); アラート(「インデックスページのタイトルは「+ json ['index_page_title']」でした。 オプション名 –

答えて

0

これはどういう意図ですか?

$rows[$r['option_name']][$r['option_value']][]=$r['option_value']; 

多分あなたはちょうどこれが欲しいですか?

$rows[$r['option_name']]=$r['option_value']; 
+0

これはありがとうございます。ちょうど私が推測する疲れて:) –

関連する問題