我有一个PHP动态表格,当我点击其中一个链接(http://www.xxxxxx.com/?r=xxxxxxxxx
)时,链接会在新标签页中打开,并在问号(?
)之后剪切,就像www.xxxxxx.com/?
。
这是PHP代码表:
echo '<div class="row"><tr>';
echo '<td><form action='.$data['referral'].'>
<input class="btn" type="submit" formtarget="_blank" value='.$data['webadress'].' data-value='.gmdate("H:i:s",($data['timer']*60+60)).' data-start="false"></form></td>';
echo '<td>Now</td>';
echo '<td>'.$data['timer'].'</td>';
echo '<td>'.$data['payout'].'</td>';
echo '</tr></div>';
在我的数据库中,$data['referral']
是我的www.xxxxxx.com/?r=xxxxxxxxx
链接。
我认为我的数据库选项中的类型或内容是错误的,所以它在问号后切换。现在我在varchar(255)
和latin1_general_ci
。
编辑:我输入了一个输入,因为我需要一个计时器的存储数据,这里是JS:
$(window).load(function(){
var row = document.getElementsByClassName("color");
function toTimeString(seconds) {
return (new Date(seconds * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0];
}
function redColor(element) {
$(element).css('background-color', 'rgba(255,0,0,0.7)');
}
function normalColor(elemen) {
$(element).css('background-color', 'transparent');
}
$('.btn').on('click', startTimer);
function startTimer() {
var dataStartElem = $(this);
var dataStart = dataStartElem.attr('data-start');
if (dataStart === 'false') {
dataStartElem.attr('data-start', 'true');
var nextElem = dataStartElem.parents('td').next();
var duration = dataStartElem.attr('data-value');
var a = duration.split(':');
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);
setInterval(function () {
seconds--;
if (seconds >= 0) {
nextElem.html(toTimeString(seconds));
redColor(nextElem);
}
if (seconds === 0) {
nextElem.html('Now');
dataStartElem.attr('data-start', 'false');
clearInterval(seconds);
normalColor(nextElem);
}
}, 1000);
}
}
});
这个JS,启动计时器并将其置为红色,并在完成后显示“now”。
答案 0 :(得分:1)
正如@Otto所说,试着接近这个:
echo '
<div class="row">
<tr>
<td>
<a href="' . htmlspecialchars($data['referral']) . '">' . htmlspecialchars($data['webadress']) . '</a>
</td>
<td>Now</td>
<td>' . $data['timer'] . '</td>
<td>' . $data['payout'] . '</td>
</tr>
</div>
';
答案 1 :(得分:1)
通过使用GET表单,您可以覆盖操作的查询部分。将表单转换为普通链接,或将URL的查询部分放在隐藏的输入中。