2010-11-28 5 views
0

javascriptを使用してMySQLクエリから取得した値を出力しようとしています。ここにコードがありますMySQLクエリから取得した問題の印刷値

function editVal(category){ 

      //alert(category); 
      //document.getElementById("editdiv").innerHTML = '<input type = text value='+category+'>'; 
      <? 

       $tagquery = mysql_query("Select latitude from Zones where tag = 'category'"); 
       while($row=mysql_fetch_array($tagquery)) { ?> 
        alert(category); 
        document.getElementById("editdiv").innerHTML = '<input type="text" value='"+<?=$row['latitude']?>+"'/>'; 
       <?}?>  
     } 

私は別のフォームで前にテストしたので、クエリが正常に動作していることが分かります。しかし、いくつかの奇妙な理由で、このスニペットはwhileループに入りません(私は警告機能でそれを見つけようとしました)。ここでページの外観を見ることができます - http://128.233.104.33/gameview/mapv.php

私はWebサービスを使用すると良いかもしれませんが、今はこの問題を解決しようとしています。

お願いします。

+1

これでJavaScriptを使用する代わりに、PHPを使用してHTMLを出力できませんか? JSとPHPの混在は一般的には良い考えではありません。通常、後でコードを変更するのは面倒です。ところで、ユーザビリティの専門家は、アイテム名の前にチェックボックス*を置くことをお勧めします。 –

+0

OMG ...私はそれを行うことができます..試してみよう! – Pow

+0

これはどのhtml/jsでレンダリングされますか? – Daniel

答えて

2

クリックした内容に依存するクエリ条件で、いくつかのパラメータ(ここではcategory)を指定してmysqlクエリを実行する必要がある場合は、AJAX呼び出しを行う必要があります。

サーバーサイドコードの実行が終了し、チェックボックスをクリックしたことを理解してください。この瞬間にクライアント側のコードが実行されていて、正しいmysqlクエリーを実行することはできません。

サーバーでページが生成されている間にクエリが実際に実行され、そのときにはcategoryという値が得られないため、category = ''で実行されるため、whileループには入りません。

+0

OK ..それに続きます..ありがとう.. – Pow