1

JS 内で使用する必要がある関数を SQL テーブルに格納しています。問題は、これらの関数で PHP 変数も使用する必要があることです。

以下:

<?php
  $container='11';
  $title='Header';
  $function_text =
  <<<EOT
    $(function() {
      $('#container$container').parent('div').find('h3').html('$title');
    });
  EOT;
  echo $function_text;
?>

正しく戻ります:

$(function() {
  $('#container11').parent('div').find('h3').html('Header');
});

しかし、これ:

<?php
  $ID=1;
  $container='11';
  $title='Header';
  $article = $cls -> Query(sprintf('SELECT * from graphs WHERE ID="%s"', $ID));
  $function_text = $article[0]['function'];
  echo $function_text;
?>

変数を認識せずに、SQL フィールドの内容を正確に出力します。

$(function() {
  $('#container$container').parent('div').find('h3').html('$title');
});

エコーされたテキストに変数を挿入するにはどうすればよいですか?

4

1 に答える 1

1
  1. データベースに格納されているデータを変更して、変数への参照ではなくフォーマット プレースホルダーを使用するようにします。

    $(function() {
      $('#container%s').parent('div').find('h3').html('%s');
    });
    
  2. 使用sprintf():

    $function_text = sprintf($article[0]['function'], $container, $title);
    
于 2013-10-20T18:58:29.940 に答える