PHP经典项目案例-(1)博客管理系统3
PHP经典项目案例-(一)博客管理系统3
本篇给出首页左侧导航栏及右部公告区的实现。
六、左侧导航栏:
1、日历:
这里单独一个php文件,在显示日历的那个地方直接引用该文件即可:
cale.php
<?php class calendar{ private $year,$month,$day; private $week=array("Sun","Mon","Tue","Wed","Thu","Fri","Sat"); private $_month=array( "01"=>"一月", "02"=>"二月", "03"=>"三月", "04"=>"四月", "05"=>"五月", "06"=>"六月", "07"=>"七月", "08"=>"八月", "09"=>"九月", "10"=>"十月", "11"=>"十一月", "12"=>"十二月" ); function setyear($year){ //设置年份 $this->year=$year; } function getyear(){ //获得年份 return $this->year; } function setmonth($month){ //设置月份 $this->month=$month; } function getmonth(){ //获得月份 return $this->month; } function setday($day){ //设置日期 $this->day=$day; } function getday(){ //获得日期 return $this->day; } function OUT(){ //输出日历 $this->_env(); //设置显示的日期 $week=$this->getweek($this->year,$this->month,$this->day); //获得日期为星期几 $fweek=$this->getweek($this->year,$this->month,1); //获得此月第一天为星期几 echo "<div style="width:255;font:9pt"> <form action="%24_SERVER%5BPHP_SELF%5D" method="'post'" style="'margin:0'"> <select name="'month'" onchange="'this.form.submit();'">"; for($ttmpa=1;$ttmpamonth)==0){ $select="selected style='background-color:#FAFDE2'"; }else{ $select=""; } echo "<option value="'$ttmpb'">".$this->_month[$ttmpb]."</option>"; } echo " </select> <select name="'year'" onchange="'this.form.submit();'">"; //输出年份,前后10年 for($ctmpa=$this->year-10;$ctmpayear+10;$ctmpa++){ if($ctmpa>2050){ break; } if($ctmpayear)==0){ $select="selected style='background-color:#FAFDE2'"; }else{ $select=""; } echo "<option value="'$ctmpa'">$ctmpa</option>"; } echo "</select> </form> <br> <table border="0" align="center">"; for($Tmpa=0;$Tmpa<count>week);$Tmpa++){ //输出星期的标头 echo "<td>".$this->week[$Tmpa]."</td>"; } for($tmpb=1;$tmpbmonth,$this->day,$this->year));$tmpb++){ //输出所有日期 if(strcmp($tmpb,$this->day)==0){ //获得当前日期,并采用特色颜色做为标记 $flag=" bgcolor='#FF3366'"; }else{ $flag=' bgcolor=#FAFDE2'; } if($tmpb==1){ echo "<tr>"; for($tmpc=0;$tmpc"; } } if(strcmp($this->getweek($this->year,$this->month,$tmpb),0)==0){ //如果是周日 echo "</tr> <tr> <td align="'center'">$tmpb</td>"; }else{ echo "<td align="'center'">$tmpb</td>"; } } echo "</tr></count> </table> </div>"; } //获得方法内指定的日期的星期数 function getweek($year,$month,$day){ $week=date("w",mktime(0,0,0,$month,$day,$year)); //获得星期 return $week; //获得星期 } function _env(){ if(isset($_POST["month"])){ $month=$_POST["month"]; }else{ $month=date("m"); //默认为本月 } if(isset($_POST["year"])){ $year=$_POST["year"]; }else{ $year=date("Y"); //默认为本年 } $this->setyear($year); $this->setmonth($month); $date=sprintf('%1d',date('d')); $this->setday($date); }} $D=new calendar; $D->OUT(); ?>
在index.php里面直接引用该文件
<!-- 日历显示 --> <tr> <span style="white-space:pre"> </span><td height="155" align="center" valign="top"><?php include 'cale.php';?></td> </tr>
2、最新文章显示:
<!-- 最新文章显示 --><tr> <span style="white-space:pre"> </span><td height="125" align="center" valign="top"> <table width="200" border="0" cellpadding="0" cellspacing="0"> <tr> <span style="white-space:pre"> </span><td> <table width="201" border="0" cellpadding="0" cellspacing="0" style="margin-top:25px" valign="top"> </table> </td> </tr> <?php $sql="select id,title from tb_article order by id desc limit 5"; $res = $sqlHelper->execute_dql($sql); $i=1; while($info=$res->fetch_assoc()){ ?> <tr> <span style="white-space:pre"> </span><td width="201" align="left" valign="top"> <a href="article.php?file_id=<?php%20echo%20%24info%5B'id'%5D;?>" target="_blank"><font size="2"><?php echo $i."、".substr($info['title'],0,27);?></font></a> </td> </tr> <?php $i=$i+1; } ?> <tr> <td height="10" align="right"><a href="file_more.php"><img src="images/more.gif" style="max-width:90%" style="max-width:90%" border="0" alt="PHP经典项目案例-(1)博客管理系统3" > </a></td> </tr> </table> </td> </tr>
这里给出上面用到的方法实现代码:
sqlHelper.class.php部分代码:
class SqlHelper{ public $mysqli; public $dbname="db_tmlog"; public $username="root"; public $password="root"; public $host="localhost"; public function __construct(){ $this->mysqli = new mysqli($this->host, $this->username, $this->password, $this->dbname); if($this->mysqli->connect_error){ die("连接失败".$this->mysqli->connect_error); } $this->mysqli->query("set names utf8"); } //执行dql语句 public function execute_dql($sql){ $res = $this->mysqli->query($sql) or die($this->mysqli->error); //这里返回的是一个结果集,当调用$row = $res->fetch_assoc()时是一条一条的向下走,应该使用while循环 return $res; } <span style="font-family: Arial, Helvetica, sans-serif;">}</span>
dql语句就是简单的查询语句。
在使用数据库查询之前,先把这个文件包进去,然后new一个工具类对象,然后使用对象调用里面的函数。
3、最新图片显示
<!-- 最新图片显示 --><tr> <span style="white-space:pre"> </span><td height="201" align="center" valign="top"> <br> <table width="145" border="0" cellspacing="0" cellpadding="0"> <tr> <span style="white-space:pre"> </span><td> <table width="201" border="0" cellspacing="0" cellpadding="0" valign="top" style="margin-top:5px;"> <?php <span style="white-space:pre"> $sql="select id,tpmc,file from tb_tpsc order by id desc limit 2"; $res2 = $sqlHelper->execute_dql($sql); while($info=$res2->fetch_assoc()){ <span style="white-space:pre"> </span>$query="select * from tb_tpsc where id=".$info['id']; <span style="white-space:pre"> </span>$result=$sqlHelper->execute_dql($query); <span style="white-space:pre"> </span>if($row = $result->fetch_assoc()){ <span style="white-space:pre"> </span>$data = $row['file']; <span style="white-space:pre"> </span>} ?> <tr> <span style="white-space:pre"> </span><td width="9" rowspan="2" align="center"> </td> <td width="147" align="center"> <a href="image.php?recid=<?php%20echo%20%24info%5B'id'%5D;%20?>" target="_blank"> <img src="<?php%20echo%20%24data;?>" style="max-width:90%" style="max-width:90%" border="0" alt="PHP经典项目案例-(1)博客管理系统3" > </a> </td> <td width="10" rowspan="2" align="center"> </td> </tr> <tr> <td align="center">图片名称:<?php echo $info['tpmc'];?> </td> </tr> <?php } ?> <tr> <span style="white-space:pre"> </span><td colspan="3" height="10" align="right"><a href="pic_more.php"><img src="images/more.gif" style="max-width:90%" style="max-width:90%" border="0" alt="PHP经典项目案例-(1)博客管理系统3" > </a></td> </tr> </table> </td> </tr> </table> </td> </tr>
同样使用了数据库查询。
4、公告区实现
在公告区使用了我以前没有见过的一个标签
它里面设置了一些属性,就是当鼠标停留在上面的时候它就停止滚动,离开的时候就开始滚动。
<?php <span style="white-space:pre"> $p_sql = "select * from tb_public order by id desc"; $p_rst = $sqlHelper->execute_dql($p_sql);?><marquee onmouseover="this.stop()" style="width:426px; height:280px" onmouseout="this.start()" scrollamount="2" scrolldelay="7" direction="up" align=""><span style="FONT-SIZE: 9pt"><center> <?php <span style="white-space:pre"> </center></span>while($p_row = $p_rst->fetch_row()){?><a href="#" onclick="wopen=open('show_pub.php?id=<?php echo $p_row[0]; ?>','','height=200,width=1000,scollbars=no')"><?php echo $p_row[1]; ?></a><br> <?php }?></marquee>
到这里我们的首页基本就实现了。这是index.php 的完整代码:index.php提取码:iu09

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

Bahagian 1: Langkah Penyelesaian Masalah Awal Menyemak Status Sistem Apple: Sebelum menyelidiki penyelesaian yang rumit, mari kita mulakan dengan asas. Masalahnya mungkin tidak terletak pada peranti anda; Lawati halaman Status Sistem Apple untuk melihat sama ada AppStore berfungsi dengan betul. Jika terdapat masalah, anda hanya boleh menunggu Apple membetulkannya. Semak sambungan Internet anda: Pastikan anda mempunyai sambungan internet yang stabil kerana isu "Tidak dapat menyambung ke AppStore" kadangkala boleh dikaitkan dengan sambungan yang lemah. Cuba tukar antara Wi-Fi dan data mudah alih atau tetapkan semula tetapan rangkaian (Umum > Tetapkan Semula > Tetapkan Semula Tetapan Rangkaian > Tetapan). Kemas kini versi iOS anda:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Artikel ini akan membantu anda mentafsir kod sumber vue dan memperkenalkan sebab anda boleh menggunakan ini untuk mengakses sifat dalam pelbagai pilihan dalam Vue2. Saya harap ia akan membantu semua orang.

Perbezaannya ialah: 1. div ialah elemen peringkat blok, dan span ialah elemen sebaris; 2. div akan secara automatik menduduki baris, manakala span tidak akan secara automatik membalut; span digunakan untuk membalut Teks atau elemen sebaris lain 4. div boleh mengandungi unsur peringkat blok dan unsur sebaris lain, dan span boleh mengandungi unsur sebaris lain.

Seorang rakan sekerja tersekat kerana pepijat yang ditunjukkan oleh masalah penunjuk Vue2 ini menyebabkan fungsi anak panah digunakan, mengakibatkan ketidakupayaan untuk mendapatkan prop yang sepadan. Dia tidak tahu apabila saya memperkenalkannya kepadanya, dan kemudian saya sengaja melihat kumpulan pertukaran bahagian hadapan Setakat ini, sekurang-kurangnya 70% pengaturcara bahagian hadapan masih tidak memahaminya anda pautan ini. Jika semuanya tidak jelas saya belum belajar bagaimana untuk melakukannya, sila berikan saya mulut yang besar.

Watch4pro dan gt masing-masing mempunyai ciri yang berbeza dan senario yang berkenaan Jika anda menumpukan pada fungsi yang komprehensif, prestasi tinggi dan penampilan yang bergaya, dan sanggup menanggung harga yang lebih tinggi, maka Watch 4 Pro mungkin lebih sesuai. Jika anda tidak mempunyai keperluan fungsi yang tinggi dan memberi lebih perhatian kepada hayat bateri dan harga yang berpatutan, maka siri GT mungkin lebih sesuai. Pilihan terakhir harus diputuskan berdasarkan keperluan peribadi, belanjawan dan keutamaan Adalah disyorkan untuk mempertimbangkan dengan teliti keperluan anda sendiri sebelum membeli dan merujuk kepada ulasan dan perbandingan pelbagai produk untuk membuat pilihan yang lebih termaklum.
