当每行具有自己的动态值时,动态php行仅将第1行的值赋予javascript函数

时间:2014-09-11 19:05:12

标签: javascript php jquery mysql sql

我已经玩了一段时间了,我不能让每一行发送它显示给javascript函数的特定值,只要点击哪一行就会发送第一行值?

我需要根据mysql结果的结果发送每个特定行的值。

以下是我只提供第1行值的代码。

<?php
require 'core/init.php';

$records = array();

$result = ("(SELECT * FROM message ORDER BY id DESC LIMIT 25)ORDER BY id ASC");
$results = ($db->query($result));

if($results->num_rows){
    while($row = $results->fetch_object()){
        $records[] = $row;
    }
    $results->free();
}

if(!count($records)){
    echo 'no records';
}else{
    ?>
    <table>
    <?php
    foreach ($records as $r){
    ?>
        <tr>
            <td><div id="modOptions" onclick="modOptions()"><?php echo escape($r->sender); ?></div></td>
            <td><?php echo escape($r->message); ?></td>

            <input type="hidden" id="modOptionsIp" value="<?php echo escape($r->ip); ?>"/>
            <input type="hidden" id="modOptionsSender" value="<?php echo escape($r->sender); ?>"/>
            <input type="hidden" id="modOptionsMessage" value="<?php echo escape($r->message); ?>"/>
        </tr>
    <?php
    }
    ?>
    </table>
<?php
}
?>

它显示一切正常,但不会给每一行指定其特定值

非常感谢任何指针。

1 个答案:

答案 0 :(得分:0)

更改js modOptions函数,使其可以接受参数

function modOptions(ip, sender, message) {
    //ip sender and message are from the row you clicked on
}

并像这样呈现onclick:

onclick="modOptions('<?php echo escape($r->ip); ?>', '<?php echo escape($r->sender); ?>', '<?php echo escape($r->message); ?>' );"

你现在拥有的那些隐藏的字段是无用的