Re: Pagination problems

From: Date: Mon, 03 Oct 2005 16:49:34 +0000
Subject: Re: Pagination problems
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-40459@lists.php.net to get a copy of this message
Add an identtiy column to the table, then select all records from the table where the identity col is between the start and the start+number of rows to show Bastien
From: "Rui Cruz" <ruicruz@fidelizarte.pt> To: php-db@lists.php.net Subject: Re: [PHP-DB] Pagination problems Date: Mon, 3 Oct 2005 15:46:33 +0100 The mssql_fetch_row works with an MS Access database? Because I'm have the same problem while trying to paginate results. I always read the whole results into an array an then I break them up using the array. This is a stupid and slow solution, but how could one overcome this? ""Pablo M. Rivas"" <pmrivas@gmail.com> wrote in message news:73c13ea5050902121115c1f5ed@mail.gmail.com... Hello Jenaro: First off all (i'ts not exactly your question), but i think you don't need to make this big array: $my_array[] =""; while ($row = mssql_fetch_object($rs)){
       $my_array[]="$row->tId";
} 'cause you don't need it... you may directly do something like this: $counter=0; while ($row=mssql_fetch_row($rs)) { if (($counter>=$start) and ($counter<($start+ $Page_Size)) {
    echo "<tr>";
    //There you go: Show all fields, one to each cell
    echo "<td>" . implode("</td><td>",$row) . "</td>";
    echo "</tr>\n";
} } To read: http://www.php.net/implode
            http://ar.php.net/mssql_fetch_row
Pablo. On 9/2/05, Jenaro Centeno Gómez <jcenteno@aldia.com.mx> wrote: Hello everybody, This is my first message to the list and as usual is to try to solve a problem. I am using PHP+IIS+SQLServer on windows platform (no choice at the moment :(...) Wel, I am trying to paginate some results this is the code: <? $conn = mssql_connect("myserver", "myuser", "mypassword"); mssql_select_db("database"); $Page_Size = 20; $page = $_GET["page"]; if (!$page) {
     $start = 0;
     $page=1;
} else {
     $start = ($page - 1) * $Page_Size;
} //This is my query, ordered of course $ssql = "select * from table ORDER by Name"; $rs = mssql_query($ssql,$conn); $total_records = mssql_num_rows($rs); $total_pages = ceil($total_records / $Page_Size); echo "Número de registros encontrados: " . $total_records . "<br>"; echo "Se muestran páginas de " . $Page_Size . " registros cada una<br>"; echo "Mostrando la página " . $page . " de " . $total_pages . "<p>"; $rs = mssql_query($ssql,$conn); $my_array[] =""; while ($row = mssql_fetch_object($rs)){
         $my_array[]="$row->tId";
} mssql_free_result($rs); mssql_close($conn); $contarray=1; The extracted data in the query is sent to the array and here is my problem because I need to know how to send all the fields to put every field in a different cell in the table, no just one field foreach ($my_array as $idarray=> $Id){
     //this is my verification used instead of the LIMIT clausule of mysql
     if ($idarray > $start && $contarray <= $Page_Size){
         echo "<tr><td>$Id</td>";
        $contarray++;
     }
} ?> </table> <? if ($total_pages > 1){
     for ($i=1;$i<=$total_pages;$i++){
        if ($page == $i){
           echo $page . " | ";
        }else{
           echo "<a href='xvr_web10901.php?page=" . $i . "'>" . $i . "</a>
| ";
        }
     }
} ?> </body> </html> I am almost new to PHP (1 day working with it, so maybe newbie is the rigth word).... Thanks in advance. -- L.A. Jenaro Centeno Gómez Alimentos La Concordia, S.A. de C.V. Loma de Prados No. 1332 Col. La Marimba Lagos de Moreno, Jal. C.P. 47470 Tel.- 01 474 741 92 00 Ext. 9280 La informacion contenida en este mensaje y sus anexos es de caracter privado y confidencial y para el uso exclusivo de la persona o institucion a la cual ha sido enviado y para otros autorizados para recibirlo, por lo que no podra distribuirse sin la autorizacion expresa del remitente. Si usted no es el destinatario a quien este mensaje fue dirigido o si no es un empleado responsable del envio de este mensaje al destinatario, se hace de su conocimiento que cualquier revision, diseminacion, distribucion, copia u otro uso o acto realizado con base en o relacionado con el contenido de este mensaje y sus anexos está estrictamente prohibida y puede ser ilegal. Asimismo, el presente mensaje no representa la manifestacion del consentimiento de ninguna de las partes, por lo que no genera derecho u obligación alguna para ambas sino hasta que sus representantes legales asi lo manifiesten por escrito. Si usted ha recibido este comunicado y sus anexos por error, le soli citamos lo notifique inmediatamente al remitente respondiendo a este correo y borre el presente y sus anexos de su sistema sin conservar copia de los mismos. Se suprimieron acentos y caracteres especiales para legibilidad del mismo. Gracias. Alimentos La Concordia, S.A. de C.V. The information contained in this message and its attachments is private and confidential and is intended solely for the use of the individual or entity to whom it is addressed and others who are authorized to receive it; therefore, its distribution cannot be possible without authorization from the sender. If you are not the intended recipient or an employee responsible for delivering this message to the intended recipient, you are hereby notified that any revision, dissemination, distribution, copying or other use or action based upon or relative to the information contained in this message and its attachments is strictly prohibited and may be unlawful. You are also informed that the contents of this message shall not be considered as an agreement between the parties and shall not bind any of them until their attorneys decide to do so in writing. If you have received this message and its attachments by error, please immediately notify the sender by replying to this mess age and deleting it from your system without keeping a copy. Thank you. Alimentos La Concordia, S.A. de C.V. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Pablo M. Rivas. http://www.pmrivas.com http://www.r3soft.com.ar ----------------------------------------------------------- -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.db (#40459) next »