前端攻城狮---AJAX(1)

服务端

像一个网页,里面的数据来自哪里?如何去渲染?

其实都是通过服务器来获取数据。当用户点击地址栏,它向服务器发起一个HTTP请求,服务器收到后就会做出响应。

            当用户在地址栏中输入域名按回车后,发生了什么事情?
            a  浏览器先DNS上获取服务器的IP地址  
            b  浏览器向服务器发一个http请求(get/post)上行请求(request)
            c  服务器会接受到http请求并做出响应(response)
            d  浏览器解析数据,渲染代码呈现在我们眼前

                                    Request
            Client(浏览器)  -------------->Server(服务器)   
                                    <--------------
                                     Response  

这里我们后台用到php,这里我们只对php进行简单的入门讲解。

php的入门

这里php+apache+mysql的安装这里就不做讲解。这里只讲解php最基本的相关知识。

切记含有php的代码,需要跑在服务器里

咱们先来看看第一个php程序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <h1>今天 我非常高兴,买了一部iphone<?php echo 7 ?></h1>
</body>
</html> 

echo 表示输出,所有的php代码 都必须在<?php ?>里面被包裹着。

  • php书写的位置

<?php   ?>可以出现在任何位置,甚至可以穿插在html代码里,php的输出还可以结合html,去实现想要的效果

    <table>
       <tr <?php if()  echo "class='kk'" ?>></tr>
    </table>

我们通过php输出class="kk"的内容,给tr设置类样式

  • echo

echo语句要求结尾加分号 ;

  • 变量及作用域

php的变量命名的规则和js差不多的,但是要以$开头。

php的作用域没有块级作用域的。

<?php
    $num = 100;
    function fn() {
        // 在函数内部假如需要认识全局变量  需要在函数内部声明global
        global $num;
        echo $num;
    }
    fn();
?>
  • 运算符

php的运算符同js一样,唯一的区别就是字符串拼接需要用 。而不是+

	<?php
    	$a = 10;
    	$b = 20;
    	$c = $a + $b;
    	echo $c; //30
    	echo "<br/>";
    	echo 1 + 2 % 3 * 4;//9
    	echo "<br/>";
    	echo 10 . "2"*3;//106
    	echo "<br/>";
   		echo 6 !== "6";//1
	?>

从上面就可以看出字符串拼接的方法,10 . 6 =106

  • 数组

我们可以通过数组,去循环编写列表

 <?php
     $a = array("北京","上海","广州","深圳","合肥","杭州");
     //echo  $a[1];
     // 输出数组详细信息
     //print_r($a);
     // 求数组元素个数
     //echo count($a);
?>

<ul> 
     <?php 
          for($i=0; $i<count($a); $i++) {
     ?>
     <li><?php echo $a[$i]; ?></li>
     <?php
          }
     ?>
</ul>

同样可以换一个方式去循环输出

<ul>
    <?php
        for($i = 0;$i<count($a);$i--){
            echo "<li>".$a[$i]."</li>";    
        }
    ?>
</ul>
  • 循环

php的循环方式同js一样

if     if..if else...else     do() while      switch      while

  • 练习写一个table 要求隔行变色
<body>
 	<table>
       <?php 
          for($i = 0;$i<10;$i++){
               if($i%2==0){
                    echo "<tr class='bg_green'><td></td><td></td><td></td></tr>";
               }else{
                    echo "<tr class='bg_red'><td></td><td></td><td></td></tr>";
               }
          }
       ?>

      <?php 
          for($i = 0;$i<10;$i++){
      ?>
          <tr <?php echo "class=" . ($i%2==0?"bg_green":"bg_red")  ?> >
               <td></td>
               <td></td>
               <td></td>
          </tr>
      <?php }?>
     </table>
</body>

方法有很多 这里就介绍常规的两种方式。


讲完php的基本语法,加下来我们来讲解mysql的基本使用,在了解完这些内容,才便于我们更好的去模拟流程。

mysql

mysql是一款图形化管理数据库的工具,至于安装这里就不讲解。因为我们的重心不在这里,而是在AJAX。

我建立了一个数据库 名字叫first,创建了一个表叫student

以上就是student表的数据和参数。

接下来我们就要通过和数据库建立联系,去获取student表的数据,通过li来显示出来。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<?php 
		$connect = mysql_connect("localhost","root","123456");
		mysql_selectdb("first",$connect);
		mysql_query("SET NAMES UFT8");
		$result = mysql_query("SELECT * FROM student WHERE AGE = 20");
		while ($row = mysql_fetch_array($result)) {
	?>	
		<li><?php 	echo $row["name"];?></li>
		<li><?php 	echo $row["tel"];?></li>
		<li><?php 	echo $row["age"];?></li>
		<br/>
	<?php	}
		mysql_close($connect);
	?>
</body>
</html>

首先我们需要去连接本地的数据库。

      mysql_connect("localhost","root","123456");//表示连接本地的数据库,输入mysql的用户名和密码

其次需要去访问到我们创建的first数据库里的student的表

      mysql_selectdb("first",$connect);//找到first的数据库

      mysql_query("SELECT * FROM student WHERE AGE = 20");//筛选student表中,年级是20的数据

最后输出数据,并关闭数据库

      mysql_fetch_array($result)//会依次循环筛选的结果,返回的是数据的对象。

      mysql_close($connect);//关闭数据库

mysql_query("SET NAMES UFT8");这句话是为了这事字节码,为了防止乱码。

前面的储备知识都讲解完了,后面开始我们会去讲解html如何和服务器进行交互,若表达有误请指出,望共同进步。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值