数据库结果以内联和块的相反顺序显示,与分配的内容相反

Database results displaying in reverse order of inline and block from what is assigned

提问人:Paul 提问时间:7/18/2015 最后编辑:Paul 更新时间:7/20/2015 访问量:142

问:

我正在尝试通过while循环从我的数据库输出信息。我希望结果显示如下......

Firstname Lastname - Firstname Lastname - Firstname Lastname

玩家1 ---------------player1-----------------------player1

玩家2 ----------------player2-------------------------player2

玩家3 ------------------player3----------------------player3

但是,我的结果显示如下......

名字 姓氏

玩家 1 - 玩家 2 - 玩家 3

名字 姓氏

玩家 1 - 玩家 2 - 玩家 3

FirstName、LastName、Player1、Player2 和 Player 3 都是我的数据库表中的列。每当有新用户时,他们就会入到有新玩家的新行中。

法典:

<h1>Draft Order</h1>
<?php
$con = mysqli_connect("localhost", "", "", "");
$stmt = mysqli_query($con,"SELECT * FROM user_players");

while($row = mysqli_fetch_array($stmt)) {
    $player1 = $row['player1'];
    $player2 = $row['player2'];
    $player3 = $row['player3'];
?>
        <div class="inline">
        <?php echo $row['firstname'] . " " . $row['lastname']; ?>
        </div>
        <div class="draftBorder">
<?php
echo $player1;
echo $player2;
echo $player3;
?>
        </div>
<?php
}
?>

CSS的

.inline {
    display: inline;
    padding: 10px;
}
/*------Draft Page---*/
.draftBorder {
    border: 1px solid black;
    display: block;
}

我在一个名为“inline”的类中拥有 firstname 和 lastname 字段,以使这些字段内联,但它们显示为块。

我把玩家放在一个名为“draftBorder”的类中,并将其设置为阻止,但它是内联显示的。

为什么这些显示相反,我该如何更改它以获得我想要的结果。

更新:现在显示像...

firstname - 姓氏

玩家1

玩家2

玩家3

名字 姓氏

玩家1

玩家2

玩家3

名字 姓氏

玩家1

玩家2

玩家3

更新:从建议float: left;

名字 姓氏 ------player1

玩家3------------------玩家2

名字 姓氏 ------player1

玩家3------------------玩家2

名字 姓氏 ------player1

玩家3------------------玩家2

php html css while循环

评论

0赞 zgood 7/18/2015
我不知道你在期待什么,但看起来你只是在 2 个 div 中插入文本。在父 div 上定义不会使您的变量显示块...它只是 div 中的文本display:block;$player
0赞 Paul 7/18/2015
如何使$player变量显示块和名字和姓氏变量内联显示?
1赞 zgood 7/18/2015
试着把它们包装成这样:也许吧。虽然我不知道php<div><div><?php echo $player1;<?php></div>
0赞 Paul 7/18/2015
好的,这对 .我试图将名字和姓氏回声行包装在像 $players 这样的 div 中,但这什么也没做。我将更新我的问题以显示它的显示方式。$players
1赞 zgood 7/18/2015
好的,尝试删除您刚刚申请的 .然后将 and 都包装在一个 div 中(循环中每组 div 的容器),并为该 div 提供 .有意义?float.inline.inline.draftBorderdisplay:inline-block;float:left;

答:

0赞 Jaylen 7/20/2015 #1

我不确定我是否完全理解这里的要求,但请展示此代码并让我知道结果。

    <?php
    $con = mysqli_connect("localhost", "", "", "");
    $stmt = mysqli_query($con,"SELECT CONCAT_WS(" ", first_name, last_name) AS fullname, player1, player2, player3 FROM user_players");

    while($row = mysqli_fetch_array($stmt)) {

    echo '<h1>Draft Order</h1>';

    echo '<div style="display: block; width: 100%;">';
    for($i=1; $i<4; ++$i){


       echo '<div class="draftBorder">';
       echo $row['fullname'];
       echo '</div>';

       echo '<div class="draftBorder">';
       echo $row['fullname'];
       echo '</div>';

       echo '<div class="draftBorder">';
       echo $row['fullname'];
       echo '</div>';


    }

 echo '</div>';



    echo '<div style="display: block; width: 100%;">';
    for($i=1; $i<4; ++$i){
    $player = $row['player'.$i]

       echo '<div class="draftBorder">';
       echo $player;
       echo '</div>';

       echo '<div class="draftBorder">';
       echo $player;
       echo '</div>';

       echo '<div class="draftBorder">';
       echo $player;
       echo '</div>';


    }

 echo '</div>';

 }
?>

也把你的班级改成这个draftBorder

.draftBorder {
    border: 1px solid black;
    display: inline-block;
    width: 33.33%;
}