Heim Backend-Entwicklung PHP-Tutorial php+mysql 分页有关问题

php+mysql 分页有关问题

Jun 13, 2016 am 11:59 AM
gt lt mysql nbsp page

php+mysql 分页问题
求教:php+mysql分页 ,先贴代码,再描述问题
代码:

<br /><br /><br />$page=isset($_GET['page'])?intval($_GET['page']):1;        //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。<br />$searchinfo=isset($_GET['search'])?($_GET['search']):"-1"; <br />$search=($searchinfo=='请输入关键字')?-1:$searchinfo;<br /><br />$num=1;                                      //每页显示3条数据<br /><br />/*<br />首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是<br />总数据库除以每页显示的条数,有余进一。<br />也就是说10/3=3.3333=4 有余数就要进一。<br />*/<br /> if ($config[NEEDDB]) {  //if need db<br />	$dbLink = DBPool::getLink($config[DBDRIVER]);<br />	$daoImpl = DAOImpl::getImpl($dbLink, $config[TABLEPRE][BACKEND]);	<br />	$config[DBLINK] = $dbLink;<br />	$config[DAOIMPL] = $daoImpl;<br />}<br />$adRs = $config[DAOIMPL]->adSearchCount($search);<br />//$adList = rs2Array($adRs);<br />$adList=mysql_fetch_array($adRs);<br />mysql_free_result($adRs);<br />//DBPool::closeLink($config[DBLINK]);<br />if(count($adList)>0){<br />$total=$adList[0]['cn']; //查询所有的数据<br />}<br />else{<br />	$total=0;<br />}<br /><br />$url='views/adSearchResult.php';//获取本页URL<br />//页码计算<br />$pagenum=ceil($total/$num);                                    //获得总页数,也是最后一页<br />$page=min($pagenum,$page);//获得首页<br />$prepg=$page-1;//上一页<br />$nextpg=($page==$pagenum ? 0 : $page+1);//下一页<br />$offset=($page-1)*$num;                                        //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。<br />//开始分页导航条代码:<br />$pagenav="显示第 <B>".($total?($offset+1):0)."</B>-<B>".min($offset+10,$total)."</B> 条记录,共 $total 条记录 ";<br />//如果只有一页则跳出函数:<br />//if($pagenum<=1) return false;<br />$pagenav.=" <a href=javascript:dopage('result','$url?page=1');>首页</a> ";<br />if($prepg) $pagenav.=" <a href=javascript:dopage('result','$url?page=$prepg');>前页</a> "; else $pagenav.=" 前页 ";<br />if($nextpg) $pagenav.=" <a href=javascript:dopage('result','$url?page=$nextpg');>后页</a> "; else $pagenav.=" 后页 ";<br />$pagenav.=" <a href=javascript:dopage('result','$url?page=$pagenum');>尾页</a> ";<br />$pagenav.="</select> 页,共 $pagenum 页";<br />//假如传入的页数参数大于总页数,则显示错误信息<br />If($page>$pagenum){<br />       Echo "Error : Can Not Found The page ".$page;<br />       Exit;<br />}<br />$adSearchRs = $config[DAOIMPL]->getADSearchInfo($search,$offset,$page);<br />$adSearchList = rs2Array($adSearchRs);<br />//mysql_free_result($adSearchRs);<br />foreach ( $adSearchList as $it){<br />//While($it=mysql_fetch_array($adSearchRs)){<br />      Echo  '<div class="sylist1"><br />       <input type="checkbox" class="check" name="checkbox" id="checkbox'.$it['id'].'" value="'.$it['id'].'"/><br />       </div><br />       <div class="sylist2">'.$it['title'].'</div><br />       <div class="sylist3">'.$it['subject'].'</div><br />       <div class="sylist4">'.$it['pic_url'].'</div><br />       <div class="sylist5">'.$it['advert_url'].'</div><br />       <div class="sylist6">'.$it['if_valid'].'</div><br />       </div>';<br />}//显示数据<br /><br />echo $pagenav;//输出分页导航<br /><br /><br />
Nach dem Login kopieren



问题描述:分页思路:先计算出查询条件的记录条数,然后根据页码和每页条数计算出分页数据(存在两次分页)。
第一次查询,是ok的,能够返回满足条件的数据条数,($adRs = $config[DAOIMPL]->adSearchCount($search););但是第二次查询执行后就报错了,报错信息是:
对应代码是While($it=mysql_fetch_array($adSearchRs)) 就是获取返回结果的时候。另外打印出的sql copy到数据库是有数据返回的
------解决方案--------------------
那就是 $adSearchRs = $config[DAOIMPL]->getADSearchInfo($search,$offset,$page); 已经出错了!
你的 sql 指令是 call audioconver.p_advert_qry('-1',0,1) 吗?
正确吗?结果返回给谁了?

------解决方案--------------------
commands out sync: you can't run this command new
这是“命令不同步”的原因,如果遇到该错误,说明正在以错误顺序调用客户端函数

你执行的是 call 命令,没有 select
所以会产生两个结果集
第一个是 select 的结果集,由于没有 select 命令,所以是无效的不能 php 处理成资源
第二个才是 call 的结果集

虽然 mysql 提供了 C 函数 mysql_next_result 用于移动结果集
但 php 的 mysql 扩展并没有提供该函数,所以可认为php 的 mysql 不能很好的支持存储过程(因为 mysql4 并不支持存储过程)
mysqli 扩展提供了 mysqli_next_result 函数,所以如果使用了存储过程,最好是用 mysqli 驱动

附上解决该问题的 C 代码

 do<br>    {<br>         result=mysql_store_result(&conn);<div class="clear">
                 
              
              
        
            </div>
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1664
14
PHP-Tutorial
1267
29
C#-Tutorial
1239
24
MySQLs Rolle: Datenbanken in Webanwendungen MySQLs Rolle: Datenbanken in Webanwendungen Apr 17, 2025 am 12:23 AM

Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

MySQL und PhpMyAdmin: Kernfunktionen und Funktionen MySQL und PhpMyAdmin: Kernfunktionen und Funktionen Apr 22, 2025 am 12:12 AM

MySQL und PhpMyAdmin sind leistungsstarke Datenbankverwaltungs -Tools. 1) MySQL wird verwendet, um Datenbanken und Tabellen zu erstellen und DML- und SQL -Abfragen auszuführen. 2) PHPMYADMIN bietet eine intuitive Schnittstelle für Datenbankverwaltung, Tabellenstrukturverwaltung, Datenoperationen und Benutzerberechtigungsverwaltung.

MySQL gegen andere Programmiersprachen: Ein Vergleich MySQL gegen andere Programmiersprachen: Ein Vergleich Apr 19, 2025 am 12:22 AM

Im Vergleich zu anderen Programmiersprachen wird MySQL hauptsächlich zum Speichern und Verwalten von Daten verwendet, während andere Sprachen wie Python, Java und C für die logische Verarbeitung und Anwendungsentwicklung verwendet werden. MySQL ist bekannt für seine hohe Leistung, Skalierbarkeit und plattformübergreifende Unterstützung, die für Datenverwaltungsanforderungen geeignet sind, während andere Sprachen in ihren jeweiligen Bereichen wie Datenanalysen, Unternehmensanwendungen und Systemprogramme Vorteile haben.

Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Lösen Sie das Datenbankverbindungsproblem: Ein praktischer Fall der Verwendung von Minii/DB -Bibliothek Apr 18, 2025 am 07:09 AM

Bei der Entwicklung einer kleinen Anwendung stieß ich auf ein kniffliges Problem: die Notwendigkeit, eine leichte Datenbankbetriebsbibliothek schnell zu integrieren. Nachdem ich mehrere Bibliotheken ausprobiert hatte, stellte ich fest, dass sie entweder zu viel Funktionalität haben oder nicht sehr kompatibel sind. Schließlich fand ich Minii/DB, eine vereinfachte Version basierend auf YII2, die mein Problem perfekt löste.

Laravel Framework Installationsmethode Laravel Framework Installationsmethode Apr 18, 2025 pm 12:54 PM

Artikelzusammenfassung: Dieser Artikel enthält detaillierte Schritt-für-Schritt-Anweisungen, um die Leser zu leiten, wie das Laravel-Framework einfach installiert werden kann. Laravel ist ein leistungsstarkes PHP -Framework, das den Entwicklungsprozess von Webanwendungen beschleunigt. Dieses Tutorial deckt den Installationsprozess von den Systemanforderungen bis zur Konfiguration von Datenbanken und das Einrichten von Routing ab. Durch die Ausführung dieser Schritte können die Leser schnell und effizient eine solide Grundlage für ihr Laravel -Projekt legen.

MySQL für Anfänger: Erste Schritte mit der Datenbankverwaltung MySQL für Anfänger: Erste Schritte mit der Datenbankverwaltung Apr 18, 2025 am 12:10 AM

Zu den grundlegenden Operationen von MySQL gehört das Erstellen von Datenbanken, Tabellen und die Verwendung von SQL zur Durchführung von CRUD -Operationen für Daten. 1. Erstellen Sie eine Datenbank: createdatabasemy_first_db; 2. Erstellen Sie eine Tabelle: CreateTableBooks (IDINGAUTO_INCRECTIONPRIMARYKEY, Titelvarchar (100) Notnull, AuthorVarchar (100) Notnull, veröffentlicht_yearint); 3.. Daten einfügen: InsertIntoBooks (Titel, Autor, veröffentlicht_year) va

Lösen Lösen Apr 18, 2025 am 08:42 AM

Bei der Entwicklung einer E-Commerce-Website mit Thelia habe ich auf ein kniffliges Problem gestoßen: Der MySQL-Modus ist nicht ordnungsgemäß eingestellt, wodurch einige Funktionen nicht ordnungsgemäß funktionieren. Nach einigen Erkundungen fand ich ein Modul namens TheliamysqlModeSCecker, das das von Thelia erforderliche MySQL -Muster automatisch beheben kann und meine Probleme vollständig lösen kann.

See all articles