Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2011, 03:51
Avatar de Atorort
Atorort
 
Fecha de Ingreso: abril-2010
Ubicación: Valencia
Mensajes: 127
Antigüedad: 14 años, 7 meses
Puntos: 0
Listas anidadas

Buenos días, tengo un script 'prefabricado' que me lista alfabéticamente todos los clientes que tengo. Ahora quiero unir a eso los servicios que le damos a cada cliente.

Es decir, que quede algo como:

Cliente 1
Servicio 1
Servicio 2
Cliente 2
Servicio 1
Servicio 3

Trabajo con una BDD mysql, en una tabla tengo los clientes (ID, Nombre) y en otra tabla tengo los Servicios (ID, ID_cliente, Descripcion)

¿Alguien tiene alguna idea?

El código del script:

Código PHP:
Ver original
  1. <h1>Clientes Grupo MCG</h1>
  2. <div style="padding-right: 15px; padding-left: 15px; padding-bottom: 15px; padding-top: 15px; background-color: #f0eeeb; text-align: justify">
  3.     <p><strong>MCG</strong> conforma el Grupo de mayor implantación en la Comunidad Valenciana en materia de gestión tributaria y de recaudación, prestando sus servicios en las siguientes Entidades y Organismos.</p>
  4.     <div align="center" style="background-color:#FFFFFF;">
  5.  
  6.     <?php  
  7.         $abecedario=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");  
  8.         foreach($abecedario AS $letra)
  9.             {  
  10.                 echo '<a href="#'.$letra. '">'.$letra. '</a>&nbsp;&nbsp;&nbsp;';  
  11.             }  
  12.  
  13.     ?>
  14.     </div>
  15. </div>
  16.  
  17. <?php
  18.     // Variables de presentación en la ventana:
  19.     $num_columnas = 2;
  20.     $ancho_tabla = 860;
  21.     $ancho_columna = $ancho_tabla / $num_columnas;
  22.     $alineado_celdas = 'left';
  23.  
  24.     // Conexión con la Base de Datos:
  25.     $db =& JFactory::getDBO();
  26.  
  27.     // Mostramos capa de Servicios de Habilitas en columna izquierda:
  28.     $query_clientes = "SELECT nombre FROM #__listado_clientes ORDER BY      nombre;";
  29.  
  30.     $db->setQuery($query_clientes);
  31.     $row_clientes = $db->loadAssocList();
  32.     $num_clientes=count($row_clientes);
  33.  
  34.     echo '<table width="' . $ancho_tabla .'" border="0" align="center" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF">';
  35.  
  36.     $contador=1;
  37.     $letra_actual = "";
  38.  
  39.     FOR ($i = 0; $i < $num_clientes; $i++)
  40.       {
  41.  
  42.         IF ($letra_actual == "")
  43.            {
  44.              $letra_actual = substr($row_clientes[0]['nombre'], 0, 1);
  45.              echo '<tr><td colspan="2" height="5px"><img src="images/spacer.gif" height="1px"></td></tr>';
  46.              echo '<tr valign="center" align="left" colspan="' . $num_columnas . '"><td valign="center">';
  47.              echo '<a id="'. $letra_actual .'" name="'. $letra_actual .'"/></a>';
  48.              echo '<i><font size="5" face="Constantia,serif" color="#9ca520">' . $letra_actual. '</span></i>';
  49.              echo '</td></tr>';
  50.              echo '<tr height="1px"><td colspan="2" height="1px" bgcolor="#d6d89b"><img src="images/spacer.gif" height="1px"></td></tr>';
  51.            }
  52.         if (substr($row_clientes[$i]['nombre'], 0, 1) > $letra_actual)
  53.            {
  54.              $letra_actual = substr($row_clientes[$i]['nombre'], 0, 1);
  55.              echo '<tr><td colspan="2" height="5"><img src="images/spacer.gif" height="1"></td></tr>';
  56.              echo '<tr valign="center" align="left" colspan="' . $num_columnas . '"><td valign="center">';
  57.              echo '<a id="'. $letra_actual .'" name="'. $letra_actual .'"/></a>';
  58.              echo '<i><font size="5" face="Constantia,serif" color="#9ca520">' . $letra_actual. '</span></i>';
  59.              echo '</td></tr>';
  60.              echo '<tr height="1px"><td colspan="2" height="1px" bgcolor="#d6d89b"><img src="images/spacer.gif" height="1px"></td></tr>';
  61.            }
  62.  
  63.         if ($contador % $num_columnas == 1)
  64.           {
  65.              echo "<tr><td><li>" . $row_clientes[$i]['nombre'] . "</li></td>";
  66.           }
  67.         else if ($contador % $num_columnas == $num_columnas - 1)
  68.           {
  69.              echo "<td><li>" . $row_clientes[$i]['nombre'] . "</li></td></tr>";
  70.           }
  71.         else
  72.           {
  73.              echo "<td><li>" . $row_clientes[$i]['nombre'] . "</li></td>";
  74.           }
  75.  
  76.         $contador++;
  77.       }
  78.  
  79.     echo "</tr></table>";
  80. ?>
__________________
Adrian Tornero Ortiz
Técnico Superior en Desarrollo de Aplicaciones Informáticas
https://www.linkedin.com/in/adriantornero