1

我有一些 PHP 代码打印交易表中的数据行。每一行就像

用户名-报价-交换-日期-交易

TRADE 是一个输入,单击时,相关的 PHP 会检查并相应地更新数据库。

如果 POST 等

$idn=strip_tags($_POST['buy']));

$query1=$db->prepare("SELECT * FROM tradeauction WHERE id=:buyid");
$query1->execute(array(':buyid'=>$idn));

///检查等

这是包含 TRADE 输入/按钮的 div : (我知道这可能是一个很长的路要走,但是它的旧代码,我只是想整理它并将整个站点从 mysql 转换为 PDO。 )

        <div class="buyrow left">
        <?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
    onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
onclick=\"this.value='$ct->id'; this.submit()\" type=\"submit\" value=\"Trade\" name=\"buy\">"; ?> &nbsp; 
       </div>

    $ct->id

显然是行的id。

类更改只是更改按钮的颜色。

当前单击时,它可以工作,但会向用户简要显示 id。我不希望这种情况发生。我只想让它一直简单地说交易。(悬停时为蓝色)

如何使单击时不显示该值,但仍将 id 值传递给 PHP 检查?或者有人可以提出另一种更简单的方法来实现这一目标吗?

编辑:对于交易中的每个 ID(行),它将以 HTML 格式打印-

<div id="cashtrades">
  <div class="trrow left"> <?php echo "<a href=profile.php?viewuser=$ct->username >$ct->username</a>"?></div>
  <div class="prrow left"><?PHP echo"$showname"; ?></div>
  <div class="ofrow left"><?PHP echo"$symbolcheck".makecomma($ct->item_amount)." $itemcheck"; ?> </div>
  <div class="exrow left"><?PHP echo"$exsymcheck".makecomma($ct->exchange_amount)." $exitemcheck"; ?></div>
  <div class="darow left"><?PHP echo"$ct->datepost"; ?></div>
  <div class="buyrow left"><?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
          onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
          onclick=\"this.value='$ct->id'; this.submit()\" type=\"submit\" value=\"Trade\" name=\"buy\">";?>&nbsp;</div> 
  </div>
4

1 回答 1

1

看看JQuery。您会发现它将彻底改变您与 javascript 的交互。如果您不确定所有 {}(){()} 的含义,请搜索 Douglas Crockford 并观看他的视频。

那就是说。

<div class="buyrow left"><?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
      onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
      onclick=\"this.value='$ct->id'; this.submit()\" type=\"submit\" value=\"Trade\" name=\"buy\">";?>&nbsp;</div> 

尝试

  <div class="buyrow left">
// this is a new hidden input with the buy id 
<input type=hidden name=buy id=buyinput value=<?php echo $ct->id ?> >

//onclick Submit
<?PHP echo"<input class=\"changeBlue\" onmouseover=\"this.className='changeBlueoff'; document.getElementById('$ct->id').className='changeBlueoff'\" 
      onmouseout=\"this.className='changeBlue'; getElementById('$ct->id').className='changeBlue'\" 
      onclick=\"this.submit()\" type=\"submit\" value=\"Trade\" name=\"anotherbuy\">";?>&nbsp;</div> 

阅读此代码非常困难,我认为您应该以另一种方式执行此操作,但是上面的内容应该可以解决您的问题。

于 2013-04-13T18:47:24.250 回答