• 数据访问......简单练习


    一、通过登陆者找到他的好友并显示在页面上

    关于登陆会在后期学习,现在就设定登陆者为18653378660

    <?php

    $uid = 18653378660;

    ?>

    在做之前先思考逻辑是怎么实现的,先分析两张表,看一下我要实现什么功能,然后一步一步推导我应该怎么做。

    先连接数据库,根据用户名Uid到Friends表里面查Friends,然后根据Friends到users表里面查到NickName和Pic在页面上显示出来,最后用CSS与JS调整样式与布局

    <?php
    $db=new MySQLi("localhost","root","xiao8888","weixin");
    !mysqli_connect_error() or die("连接失败!");
    $sql="select Friends from Friends where Uid='{$uid}'";
    $result=$db->query($sql);
    $attr=$result->fetch_all();
    //var_dump($attr);
    foreach($attr as $v)
    {
        $fuid=$v[0];        //好友用户名
        //根据好友用户名去查users表查出昵称和头像
        $sqlu="select NickName ,Pic from Users where UId='{$fuid}'";  //根据主键值只能查出一条数据,所以可用fetch_row()读取数据
        $r=$db->query($sqlu);
        $attru = $r->fetch_row();
        echo "<div class='hy' onclick='Select(this)'  >   
                <div class='pic'><img src='{$attru[1]}' width='50' height='50'/></div>
                <div class='nk'>{$attru[0]}</div>
        </div>";
        //Select(this)中this代表元素本身
    }
    ?>

    CSS样式:

    <style type="text/css">

    *{ margin:0 auto; padding:0;}

    .hy{ 200px; height:50px; margin-top:5px;}

    .hy:hover{ background-color:#06c; cursor:pointer; color:#FFF;}

    .pic{ 50px; height:50px; float:left;}

    .nk{ 130px; height:50px; float:left; marin-left:20px; line-height:50px; vartical-align:middle; }

    </style>

    用Javascript实现选中状态:

    <script type="text/javascript">

    function Select(aa)

    {

      //清除原选中状态

      var div = document.getElementsByClassName("hy");

      for(var i=0;i<div.length;i++)

      {

        div[i].style.backgroundColor="white";

        div[i].style.color="#000";

      }

      //设置选中状态

      aa.style.backgroundColor="#60c";

      aa.style.color="#FFF";

    }

    </script>

     ?>

    注意:用JS后CSS中的hover效果颜色无效,但鼠标指针效果仍在。

    二、流式布局(float)

    以div为例,div默认占用一行,我们虽然可通过CSS设置div自身大小,但他还是会占用一行,如果我们不想让他占一行,就要用到流。

    <div>AA</div>

    <div>BB</div>

    <div>CC</div>

    <div>DD</div>

    <div>EE</div>

    <div>FF</div>

    没有加样式时默认占用一行

    加入样式 .test{ 200px; height:50px;}后div自身大小变了,但还是会占用一行,后面橘黄色部分相当于margin

    用float向左流,所有的div依次向左靠: .test{ 200px; height:50px; float:left;}

    用float向右流时,所有的div依次从右向左排: .test{ 200px; height:50px; float:right;}

    当一行不够用时,自动到第二行,一直往下流。

    但是用了流之后,就相当于浮在上层,下面的东西会往上靠,比如新加一个div:<div style="100px; height:100px; background-color:red">FF</div>

    AA会浮在FF上面

    如果不想让流式布局影响到下面的东西,就必须截断流:<div style="clear:both"></div>

    截断流之后就可以正常显示了

  • 相关阅读:
    QTreeWidget创建
    Qt QTreeWidget节点的添加+双击响应+删除详解(转)
    Qt QTreeWidget 树形结构实现(转)
    QMessageBox类学习:
    QAction类详解:
    Qt事件和信号的区别 .
    Qt消息机制和事件(二)
    Qt消息机制和事件(一)
    初步开始学习图
    图中最短路径算法(Dijkstra算法)(转)
  • 原文地址:https://www.cnblogs.com/xinghun/p/5474590.html
Copyright © 2020-2023  润新知