javascript - 如何在表单中刷新页面时重新排序按钮?

标签 javascript php html mysql associative-array

假设我想在页面刷新时对表单中的按钮重新排序,以便在页面刷新时,按钮重新排序其位置。 主要问题是我要在按钮中显示的文本来自数据库数据。 下面是我现在正在尝试的代码-

<?php
session_start();
include_once 'dbconnect.php';


$res=mysqli_query($con, "SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysqli_fetch_assoc($res);
?>
<?php
    $array = array(
        '<?php echo $userRow['test1']; ?>'  => array( 'class' => 'foo', 'name' => 'update' ),
        '<?php echo $userRow['test2']; ?>' => array( 'class' => 'john', 'name' => 'update' ),
        '<?php echo $userRow['test3']; ?>'  => array( 'class' => 'x', 'name' => 'update' ),
        '<?php echo $userRow['test4']; ?>'  => array( 'class' => 'a', 'name' => 'update' ),
        '<?php echo $userRow['test5']; ?>'  => array( 'class' => 'b', 'name' => 'update' ),
        '<?php echo $userRow['test6']; ?>'  => array( 'class' => 'c', 'name' => 'update' ),
        '<?php echo $userRow['test7']; ?>'  => array( 'class' => 'd', 'name' => 'update' ),
        '<?php echo $userRow['test8']; ?>'  => array( 'class' => 'e', 'name' => 'update' ),
        '<?php echo $userRow['test9']; ?>'  => array( 'class' => 'f', 'name' => 'update' ),
        '<?php echo $userRow['test10']; ?>'  => array( 'class' => 'g', 'name' => 'update' ),
        '<?php echo $userRow['test11']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test12']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test13']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test14']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test15']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test16']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test17']; ?>'  => array( 'class' => 'h', 'name' => 'idchange' ),
        '<?php echo $userRow['test18']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test19']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
        '<?php echo $userRow['test20']; ?>'  => array( 'class' => 'h', 'name' => 'update' ),
    );

    uksort( $array, function() { return rand() > rand(); } ); //This will mix them up.

    foreach( $array as $item => $atts ){
        <form action="check1.php" method="post">
        echo '<div class="'. $atts['class'] .'"><button name="'. $atts['name'] .'" type="submit" >'. $item .'</button></div>';
        </form>
    }
?>

所以,它显示错误.. 那么有人可以帮助我解决这个问题吗?

最佳答案

如果数据库中没有错误,这应该可以工作

<?
    session_start();
    include_once 'dbconnect.php';

    $res=mysqli_query($con, "SELECT * FROM users WHERE user_id=".$_SESSION['user']);
    $userRow=mysqli_fetch_assoc($res);

    $array = array(
       $userRow['test1'] => array( 'class' => 'foo', 'name' => 'update' ),
        $userRow['test2']=> array( 'class' => 'john', 'name' => 'update' ),
        $userRow['test3'] => array( 'class' => 'x', 'name' => 'update' ),
        $userRow['test4'] => array( 'class' => 'a', 'name' => 'update' ),
        $userRow['test5'] => array( 'class' => 'b', 'name' => 'update' ),
        $userRow['test6'] => array( 'class' => 'c', 'name' => 'update' ),
        $userRow['test7'] => array( 'class' => 'd', 'name' => 'update' ),
        $userRow['test8'] => array( 'class' => 'e', 'name' => 'update' ),
        $userRow['test9'] => array( 'class' => 'f', 'name' => 'update' ),
        $userRow['test10'] => array( 'class' => 'g', 'name' => 'update' ),
        $userRow['test11'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test12'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test13'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test14'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test15'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test16'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test17'] => array( 'class' => 'h', 'name' => 'idchange' ),
        $userRow['test18'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test19'] => array( 'class' => 'h', 'name' => 'update' ),
        $userRow['test20'] => array( 'class' => 'h', 'name' => 'update' ),
    );

    uksort( $array, function() { return rand() > rand(); } );

    foreach( $array as $item => $atts ){
        echo '<form action="check1.php" method="post">';
        echo '<div class="'. $atts['class'] .'"><button name="'. $atts['name'] .'" type="submit" >'. $item .'</button></div>';
        echo '</form>';
    }
?>

关于javascript - 如何在表单中刷新页面时重新排序按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49518686/

相关文章:

javascript - Jquery 无法以动态生成的形式工作

php - 在 whm/cpanel 上禁用安全规则

javascript - 使用 javascript 更改 <audio> src

javascript - 前置 jquery 验证错误消息

JavaScript 追加变得疯狂

php - 使用 imagejpeg 将文件保存到子目录

javascript - 通过列出 id,只有 id 隐藏而不是完整的 li

php - HTML 选择然后填充输入框

javascript - 当用户单击浏览器后退按钮时显示警报

php - 同一时间在一行上的多个 Update 语句