Il est très courant d'utiliser la base de données dans le développement PHP. Si nous restons longtemps sur une page sans fonctionner, il y aura des invites ou des erreurs, je pense que tout le monde l'a rencontré. Nous allons donc parler aujourd'hui de la façon de le faire. exploitez la base de données. Agissez et évitez les délais d'attente des pages !
Remarque :
Lors de l'initialisation ou de la modification de la base de données :
1. Utilisez simplement les instructions SQL directement Terminer.
2. Un peu plus compliqué, cela peut être complété en exécutant du code php (lire les données puis écrire/modifier les données).
Lors de l'utilisation de code php (pas de ligne de commande), nous pouvons rencontrer un délai d'attente de page Web. Il existe généralement trois solutions :
1. Définir php.ini :
max_execution_time
2. Ajoutez le code :
set_time_limit(0); //0表示不超时
3. La page s'actualise automatiquement et termine l'ensemble du travail par lots : La page peut changer avec le processus d'exécution, par exemple, elle peut indiquer dynamiquement à l'utilisateur jusqu'où elle a été exécutée, au lieu d'attendre une seule page.
Ce qui suit résume principalement la troisième méthode.
La page s'actualise automatiquement :
Actualisation de la page<==>La page saute et arrête de sauter lorsqu'une certaine condition est remplie.Saut de page : sortie des balises méta pour implémenter
if ($flag) { //跳转页面,xxx为该php文件的文件名 echo '<meta http-equiv="refresh" content="0;url=xxx.php?">'; } else { //刷新停止 }
rafraîchissement tout en passant des paramètres pour contrôler les opérations de la base de données :
Dans la méta-URL, nous pouvons utiliser Get méthode pour passer un paramètre.Ce paramètre peut être utilisé pour modifier la limite de l'instruction SQL pour implémenter une partie de la fonction à chaque fois.
$page = isset($_GET['page']) ? $_GET['page'] : 0; //用$page构造sql语句或其它功能 //数据库操作或其它功能 //设置$flag $flag = $pdostatement->rowCount() == 0; //比如数据库影响行数 //决定 跳转刷新 或 停止 if ($flag) { //跳转页面,xxx为该php文件的文件名 echo '<meta http-equiv="refresh" content="0;url=xxx.php?page=' . ++$page . '">'; } else { //刷新停止 }
Supposons, +1 pour certaines données de champ, l'implémentation spécifique :
Je ne suis pas très familier avec SQL maintenant.S'il ne s'agit que d'une limite limite, il peut arriver que les données qui ont été interrogées soient à nouveau interrogées et exécutées une seconde fois ?
Personnellement, je pense qu'il est préférable d'ajouter l'ordre de la clé primaire par
<meta charset="UTF-8"> <?php $page = isset($_GET['page']) ? $_GET['page'] : 0; $step = 50; //每次刷新更新 50条数据 $limit_start = $page * 50; $dsn = "mysql:host=localhost;dbname=db_name"; try { $pdo = new PDO($dsn, "root", "123456"); $sql = <<<SQL SELECT col_num, col_id FROM table_name ORDER by col_id LIMIT {$limit_start},{$step} SQL; $pdostatement = $pdo->prepare($sql); $pdostatement->execute(); $pdostatement->setFetchMode(PDO::FETCH_NUM); $num = $pdostatement->rowCount(); if ($num == 0) { echo "sql执行完毕"; } else { echo "正在执行sql<br>"; $sql_update = "UPDATE table_name "; while (list($col_num, $col_id) = $pdostatement->fetch(PDO::FETCH_NUM)) { $col_name++; $sql_update .= <<<SQL SET col_name = "{$col_num}" WHERE col_id = "{$col_id}" , SQL; } $sql_update = substr($sql_update, 0, -1); //去掉最后的逗号 $pdostatement_update = $pdo->prepare($sql_update); $pdostatement_update->execute(); $num_update = $pdostatement_update->rowCount(); if ($num_update == 0) { echo $gfc_id . "修改出错,停止更新"; } else { echo '<meta http-equiv="refresh" content="0;url=jianshu.php?page=' . (++$page) . '">'; } } } catch (PDOException $e) { echo "数据库连接失败" . $e->getMessage(); //连接失败,获取错误信息 exit; }
Articles similaires :
Comment gérer PHP en actualisant automatiquement la page
Tutoriel de fonctionnement et de connexion à la base de données php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!