div值中的PHP $ row ['value']

时间:2012-06-23 22:09:27

标签: php mysql html

好吧所以我试图基本上把$ row ['cardid']中的内容设置为我的div标签的值。然后在回显的html文件中,它将运行我的函数,该函数使用div标签中的该值。现在,当我使用onclick时,它会拉起但是我的值是未定义的。所以我的问题是,当我使用html将其提取时,为什么我的变量未定义?

<?php
$q=$_GET["q"];
$con = mysql_connect("*", "*", "*");
if (!$con)
    {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db("*", $con);
$sql="SELECT cardset, cardname, cardnumber, cardid FROM cards WHERE cardname LIKE '%".$q."%' OR cardset LIKE '%".$q."%'"; 
$result = mysql_query($sql) or die ('Error: '.mysql_error ());

echo "<table border='1'>
<tr>
<th>#</th>
<th>Cardname</th>
<th>Card Set</th>
</tr>";
while ($row = mysql_fetch_array($result)) 
{
echo "<tr>";
echo "<td>" . $row['cardnumber'] . "</td>";
// This is the troubled line.
echo '<td><div value="'.$row['cardid'].'" onclick="changeimage(this.value)">' . $row['cardname'] . '</div></td>';
echo "<td>" . $row['cardid'] . "</td>";
echo "<td>" . $row['cardset'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>

4 个答案:

答案 0 :(得分:1)

我不完全理解你的问题,但你的意思是这样的?

echo '<td><div onclick="changeimage(this.id)" id="'.$row['cardid'].'">' . $row['cardname'] . '</div></td>';

基本上使用ID而不是值..

示例:jsFiddle

答案 1 :(得分:1)

div元素没有value属性,但您可以获得名为attribute的{​​{1}}的值 - 您应该使用value

.getAttribute("value")

示例:http://jsfiddle.net/vaSYh/

此外,如果您需要将数据存储在DOM元素中,use data- attributes.(或者只是将它们命名为即使您现在不必支持HTML5;它将使转换更容易)

答案 2 :(得分:1)

不要使用this.value。 这不是一种形式。

使用this.innerText或this.innerHtml获取div的内容

答案 3 :(得分:0)

如果我理解你的答案,你想提醒$ row ['cardid']的价值? 使用您的代码,您无法获得正确的值,因为您将javascript代码与PHP代码混合在一起。 'onclick'事件处理程序中的'this'关键字是javascript函数本身,然后它没有'value'属性。 试试这段代码,提醒正确的值:

echo '<td><div value="'.$row['cardid'].'" onclick="changeimage('.$row['cardid'].'">'. $row['cardname'] . '</div></td>';