0

jqueryを使用して送信ボタンをクリックした後、非表示のメッセージフォームを表示し、フォームを非表示にするボタンを作成しようとしています。このボタンは、データベースから情報を選択して配置する while() ループに埋め込まれた php for() ループの結果で機能するため、while() ループのすべての結果の下にメッセージボタンがあります。さて、私の問題は、すべてのループとjqueryコードを設定した後、メッセージボタンがクリックされたときに同時にすべての結果に対して機能することを除いて、すべてが機能することです。ループ結果の下のボタンをクリックすると、ループ結果の下に1つのフォームのみがスライドし、別の結果の下で別のメッセージボタンをクリックすると、開いているフォームが閉じて新しいフォームが開くように、ボタンを個別に動作させる必要があります. 要約すれば、ループの結果ごとにボタンが独立して機能する必要があります。これは、私が使用したコードで、望ましい結果が得られないものです。助けてください...

<?php
session_start();
include("databaselogin.inc");
mysql_select_db($database,$cxn);
$query="SELECT * from table1";
$result=mysql_query($query,$cxn) or die ("Couldn't execute query.". mysql_error());
$section=$_POST['section'];
?>
.
.
.
.
.
<script type="text/javascript" src="../jquery-1.3.2-vsdoc2.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){
$("div#show1").hide();
$("button#show2").click(function(){
  $("div#show1").toggle(500);
    });
    $("a#show3").click(function(){
  $("div#show1").hide(500);
    });
});
</script>



<?php
while ($row=mysql_fetch_array($result))
{
$query1="SELECT * from table2 WHERE Email='$row[Email]'";
$result1=mysql_query($query1,$cxn) or die ("Couldn't execute query.". mysql_error());
$row1=mysql_fetch_array($result1);
for ($i=1; $i<=3; $i++)
    {
       if ($row['section1'."$i"]=="$section")
       {
        echo '<table height="130" width="220" border="1" style="border:thin"><tr height="104"><td width="60" valign="top" align="center">';
        echo '<center>';
        echo '<div style="line-height:80%">';
        echo '<img border="1" src="';
        echo $row['image'."$i"];
        echo '"width="80" alt="Your Name" height="78">';
        echo '</center>';
        echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">';
        echo $row['section2'."$i"];
        echo '</font>';
        echo '</div>';
        echo '</td><td width="184" align="center" valign="top"><table cellpadding="0" cellspacing="0"><tr><td bgcolor="#9900CC" width="174"><center><b><font face="Comic Sans MS, Colonna MT, Juice ITC" size="3" color="#ffffff">DESCRIPTION</font></b></center></td></tr><tr><td align="left" valign="top">';
        echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">';
        echo $row['section3'."$i"];
        echo '</font>';
        echo '</td></tr></table><tr height="50" bgcolor="#9900CC"><td colspan="2" bgcolor="#ffffff">';
        echo '<div style="line-height:80%">';
        echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">';
        echo $row1['port1'];
        echo '</font>';
        echo '<br />';
        echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC"><span style="white-space:pre">';
        echo $row1['port2'];
        echo '                                PRICE: ';
        echo $row['section4'."$i"];
        echo '</span>';
        echo '<br /><span style="white-space:pre">';
        echo $row1['port3'];
        echo '                                                 ';
        echo $row['section5'."$i"];
        echo '</span></font>';
        echo '</div>';
        echo '</td></tr>';
        echo '<tr height="10" bgcolor="#9900CC"><td colspan="2" bgcolor="#FDF4FD" style="border:none; line-height:30%" valign="top">';
        echo '<span style="white-space:pre"><button id="show2" style="border:none"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC">message</font></button>';
        echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC"> | </font>';
        echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC">comment</font></span>';
        echo '</td></tr></table>';
?>
          <!-- START DIV that contains the Private Message form -->
          <div id="show1">
          <table>
<form method="post" action="">
<font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">Send a Message to <strong><?php echo $row1['port1']; ?></strong></font>
<tr><td align="right" width="80"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">First Name:</font></td><td width="200"><input name="sender" type="text" maxlength="30" style="width:100%" /></td></tr>
<tr><td align="right" width="80"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">Subject:</font></td><td width="200"><input name="pmSubject" id="pmSubject" type="text" maxlength="64" style="width:100%" /></td></tr>
<tr><td align="right" width="80" valign="top"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">Message:</font></td><td width="200"><textarea name="pmTextArea" id="pmTextArea" rows="5" style="width:100%"></textarea></td></tr>
  <input name="pm_rec_name" id="pm_rec_name" type="hidden" value="<?php echo port4; ?>" />
  <span id="PMStatus" style="color:#F00;"></span>
  <br /><tr><td colspan="2"><span style="white-space:pre"><input name="pmSubmit" type="submit" value="Send" /><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC"> or <a href="#" id="show3">Close</a></font></span>
<span id="pmFormProcessGif" style="display:none;"><img src="../loading.gif" width="28" height="10" alt="Loading" /></span></td></tr></form>
</table>
          </div>
          <!-- END DIV that contains the Private Message form -->
<?php
echo '<br />';  
       }
    }
}
?>
4

1 に答える 1

0

わかりましたこれはテストしていませんが、JavaScriptをループ内に配置し、毎回名前を変更し、分割、ボタン、リンクを変更しました。スタイルを設定した場合は、クラスを追加してスタイルを変更する必要があります。

        <?php
    session_start();
    include("databaselogin.inc");
    mysql_select_db($database,$cxn);
    $query="SELECT * from table1";
    $result=mysql_query($query,$cxn) or die ("Couldn't execute query.". mysql_error());
    $section=$_POST['section'];
    ?>
    <script type="text/javascript" src="../jquery-1.3.2-vsdoc2.js"></script>
    <?php
    while ($row=mysql_fetch_array($result))
    {

    $query1="SELECT * from table2 WHERE Email='$row[Email]'";
    $result1=mysql_query($query1,$cxn) or die ("Couldn't execute query.". mysql_error());
    $row1=mysql_fetch_array($result1);
    for ($i=1; $i<=3; $i++)
        {
$show1 = rand(1, 1000);
    $show2 = rand(1001, 2000);
    $show3 = rand(2001, 3000);
    ?>
    <script type="text/javascript"> 
    $(document).ready(function(){
    $("div#<?PHP echo $show1; ?>").hide();
    $("button#<?PHP echo $show2; ?>").click(function(){
      $("div#<?PHP echo $show1; ?>").toggle(500);
        });
        $("a#<?PHP echo $show3; ?>").click(function(){
      $("div#<?PHP echo $show1; ?>").hide(500);
        });
    });
    </script>
    <?PHP
           if ($row['section1'."$i"]=="$section")
           {
            echo '<table height="130" width="220" border="1" style="border:thin"><tr height="104"><td width="60" valign="top" align="center">';
            echo '<center>';
            echo '<div style="line-height:80%">';
            echo '<img border="1" src="';
            echo $row['image'."$i"];
            echo '"width="80" alt="Your Name" height="78">';
            echo '</center>';
            echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">';
            echo $row['section2'."$i"];
            echo '</font>';
            echo '</div>';
            echo '</td><td width="184" align="center" valign="top"><table cellpadding="0" cellspacing="0"><tr><td bgcolor="#9900CC" width="174"><center><b><font face="Comic Sans MS, Colonna MT, Juice ITC" size="3" color="#ffffff">DESCRIPTION</font></b></center></td></tr><tr><td align="left" valign="top">';
            echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">';
            echo $row['section3'."$i"];
            echo '</font>';
            echo '</td></tr></table><tr height="50" bgcolor="#9900CC"><td colspan="2" bgcolor="#ffffff">';
            echo '<div style="line-height:80%">';
            echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">';
            echo $row1['port1'];
            echo '</font>';
            echo '<br />';
            echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC"><span style="white-space:pre">';
            echo $row1['port2'];
            echo '                                PRICE: ';
            echo $row['section4'."$i"];
            echo '</span>';
            echo '<br /><span style="white-space:pre">';
            echo $row1['port3'];
            echo '                                                 ';
            echo $row['section5'."$i"];
            echo '</span></font>';
            echo '</div>';
            echo '</td></tr>';
            echo '<tr height="10" bgcolor="#9900CC"><td colspan="2" bgcolor="#FDF4FD" style="border:none; line-height:30%" valign="top">';
            echo '<span style="white-space:pre"><button id="'.$show2.'" style="border:none"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC">message</font></button>';
            echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC"> | </font>';
            echo '<font face="Comic Sans MS, Colonna MT, Juice ITC" size="1" color="#9900CC">comment</font></span>';
            echo '</td></tr></table>';
    ?>
              <!-- START DIV that contains the Private Message form -->
              <div id="<?PHP echo $show1; ?>">
              <table>
    <form method="post" action="">
    <font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">Send a Message to <strong><?php echo $row1['port1']; ?></strong></font>
    <tr><td align="right" width="80"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">First Name:</font></td><td width="200"><input name="sender" type="text" maxlength="30" style="width:100%" /></td></tr>
    <tr><td align="right" width="80"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">Subject:</font></td><td width="200"><input name="pmSubject" id="pmSubject" type="text" maxlength="64" style="width:100%" /></td></tr>
    <tr><td align="right" width="80" valign="top"><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC">Message:</font></td><td width="200"><textarea name="pmTextArea" id="pmTextArea" rows="5" style="width:100%"></textarea></td></tr>
      <input name="pm_rec_name" id="pm_rec_name" type="hidden" value="<?php echo port4; ?>" />
      <span id="PMStatus" style="color:#F00;"></span>
      <br /><tr><td colspan="2"><span style="white-space:pre"><input name="pmSubmit" type="submit" value="Send" /><font face="Comic Sans MS, Colonna MT, Juice ITC" size="2" color="#9900CC"> or <a href="#" id="<?PHP echo $show3; ?>">Close</a></font></span>
    <span id="pmFormProcessGif" style="display:none;"><img src="../loading.gif" width="28" height="10" alt="Loading" /></span></td></tr></form>
    </table>
              </div>

              <!-- END DIV that contains the Private Message form -->

    <?php
    echo '<br />';  
           }
        }
    }
    ?>
于 2012-12-13T19:27:11.927 に答える