【问题标题】:how to reorder buttons on page refresh in a form?如何在表单中重新排序页面刷新按钮?
【发布时间】:2018-03-27 17:07:20
【问题描述】:

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

<?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>
    }
?>

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

【问题讨论】:

  • 作为一个即时错误,我可以看到这里$array = array( '&lt;?php echo $userRow['test1']; 有一个打开的&lt;?php 标签,然后打开另一个&lt;?php 标签而不关闭第一个标签。请说明您遇到的错误以及用户表中的列。另外请检查您是否提供了Minimal, Complete, and Verifiable example。谢谢。

标签: javascript php html mysql associative-array


【解决方案1】:

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

<?
    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>';
    }
?>

【讨论】:

    猜你喜欢
    • 2019-10-26
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多