Google
Web dns.bdat.net

Re: [PHP-ES] Duda con ciclos While anidados

Write haof XML files: Mario Ramirez ( mario_ramirez@lacorona.com.mx)
Fecha: mar 04 oct 2005 - 21:46:38 CEST


Hola José,

Mira hay una manera de hacerlo, tal vez no muy elegante pero te puede
funcionar, lo que puedes hacer es salvar la variable que contenga el
idempresa y compararlo con el siguiente registro y asi sabras cuando cambio
de idempresa y puedes pintar el titulo, NOTA: esto solo te puede funcionar
en el caso que comentas, de que traes ordenada la consulta por id de la
empresa.

por ejemplo:

$sv_idempresa = -1;

while(){
        if($sv_idempresa != $idempresa){
              $sv_idempresa = $idempresa;
              /* aqui pintas tus encabezados */
        }
    /* aqui pintas el detalle de cada empresa */
}

espero que te sirva o te de alguna idea de como lo podrias hacer.

----- Original Message -----
From: "José C. Massón" < jose.masson@gmail.com>
To: "PHP-Español" < php-es@lists.php.net>
Sent: Tuesday, October 04, 2005 12:37 PM
Subject: [PHP-ES] Duda con ciclos While anidados

> Hola a todos:
>
> Tengo una tabla que tiene información sobre contactos, los cuales
> pertenecen a diferentes o a mismas empresas....
>
> Lo que quiero hacer (y no logro hacer que funcione) es que primero me
> imprima un encabezado con el nomnbre de la empresa... luego todos los
> contactos pertenecientes a esa emprea.... como la consulta la tengo
> ordenada por Idemprea, cuando pasa a otra empresa, quiero que vuelva a
> imprimir otro encabezado con el nombre de esta nueva empresa, y todos
> los contactos que hay pertenecientes a la misma....
>
> a continuación les pego el código en cuestión para ver si logran ver
> donde me mandé la cagada.... Disculpen por lo "rustico" del código...
> es que soy un completo principiante...
>
>
>
> $enviados=array_values($HTTP_GET_VARS);
> $cn=mysql_connect($host,$user,$pass);
> $sql1="SELECT * FROM contactos INNER JOIN empresas ON
> empresas.Idempresa=contactos.Idempresa
> WHERE contactos.nombres LIKE '%".$enviados[0]."%' ORDER BY
> contactos.Idempresa ASC";
>
> mysql_db_query($base,$sql1,$cn);
> mysql_close();
> $rs1=mysql_db_query ($base, $sql1, $cn);
>
> $cantidad_registros=mysql_num_rows($rs1);
> print "<br><div align=center class=texto>Cantidad de coincidencias:
> ".$cantidad_registros."<br><br>";
>
> $j=1;
> $fila=mysql_fetch_array($rs1);
> $empresa=$fila[13];
>
> while ($j<$cantidad_registros) {
>
> ?>
> <table width="700" border="0" align="center" cellpadding="0"
> cellspacing="0">
> <tr>
> <td width="600" align="center" class="tabla"> <div
> class="tituloempresa">
> <? print $fila[14];
> print "<br> ";
> print $fila[15];?>
> </div></td>
> <td width="100" align="center">
> <div class="texto">Ver más...</div>
> </td>
> </tr>
> </table>
>
>
> <?
> while ($empresa==$fila[13])
> {
>
> ?>
>
> <br>
> <table width="680" height="86" border="0" align="center"
> cellpadding="0" cellspacing="0" class="tabla">
> <tr>
> <td width="340" class="texto">
> &nbsp; &#8226; Nombres: <? print $fila[1]; ?><br>
> &nbsp; &#8226; Apellidos: <? print $fila[2]; ?><br>
> &nbsp; &#8226; Apodo: <? print $fila[3]; ?><br>
> &nbsp; &#8226; Cargo: <? print $fila[4]; ?><br>
> &nbsp; &#8226; Tel&eacute;fono: <? print $fila[5]; ?><br>
> &nbsp; &#8226; Celular: <? print $fila[6]; ?>
> </td>
> <td width="340" class="texto">
> &nbsp; &#8226; Fax: <? print $fila[7]; ?><br>
> &nbsp; &#8226; E-mail Laboral 1: <a href="mailto:<? print
> $fila[8]; ?>"><? print $fila[8]; ?></a><br>
> &nbsp; &#8226; E-mail Laboral 2: <a href="mailto:<? print
> $fila[9]; ?>"><? print $fila[9]; ?></a><br>
> &nbsp; &#8226; E-Mail Personal 1: <a href="mailto:<? print
> $fila[10]; ?>"><? print $fila[10]; ?></a><br>
> &nbsp; &#8226; E-mail Personal 2: <a href="mailto:<? print
> $fila[11]; ?>"><? print $fila[11]; ?></a>
> </td>
> </tr>
> </table><br><br>
>
> <?
> $fila=mysql_fetch_array($rs1);
> $empresa=$fila[13];
> $j++;
> } #esta llave cierra la llave de apertura del primer While
>
> } #Esta llave cierra la llave de apertura del segundo while
>
>
>
> --
> José C. Massón
>
> .: Rebeldes Stereotipos
> Sábados 19 a 20 hs FM La Tribu 88.7 MHz
> www.fmlatribu.com
>
> --
> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:49 CET