0

私はmysqlデータベースからいくつかのデータを取得するためのphp関数を持っています:

function get_persons() {
    $result=dbquery("SELECT id,name,surname FROM ".DB_PERSONS." ORDER BY id ASC");
    while ($person = dbarray($result)){
        $id=$person['id'];
        echo "<option value='$id'>$person['name'] - $person['surname']</option>";
    }
}

そして、私はjavascriptコードを持っています:

$edit_buttonoptions = array("#pager", 
    array("title"=>"Takım Seç","buttonicon"=>"ui-icon-mail-open","caption"=>"Takım Seç", "onClickButton"=>"js: 
 var jspersonvar;
 jspersonvar = "<?php get_persons();?>"
function(){
    var selr = jQuery('#grid').jqGrid('getGridParam','selrow');
    var rowData = jQuery('#grid').jqGrid('getRowData', selr);
    var kelr = jQuery('#grid').jqGrid('getCell', selr, 'bilinen_adi');
    var fotograf = jQuery('#grid').jqGrid('getCell', selr, 'logo');
    if(selr)
        miktar=miktar+1,
        pp='takimlar',
        nm=pp + miktar,
        jQuery('#takimlar').append('<div id=' + nm + '>'),
        jQuery('#'+ nm +'').append('<div style=text-align:center;>'+fotograf+'<input type=hidden name=takim'+ miktar +' value=' + selr + ' />'),
        jQuery('#'+ nm +'').append('<select name=sezon'+ miktar +' id=sezon'+ miktar +'>'+jspersonvar+'</select>'),
        jQuery('#'+ nm +'').append('' + kelr + ''),
        jQuery('#'+ nm +'').append('</div>'),
        jQuery('#'+ nm +'').append('</div><br />'),

      alert('' + kelr + ' Takımı Seçildi')
    else
    alert('Lütfen Bir Takım Seçiniz!')
    return false;
    }"),
); 
$grid->callGridMethod("#grid", "navButtonAdd", $edit_buttonoptions);

うまくいきません、いろいろ試してみましたがうまくいきません...

4

1 に答える 1

1

サーバーがページをレンダリングすると、変数は次のようになるため、変数を引用符で囲む必要があります。

jspersonvar = <option value='$id'>......

引用符で囲むと、jspersonvar文字列として扱われ、それを使用して何をすることができます。

jspersonvar = "<?php get_persons();?>"

"データベースに表示されるものはすべて、javascript を台無しにすることに注意してください。

于 2012-03-17T16:10:33.110 に答える