Maison base de données tutoriel mysql 帮助你开发基于MySQL数据库的论坛设计_MySQL

帮助你开发基于MySQL数据库的论坛设计_MySQL

Jun 01, 2016 pm 02:03 PM
char int basé sur 帮助 开发 数据库 article 论坛 设计

1。系统架构: EA vK| `  
采用模块化思想,分为3层: q,n,B|Q  
NY7f  
  a。数据存储层:使用MySQL来存放bbs的所有数据,包括用户信息,文章数据,用户信件,用户消息,系统数据(?),关键问题: 数据库的规划,是否用文件来辅助。 ! _Q"  
CB[H 2 
  b。系统功能层:完成bbs的基本功能,由多个并列模块组成,向下调用mysql的函数访问数据库,向上,接受处理请求,将处理的结果返回上层,根据请求类型,返回成败结果和其他数据。而且模块高度灵活,可以方便的修改增加。包括: V|1Q4[Yc  
O3c"afU  
  ** 用户模块,处理用户的注册,基本数据的修改,权限的变化,网友信息的查询。 e`i K%C;)  
  ** 版面模块,完成文章发表,文章的读取,文章的删除,文章的加标记,读改删权限检查,此模块对数据库的要求最高。 VqZ .K(9  
  ** 精华区模块,包括精华区的文章,目录的增加,删除,上下移动 S ]2u|S  
!_u{|t  
'%H8 pm  
(?)读改删权限检查,目录结构是其中的难点。 n' y/':K  
-rZ%??[rC  
  ** 信件模块,包括发新信件,读删信件,信笺标记,新信件的通知 :U-k* 3e  
  ** 消息模块,包括发送消息,接受消息,新消息通知,消息回顾,消息存信件。 \i#" (w!Q  
  ** 系统动态模块,包括当前上站人数,当前动态,由于变动频繁,此类数据用共享内存实现可能更好。 j" :e#Apb  
  ** 聊天模块,双人聊天是否能借鉴icq的做法,由双方直接通话,但聊天结果存信件可能较麻烦,同时,为兼容telnet功能,当上层服务层为telnet时,增加专门的模块来进行处理。 (.?|T4  
  ** 聊天室模块,利用共享内存还是数据库?开房间,里面的权限问题。根据需要,还能增加新的功能。例如:活动看板模块,但对于非telnet终端,意义好象不大。。。。。

3。数据库设计 ]AD]O? 
O~.{XT$  
  关键还是MySQL的效率问题,合理分配mysql的内存,特别是table cache的 K!?c-1[~}(  
大小。另外,当系统突然掉电呢?mysql是否robust? 6b]~K[cp%  
  table的名字设计,采用一位前缀表明类型,全部用小写表示(?),例如: &WOC)^ Ia  
系统的数据库,以s为前导,如用户表:suser(sUSER 呢?),具体如下: }0gv0Q#  
~^s=i,O  
s :系统表,suser,sclass wJidO_Tu_  
m :用户信件表,msysop,mdrangon ia "3A)4  
w :用户消息表,wsysop,wdrangon mpx9@4pk>  
a :版面索引表,aLinux,acampus e\7*9~}?  
b :版面文章表,blinux,bcampus '{{bfIHz  
c :特殊分类版面表,cnewboard _cY&(_  
i :精华区索引表,ilinux,ilinux01,icampus,icampus04 g@jk'l  
j :精华区文章表,jlinux,jcampus, k9 O5S~^U  
(I?C5*Yu  
  另外,是使用字串还是数字作为标识呢?例如,一个叫sysop的帐号,其 g@;uj Or'  
id是1,他的信的表是msysop还是m00001呢?同样,一个叫campus的版,对应的 5oc:%{ L$  
代码是5,则这个版的文章的表名是bcampus还是b00005呢?可能用字串会容易 PSf V #3  
理解,查错吧。 lR73 R|;  
l?e.%QRW  
用户信息表:suser +>:B-hD^.A  
X ~xt[`s_  
usernum int unique, // 唯一标识符,最多30000个帐号,会不会太少了? \p>N^n-q  
userid char[20] primary key, // 排序的关键字,id,全小写。 XLd@on3?f  
passwd char[20], // 密码,存放加密后的密文。 Jr3=i  
realid char[20], // 实际id,大小写混合。 9'xg>PS  
username char[24], // 用户的泥称 7b 
userlevel longint, // 64种权限? hQrV~P9\c  
nUMLogins int, xas T3G  
numposts int, YuFmcPmT  
firstlogin time, BR?eE@3  
lastlogin time, r%3.H  
staytime time, /* 总共停留时间 */ FD#JN3L1!  
lasthost char[32], 6j%+RR  
email varchar[100], v(0TszV  
address varchar[100], sN7*a )7b  
;dw*g5L)  
// 还需要其他数据吗?是否需要留出一定的保留值,以后alter table来 XDHhobR  
// 增加新的字段时,效率如何? t#t'S?@  
d!_lxJ?w  
版面分类表:sclass {>]h*)% $  
;X 4:9J E  
classnum int unique, // 分类标识 cfDb3,!PU  
classid char[20], // 分类的英文id:computer uf8|mvac  
classname varchar[100],// 分类的中文描述:电脑世界 6} u2yx1 
classtable char[20], // 特殊分类对应的版面表 5 pz\ &  
// 一般来说,每个版面只属于一个分类,对于特殊分类,例如拳头版块, EsGx\0Y|k  
// 新版面,可以用专门的表来描述 aj Jjgs;  
版面表:sboard DY\Q[=X  
k|a[T(  
boardnum int unique, // 版面的标识(需要吗?) W0@_:CFYa  
boardid char[20], // 版面的英文名 \g.@+=cSR  
boardname varchar[100], // 版面的中文名 *i&h`  
boardclass char[20], // 版面所属分类 {n/L}w_Z  
boardsysop varchar[100], // 斑竹名单 ]y{wUf k  
boardposts int, // 版面的文章数 B22[ER  
boardlevel int, // 版面的读写权限 a3_=C!A7H  
indextable char[20], // 版面对应的索引表的名称:aboardid? RGf5g #  
texttable char[20], // 版面对应的文章表名称: bboardid? >38CZUP  
$)zW0oa  
// 最后两项有没有必要出现,是否可以作为必然对应关系,还是允许 =(&"F\r@X  
// 出现更大的灵活性?另外版面的大小写问题是否可以直接默认 QO} y_~@  
// 只开头字母大写, `AvA 34S;  
d"Xf`@B&ZZ  
特殊分类版面表:snewboard, sstarboard )\hbT[s%  
k/bqGHYb  
boardid char[20], // 版面的id )_17O93d7W  
// 这样的表有必要吗? o^}&o,+  
qT'wA*{  
版面索引表:acampus,aLinux,afootball。。。。。。 00,Viq6  
V\T7W|(  
id int, // 文章序数,要手动调整???? dMq nEP@ 
mark char[1], // 文章标记,m,g,b,d。。。。 WqZ9Dn3l  
title varchar[100], // 文章标题 @ThXa"  
writer char[20], // 文章作者id i1 +Q@pw  
posttime time, // 发表时间 .,&y>  
textnum longint, // 对应的编号???不调整 U/jc[j@  
qhPa{~  
版面文章表 $lq H  
zzaoFki[  
textnum longint, // 文章编号? c{8=MZvM\  
textword text, // 文章内容? v3*wj*Bk  
Pil=(%s  
// 有必要将索引和文章内容分开吗?从效率上看,况且lazy flush /eJ*o~U&  
// 是必然的。删除也是先做个标记。 DFqN|i_ `  
d;R.o  
// 用户中的版面文章是否未读的数据比较繁,是否应该再建一堆的表 i| O~^DVD  
// 才能实现呢? *Z',OZxB  
// 投票功能暂不考虑。。。。

4。用户模块设计 D  
 对于底层数据库,调用MySQL的C API函数来进行数据库的修改,内部保存一定的状态变量(例如用户名,还是留给上一层完成?),对上一层,则提供用户管理的接口。 ,3$]1*K- 9  
+.6"#p"PF  
Class UserManage { ~(JH>?ncMI  
private: \d.GW9FV  
char myuserid[20]; // 用户的id,未登陆前为空 JPmJ  
time logintime; // 用户登陆时间,并用于计算停留时间 Pw_ngscK  
char loginhost[20]; //上站地点。 5Ri/^;W  
FsO/'G  
public: ZnnC%9~,  
Qr^' 9 _T  
int NewUser( char *userid, char *passwd ); ^)%{=*Sx:  
新建一个用户,判断是否已经有,其他资料暂时为空, @#tdSD^`M  
firstlogintime,权限等设缺省值。 Y);DKP/  
int UserLogin( char *userid, char *passwd ); uxxyQz2 q  
用户登陆,验证密码, !isP~z  
int ChangePasswd( char *oldpasswd, char *newpasswd ); $$|cbQ,  
修改密码,要求原密码一致。 j=]Y `V>  
int ChangePriData( char *newname, char *newemail, ?8iZi$t!  
char *newaddr ); TIWNQ+t8  
改变基本数据,泥称,email,住址。。。。 d]t3sa)WSf  
int ModifyNumData( int addlogin, int addpost ); w=a~yi}Dl  
修改文章数,上站次数,等数据。。。。注意调用对象。 Yjh(~P  
int UserLogout(); $-Q"=7  
用户退出,修改lastlogin,staytime,loginhost等 y]qi\nw5\  
#l=$]aD&e  
// 普通查询命令 @yW m7  
int QueryCommonData( const char * userid, int& loginnum, XS1i 
char * username, int& postnum, 42 VZv  
time& lastlogin, char *lasthost ); 31.tCQo}TU  
查询网友基本信息。 y9%_^7 b*  
!)Rwh2Z  
// 特权指令,函数在完成功能前,先判断权限。 'K=ZtHu`C  
int QueryPriData( const char * userid, char *email, @AL|i>mV  
char *addr ); =8kY1o ]  
查询基本信息,普通人只能查自己,有特权才能查其他人。 G K=]R;Fq_  
int ModifyUserLevel( BOOL isAdd, unsigned long level ); zi \N>M 
修改用户的权限, lg7jZJA\  
int ModifyUserId( char *oldid, char *newid ); m?[~,Pg=  
char *newemail, char *newaddr ); 8 T~^\8U)  
修改用户的基本数据。 tKesJ.U  
int ModifyUserNumdata( char *userid, int addlogin, int addpost ); TjoEGoTf, 
修改用户的文章数等数据。 f=)!.u; 
int ModifyUsERPasswd( char *userid, char *newpasswd ); Xr#:@8Y;  
修改用户的密码。 "5'$Bs&=  
} mdzn! %.f6  
5Pc#4CWUP  
  以上各个函数难度不大,都是执行相应的sql语句,访问mysql数据库,是否将一般指令归到特权指令中去呢?权限的检查,是放在这一层还是上一层? yyyhM9*"YR  
  这更多的是看考虑的着重点,是看程序的清晰性还是代码的简练,可能还是看代码吧,毕竟要考虑访问量,另外,上层服务层是否也应该考虑权限检查问题呢? wvK@GL?  
5。版面模块设计 1XZyP [Ik  
| [zXh]TI  
   所谓分类,更多的是为telnet服务端考虑的,在cq66模式下,用户可以按照自己的意愿进行分类,反正最后都是直接以版为基本单位访问的。 c%8?":bQ  
  对于版面文章的访问,存放的时候以整篇文章为参数,文章的分块由本层完成,如果上层以块为单位传送,则在上层全部传完,组合后,再传参到本层分解;在读取 的时候,本层则以块为单位访问,如果上层要以全文为单位访问,则在上层做合并 工作,本层不管。 I._}jCOC1U  
  至于要不要独立出索引,不影响上层的操作,主要和下层的数据库构造有关,主要考虑可行性,效率需求等。 *z:2fk>  
  权限的检查放在哪里进行呢?还是放在上层吧,其实就telnet服务器端,和cq66 的客户端,根本不会给一般用户显示特殊指令的菜单,当然,用户可以直接发送cq66 的指令,服务器方还是要检查的。但应该不用在它下面的功能模块层再检查一次吧 。 :R6lJb:48  
tv5VSP.I  
Class BoardManage { 1f> 6sl  
private: u4P{-"~'  
R3 WIn.de  
public: R%0LmFoK  
// 有关分类的操作 c|$& -$!7  
int GetClassNameInfo( int maxclass, char **classid, R/iz#mLX  
char ** classname ); yGFZ)IIw  
返回分类的信息,中英文名。 W7|oo#9azg  
int GetBoardName( int maxboards, char *classid, _H' 3nN7G=  
char **boardname ); uF&HM +a  
返回某分类中的版面信息,一般分类,直接select .. `TY s8^D  
from sboard i/pp?epU  
where boardclass == .... 特殊分类则查相应的表。。。。 y7bj -  
>:\zTsV"  
// 修改需要版面管理员以上的特权 d\l!MOGL  
int NewClass( char * newclassname, int type ); `%[j,Z#  
新建分类,普通分类还是特殊分类, 2MNg\rbp  
int DeleteClass( char *newclassname ); lyl:a]a  
删除分类,但不cascade,即本层不负责一致性,由上层负责将 Rc 
相应的版面的分类信息改为别的。分类改名也是先删再建, 4||6=L  
int AddClassBoard( const char *classname, char *newboardname ); `/!\!*gz|N  
将已建好的版加入某分类中,专门针对特殊分类,对一般分类,其 ^aHBtr:  
效果和modifyboardinfo一样, %0' Y?%s  
int DeleteClassBoard( const char *classname, char *boardname ); UYTZw9-^O  
从分类中删除某个版,也是针对特殊分类,对一般分类,效果也 $|SWF=Q  
是和modifyboardinfo一样,一个版的分类属性可以为空,即不属 6^{n!i&q|{  
于任何分类。 4}BAXm?F  
// 有关版的信息的操作。 R( 1v  
int NewBoard( const char *boardid,char *boardname); FWvL`  
新建一个版,建立对应的表。其他参数取默认值。 2 N F)i  
int DeleteBoard( const char *boardid ); bopeof8  
删除一个版,删除对应的表。 ~2Ap?gwoax  
int GetBoardInfo( const char *boardid, char *boardname, GdPMT|^  
int& numposts, char *masters, char *class, \_0M  
long &level ); =kU9A*?  
取的版面的信息。 yGp{ "  
int ModifyBoardId( const char *oldid, char *newid ); g`_ca  
改变版的英文id,对应table的名称也要改变, 7-*gd 8Xd}  
int ModifyBoardInfo( const char *boardid, char *boardname, IJV(2#*Y  
int numposts, char *masters, char *class, #+@tDx=  
long level ); H[8nq{0 @  
修改版面信息,需要特权。 jVYv+9pk  
obX%,/  
// 有关版面文章的操作。 irGM_mh%-  
int AddText( char *boardid, char *title, char *writer, )bJ] 5f 9  
char *text ); _M WRO  
往版面中增加文章,内部将长文章分割成2k的块。 Fmi3E2N  
int DeleteText( char *boardid, int num ); B`UdWdjr0(  
删除文章,只是做一个标记,并不立刻修改对应的table。 OohU?!7;OP  
int FlushTable( char *boardid ); %|3AMv;p  
刷新版面,删除被删文章的对应的记录。 NAiOE(B  
int MarkText( char *boardid, int num, char mark ); DmA{jNn1 
给文章做标记。 o?U31}  
int ModifyTitle( char *boardid, int num, char *newtitle ); ' ;OR.L 
修改文章的标题。 zdV"8!  
int ModifyText( char *boardid, int num, char *newtext ); 78j}j!H1  
修改文章内容,不是自己的文章需要特权。 XFc&GYW|  
int GetTextInfo( const char *boardid, int num, char *title, DR8xyAy_  
char *writer, char& mark ); 0` RcHOk  
取得文章的标题信息。 +P7]T(L:k  
int GetText( const char *boardid, int num, int block, qCI;k{Eq  
char *text ); D" (* }K  
读取文章的内容,以块为单位。 Vtr>w f]yn  
hpy e6AA  
// 文章和作者的查询 61"\x% I  
// 一次将查询的结果全部返回? A1"~vh  
int QueryWriter( const char *boardid, char *writer,

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le Wi-Fi portable ZTE 5G U50S est mis en vente au prix de 899 NT$ lors du premier lancement : vitesse maximale de 500 Mbps Le Wi-Fi portable ZTE 5G U50S est mis en vente au prix de 899 NT$ lors du premier lancement : vitesse maximale de 500 Mbps Apr 26, 2024 pm 03:46 PM

Selon les informations du 26 avril, le Wi-Fi portable 5G U50S de ZTE est désormais officiellement en vente, à partir de 899 yuans. En termes de conception d'apparence, le Wi-Fi portable ZTE U50S est simple et élégant, facile à tenir et à emballer. Sa taille est de 159/73/18 mm et est facile à transporter, vous permettant de profiter du réseau haut débit 5G à tout moment et en tout lieu, offrant ainsi une expérience de bureau mobile et de divertissement sans entrave. Le ZTE 5G portable Wi-Fi U50S prend en charge le protocole avancé Wi-Fi 6 avec un débit de pointe allant jusqu'à 1 800 Mbps. Il s'appuie sur la plate-forme 5G hautes performances Snapdragon X55 pour offrir aux utilisateurs une expérience réseau extrêmement rapide. Non seulement il prend en charge l'environnement réseau bimode 5G SA+NSA et la bande de fréquences inférieure à 6 GHz, mais la vitesse du réseau mesurée peut même atteindre un étonnant 500 Mbps, ce qui est facilement satisfaisant.

Honor Magic V3 lance la technologie de protection oculaire anti-focalisation AI : atténue efficacement le développement de la myopie Honor Magic V3 lance la technologie de protection oculaire anti-focalisation AI : atténue efficacement le développement de la myopie Jul 18, 2024 am 09:27 AM

Selon les informations du 12 juillet, la série Honor Magic V3 a été officiellement lancée aujourd'hui, équipée du nouvel écran de protection oculaire Honor Vision Soothing Oasis. Bien que l'écran lui-même ait des spécifications élevées et une haute qualité, il a également été le pionnier de l'introduction de la protection oculaire active AI. technologie. Il est rapporté que les « lunettes de myopie » sont le moyen traditionnel de soulager la myopie. La puissance des lunettes de myopie est uniformément répartie pour garantir que la zone centrale de la vue est imagée sur la rétine, mais la zone périphérique est imagée derrière la rétine. La rétine sent que l'image est derrière, favorisant la direction de l'axe de l'œil plus tard, approfondissant ainsi le degré. À l'heure actuelle, l'un des principaux moyens d'atténuer le développement de la myopie est la « lentille de défocalisation ». La zone centrale a une puissance normale et la zone périphérique est ajustée au moyen de cloisons de conception optique, de sorte que l'image dans la zone périphérique tombe dans l'image. devant la rétine.

Le téléphone mobile Honor X60i est en vente à partir de 1 399 yuans : écran direct OLED quadrilatéral visuel Le téléphone mobile Honor X60i est en vente à partir de 1 399 yuans : écran direct OLED quadrilatéral visuel Jul 29, 2024 pm 08:25 PM

Selon les informations du 29 juillet, le téléphone mobile Honor X60i est officiellement en vente aujourd'hui, à partir de 1 399 yuans. En termes de design, le téléphone mobile Honor X60i adopte un design d'écran droit avec un trou au centre et des bordures ultra-étroites presque illimitées sur les quatre côtés, ce qui élargit considérablement le champ de vision. Paramètres du Honor X60i Affichage : écran haute définition de 6,7 pouces Batterie : batterie de grande capacité de 5 000 mAh Processeur : processeur Dimensity 6080 (TSMC 6 nm, 2x2,4G A76 + 6 × 2G A55) Système : système MagicOS8.0 Autres caractéristiques : amélioration du signal 5G , capsule intelligente, empreinte digitale sous l'écran, double micro, réduction du bruit, questions-réponses sur les connaissances, capacités de photographie : système de double caméra arrière : caméra principale de 50 millions de pixels, objectif auxiliaire de 2 millions de pixels, objectif selfie avant : 8 millions de pixels, prix : 8 Go

Nouveau processus d'empilage ! Xiaomi MIX Fold 4 est équipé pour la première fois d'une batterie Jinshajiang « de forme spéciale tridimensionnelle » Nouveau processus d'empilage ! Xiaomi MIX Fold 4 est équipé pour la première fois d'une batterie Jinshajiang « de forme spéciale tridimensionnelle » Jul 20, 2024 am 03:20 AM

Selon les informations du 19 juillet, le Xiaomi MIX Fold 4, le premier nouveau téléphone pliable phare, a été officiellement lancé ce soir et est équipé pour la première fois d'une « batterie tridimensionnelle de forme spéciale ». Selon les rapports, Xiaomi MIX Fold4 a réalisé une percée majeure dans la technologie des batteries et a conçu une « batterie tridimensionnelle de forme spéciale » innovante spécifiquement pour les écrans pliants. Les appareils à écran pliant traditionnels utilisent principalement des batteries carrées conventionnelles, qui ont une faible efficacité d'utilisation de l'espace. Afin de résoudre ce problème, Xiaomi n'a pas utilisé les cellules de batterie à enroulement courantes, mais a développé un nouveau processus de stratification pour créer une nouvelle forme de batterie, ce qui a considérablement amélioré l'utilisation de l'espace. Innovation technologique en matière de batterie Afin d'empiler alternativement et avec précision des feuilles d'électrodes positives et négatives et d'assurer l'intégration sûre des ions lithium, Xiaomi a développé une nouvelle machine de soudage par ultrasons et une nouvelle machine de stratification pour améliorer la précision du soudage et de la découpe.

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

L'Apple iPad Pro/Air 2024 ne prend pas en charge l'Apple Pencil de deuxième génération : de nouveaux modèles peuvent être achetés si nécessaire L'Apple iPad Pro/Air 2024 ne prend pas en charge l'Apple Pencil de deuxième génération : de nouveaux modèles peuvent être achetés si nécessaire May 08, 2024 pm 04:07 PM

Selon les informations du 8 mai, les nouvelles tablettes iPad Pro/Air d'Apple ont été lancées. Selon le site officiel d'Apple, les nouveaux iPad Pro et iPad Air ne prennent plus en charge l'Apple Pencil de deuxième génération sorti en 2018, mais prennent uniquement en charge l'Apple Pencil Pro. et Apple Pencil (USB-C). L'Apple Pencil (USB-C) sortira en novembre 2023. Ce stylet conserve les mêmes fonctionnalités de précision au niveau des pixels, de faible latence et de détection de l'angle d'inclinaison que l'Apple Pencil de première et de deuxième génération, tout en éliminant la fonction de sensibilité à la pression et de détection de l'angle d'inclinaison. ne prend pas en charge le chargement sans fil. Son prix est de 649 yuans. Le nouveau ApplePe

Le téléphone de Vivo avec le signal le plus fort ! vivo X100s est équipé d'un système universel d'amplification du signal : 21 antennes, conception surround 360° Le téléphone de Vivo avec le signal le plus fort ! vivo X100s est équipé d'un système universel d'amplification du signal : 21 antennes, conception surround 360° Jun 03, 2024 pm 08:41 PM

Selon les informations du 13 mai, le vivoX100s a été officiellement lancé ce soir. En plus d'excellentes images, le nouveau téléphone fonctionne également très bien en termes de signal. Selon l'introduction officielle de vivo, le vivoX100s utilise un système universel innovant d'amplification du signal, équipé de jusqu'à 21 antennes. Cette conception a été réoptimisée sur la base de l'écran direct pour équilibrer de nombreuses exigences de signal telles que la 5G, la 4G, le Wi-Fi, le GPS et le NFC. Cela fait du vivoX100s le téléphone mobile doté de la capacité de réception de signal la plus puissante de l’histoire de Vivo. Le nouveau téléphone utilise également un design surround unique à 360°, avec des antennes réparties autour du corps. Cette conception améliore non seulement la force du signal, mais optimise également diverses postures de maintien quotidiennes pour éviter les problèmes causés par des méthodes de maintien inappropriées.

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

See all articles