0

ハイパーリンク「onclick」で関連するレコードセットが下の配列に表示される値のリストがあります。

PHP を介して、接続されたテーブル値のデータセットが機能しています。次に、そのデータセットを onclick イベントにリンクする必要があります。

私の調査では、これについていくつかの方法があります。iFrame (推奨されていないようです)。JSON/AJAX (私が知らない言語であり、私の他のデータはこの構造を使用していませんが、直接 PHP を使用することは可能ですか?);

応答を作成するための正しい構文を取得するのに苦労していますが、関連する関数を使用した $_GET 変数が適しているようです。これはフィルター機能を使用しますか?

基本的に: $row_artistrecordset['artist'] = $row_getartists['artist']. このマッチ構造に基づいてコードを作成できれば、他のページで使用するのに十分な汎用性があることを願っています。

これまでの私のコードは次のとおりです。

<?php
mysql_select_db($database_connectmysql, $connectmysql);
$query_artistrecordset = "SELECT * FROM artists ORDER BY artist ASC";
$artistrecordset = mysql_query($query_artistrecordset, $connectmysql) or die(mysql_error());
$row_artistrecordset = mysql_fetch_assoc($artistrecordset);
$totalRows_artistrecordset = mysql_num_rows($artistrecordset);
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0   Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>artistindex</title>
  <link href="exhibitstyles/exhibitstyles.css" rel="stylesheet" type="text/css" /> 
  </head>
  <body>    
 <?php include_once("exhibitstyles/header.php");?> 
 <div id="singlemid" class="paragraph" style="text-align:center"> 
<div id="artistlist">
<?php do { ?>
<a href=javascript:function_$_GET(artistindex.php?[$row_artistrecordset['artist']]);>; title="artistlink" class="list"><?php echo $row_artistrecordset['artist']; ?></a>&nbsp;|
<?php } while ($row_artistrecordset = mysql_fetch_assoc($artistrecordset)); ?>
</div>
<br />    
<div id="searchresults">

function_$_GET(artistindex.php?[$row_artistrecordset['artist']]) {
$.post("artistindex.php",'v=.$row_getartists['artist'].' + value, function $_GET(artistindex.php?[$row_artistrecordset['artist']]) {
      $query_getartists.html().trigger("create");
});
}

<?php
mysql_select_db($database_connectmysql, $connectmysql);
 echo <a href=javascript:function_$_GET(artistindex.php?[$row_artistrecordset['artist']]);>.$row_getartists['artist'].;
 $query_getartists = "SELECT * FROM artists WHERE artist = '".$row_artistrecordset['artist']."' ORDER BY artist ASC";
 $getartists = mysql_query($query_getartists, $connectmysql) or die(mysql_error());
      while ($row_getartists = mysql_fetch_assoc($getartists)) {              
                echo $row_getartists['artist'], "<br>";
                echo $row_getartists['website'], "<br>";
                echo $row_getartists['artist_statement'], "<br>";
                echo $row_getartists['image'], "<br>";
 $artistlink = $row_getartists['artist'];
 $query_getseries = "SELECT * FROM series WHERE artist='$artistlink' ORDER BY exhibition ASC";
 $getseries = mysql_query($query_getseries, $connectmysql) or die(mysql_error());
      while ($row_getseries = mysql_fetch_assoc($getseries)) {
                echo $row_getseries['series'], "<br>";
                echo $row_getseries['exhibition'], "<br>";
                echo $row_getseries['series_statement'], "<br>";
                echo $row_getseries['image'], "<br>";
 $serieslink = $row_getseries['series'];
 $query_getpieces = "SELECT * FROM pieces WHERE series='$serieslink'";
 $getpieces = mysql_query($query_getpieces, $connectmysql) or die(mysql_error());
      while ($row_getpieces = mysql_fetch_assoc($getpieces)) {
                echo $row_getpieces['piece'], "<br>";
                echo $row_getpieces['category'], "<br>";
                echo $row_getpieces['dimensions'], "<br>";
                echo $row_getpieces['price'], "<br>";
                echo $row_getpieces['description'], "<br>";
                echo $row_getpieces['image'], "<br>";
      }
}
?>
</div>
</div>
</body>
</html>
<?php
mysql_free_result($getartists);

mysql_free_result($getseries);

mysql_free_result($getpieces);
      }
?>
4

1 に答える 1

0

ユーザーが何かをクリックしたときにアクションを実行する必要があります。値のテーブルがあり、値に関する詳細情報を取得したいとします。html は次のようになります。

<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td width=30% valign=top><span onclick="alert('Value 1 was clicked');">1</span></td>
<td width=70% valign=top>Description of Value 1</td>
</tr>
<tr>
<td width=30% valign=top><span onclick="alert('Value 2 was clicked');">1</span></td>
<td width=70% valign=top>Description of Value 2</td>
</tr>
</table>

ここで何が起こるかというと、テーブルの左端の 2 つの列のいずれかをクリックすると、JavaScript の alert() 関数が呼び出されます。

次のように、独自のスクリプトに情報を渡すこともできます。

    <script>
    function myOwnAlert(value) {
         alert(value);
    }
    </script>
<div id="myTable">
    <table width=100% cellpadding=0 cellspacing=0>
    <tr>
    <td width=30% valign=top><span onclick="myOwnAlert('Value 1 was clicked');">1</span></td>
    <td width=70% valign=top>Description of Value 1</td>
    </tr>
    <tr>
    <td width=30% valign=top><span onclick="myOwnAlert('Value 2 was clicked');">1</span></td>
    <td width=70% valign=top>Description of Value 2</td>
    </tr>
    </table>
</div>

正味の効果は同じで、メッセージが表示されました。ただし、jQuery を使用してテーブルを動的に更新することもできます。オンラインで利用できる jQuery に関するチュートリアルが多数あります。基本的に、次のような JavaScript 関数を使用します。

<script>
function myOwnAlert(value) {
    $.post("getnewtable.php",'v=' + value, function(data) {
          $("#myTable").html().trigger("create");
    });
}
</script>

これにより、テーブルの内容が getnewtable.php スクリプトの出力に置き換えられます。

注: これは、HTML や jQuery を使用する主要な例ではなく、ごく簡単なチュートリアルです。

于 2013-07-22T01:11:50.517 に答える