Foros del Web » Programando para Internet » PHP »

Seleccionar todos los datos de la tabla

Estas en el tema de Seleccionar todos los datos de la tabla en el foro de PHP en Foros del Web. Buenas compañeros, tengo otro problema en mi proyecto. Os comento: Tengo una tabla "Clientes" y otra tabla "Contactos". He hecho una pagina maestro detalle para ...
  #1 (permalink)  
Antiguo 30/07/2014, 05:37
 
Fecha de Ingreso: julio-2014
Mensajes: 53
Antigüedad: 9 años, 9 meses
Puntos: 1
Seleccionar todos los datos de la tabla

Buenas compañeros, tengo otro problema en mi proyecto. Os comento:

Tengo una tabla "Clientes" y otra tabla "Contactos". He hecho una pagina maestro detalle para la tabla "Clientes", en la maestro hay el nombre del cliente y en la detalle hay el teléfono, correo, fax, etc. Además, por cada cliente, tengo unos cuantos contactos y por eso he creado un menú spry dentro de la página detalle. He conseguido que solamente me muestre un contacto si verdaderamente pertenece a este cliente con la siguiente sentencia:
Código PHP:
Ver original
  1. <?php if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; }?>
Pero el problema es que de las 4 barras que tiene el menú, las 4 se llenan con el mismo contacto. Os pongo un ejemplo:

Tabla Clientes: (Seat, 938314587, [email protected], etc); (Audi, 93564215, [email protected], etc); (BMW, 93145698, [email protected], etc)
Tabla Contactos: : (Nerea, Audi, 93654565, etc); (Alberto, Audi, 93654789, etc) (Marta, Seat 93145697, etc); (Oscar, Audi, 93656987, etc)

Página maestro:
Audi

Página detalle:
Audi
93564215
[email protected]

MENÚ SPRAY --> Nerea-->Info de Nerea
--> Alberto--> Info de Alberto
--> Oscar--> Info de Oscar

Debería quedar como queda arriba, pero queda así:
MENÚ SPRAY --> Nerea-->Info de Nerea
--> Nerea--> Info de Nerea
--> Nerea--> Info de Nerea

Os pongo parte del código:

Código PHP:
Ver original
  1. <ul id="MenuBar1" class="MenuBarVertical">
  2.   <li><a class="MenuBarItemSubmenu" href="#"><?php if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; }?></a>
  3.     <ul>
  4.      <li><a class="MenuBarItemSubmenu" href="#">Departamento</a>
  5.         <ul>
  6.           <li><a href="#">Nombre del departamento</a></li>
  7.         </ul>
  8.       </li>
  9.       <li><a class="MenuBarItemSubmenu" href="#">Teléfono</a>
  10.         <ul>
  11.           <li><a href="#">Teléfono 1</a></li>
  12.           <li><a href="#">Teléfono 2</a></li>
  13.         </ul>
  14.       </li>
  15.       <li><a class="MenuBarItemSubmenu" href="#">Fax</a>
  16.       <ul>
  17.           <li><a href="#">Fax 1</a></li>
  18.           <li><a href="#">Fax 2</a></li>
  19.         </ul>
  20.       </li>
  21.       <li><a href="#">Email</a>
  22.          <ul>
  23.           <li><a href="#">Email 1</a></li>
  24.           <li><a href="#">Email 2</a></li>
  25.         </ul>
  26.       </li>
  27.     </ul>
  28.   </li>
  29.   <li><a class="MenuBarItemSubmenu" href="#"><?php if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; } ?></a>
  30.     <ul>
  31.     <li><a class="MenuBarItemSubmenu" href="#">Departamento</a>
  32.         <ul>
  33.           <li><a href="#">Nombre del departamento</a></li>
  34.         </ul>
  35.       </li>
  36.       <li><a class="MenuBarItemSubmenu" href="#">Teléfono</a>
  37.         <ul>
  38.           <li><a href="#">Teléfono 1</a></li>
  39.           <li><a href="#">Teléfono 2</a></li>
  40.         </ul>
  41.       </li>
  42.       <li><a class="MenuBarItemSubmenu" href="#">Fax</a>
  43.       <ul>
  44.           <li><a href="#">Fax 1</a></li>
  45.           <li><a href="#">Fax 2</a></li>
  46.         </ul>
  47.       </li>
  48.       <li><a href="#">Email</a>
  49.          <ul>
  50.           <li><a href="#">Email 1</a></li>
  51.           <li><a href="#">Email 2</a></li>
  52.         </ul>
  53.       </li>
  54.     </ul>
  55.   </li>
  56.    <li><a class="MenuBarItemSubmenu" href="#"><?php if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; } ?></a>
  57.     <ul>
  58.     <li><a class="MenuBarItemSubmenu" href="#">Departamento</a>
  59.         <ul>
  60.           <li><a href="#">Nombre del departamento</a></li>
  61.         </ul>
  62.       </li>
  63.       <li><a class="MenuBarItemSubmenu" href="#">Teléfono</a>
  64.         <ul>
  65.           <li><a href="#">Teléfono 1</a></li>
  66.           <li><a href="#">Teléfono 2</a></li>
  67.         </ul>
  68.       </li>
  69.       <li><a class="MenuBarItemSubmenu" href="#">Fax</a>
  70.       <ul>
  71.           <li><a href="#">Fax 1</a></li>
  72.           <li><a href="#">Fax 2</a></li>
  73.         </ul>
  74.       </li>
  75.       <li><a href="#">Email</a>
  76.          <ul>
  77.           <li><a href="#">Email 1</a></li>
  78.           <li><a href="#">Email 2</a></li>
  79.         </ul>
  80.       </li>
  81.     </ul>
  82.   </li>
  83. <li><a class="MenuBarItemSubmenu" href="#"><?php if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; }?></a>
  84.     <ul>
  85.     <li><a class="MenuBarItemSubmenu" href="#">Departamento</a>
  86.         <ul>
  87.           <li><a href="#">Nombre del departamento</a></li>
  88.         </ul>
  89.       </li>
  90.       <li><a class="MenuBarItemSubmenu" href="#">Teléfono</a>
  91.         <ul>
  92.           <li><a href="#">Teléfono 1</a></li>
  93.           <li><a href="#">Teléfono 2</a></li>
  94.         </ul>
  95.       </li>
  96.       <li><a class="MenuBarItemSubmenu" href="#">Fax</a>
  97.       <ul>
  98.           <li><a href="#">Fax 1</a></li>
  99.           <li><a href="#">Fax 2</a></li>
  100.         </ul>
  101.       </li>
  102.       <li><a href="#">Email</a>
  103.          <ul>
  104.           <li><a href="#">Email 1</a></li>
  105.           <li><a href="#">Email 2</a></li>
  106.         </ul>
  107.       </li>
  108.     </ul>
  109.   </li>
  110. </ul>

Alguien tiene alguna idea?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 30/07/2014, 10:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Seleccionar todos los datos de la tabla

Es simple, si imprimes la misma variable en los tres campos, siempre obtendrás tres impresiones iguales. Si deseas que en los demás campos se impriman otros valores, pues tendrás que imprimir otras variables y no la misma.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 31/07/2014, 01:20
 
Fecha de Ingreso: julio-2014
Mensajes: 53
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Seleccionar todos los datos de la tabla

Pensaba que esto se hacia solo, es decir en mi caso ponías row_recordset1['Nombre del contacto'] y te imprimía primero la fila uno, después la dos, etc. Entonces, cuando pones "row_recordset1['Nombre del contacto']" solamente te imprime la fila 1? Como se haría para que vaya comprobando si el contacto pertenece al cliente (supongo que estoy es mediante esta sentencia)
Código HTML:
Ver original
  1. <?php if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; }?>
Y para que te vaya imprimiendo TODOS los "Nombre del contacto" en vez de solo uno?

Gracias!
  #4 (permalink)  
Antiguo 31/07/2014, 01:54
 
Fecha de Ingreso: julio-2014
Mensajes: 53
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Seleccionar todos los datos de la tabla

acabo de probar con esto: <?php $NFilas = mysql_num_rows($query_Recordset1);
?>
<ul id="MenuBar1" class="MenuBarVertical">
<li><a class="MenuBarItemSubmenu" href="#"><?php for ( $i = 0; $i < $NFilas; $i++) {
if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; }}?></a>

Pero me da el siguiente error: ( ! ) Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\wamp\www\SIENS\admin\VistaClientes.php on line 162

Última edición por alfuco; 31/07/2014 a las 02:06
  #5 (permalink)  
Antiguo 31/07/2014, 02:29
 
Fecha de Ingreso: julio-2014
Mensajes: 53
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Seleccionar todos los datos de la tabla

He resuelto el error, lo que me faltaba era ejecutar la query. El codigo para el primer elemento del menu queda ahora asi:
<?php $NFilas = mysql_num_rows($result);
?>
<ul id="MenuBar1" class="MenuBarVertical">
<li><a class="MenuBarItemSubmenu" href="#"><?php for ( $i = 1; $i < $NFilas; $i++) {
if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; }}?></a>

El primer apartado del menú me lo muestra bien, pero el segundo, tercero y cuarto no... Por ejemplo, el código del segundo es:

<li><a class="MenuBarItemSubmenu" href="#"><?php for ( $i = $i; $i < $NFilas; $i++) {if($row_DetailRS1['Nombre']==$row_Recordset1['Nombre de la empresa']){ echo $row_Recordset1['Nombre del contacto']; }} ?></a>

He puesto "$i=$i" porque en teoría cuando se haga la primera consulta, $i tendrá un valor supongamos 15, entonces $i continuaría siendo 15. En cambio, si pongo $i=1 como anteriormente, volvería a realizar la consulta desde cero y me mostraría el mismo resultado en el segundo apartado del menú.

Alguien tiene alguna solución?

EDIT: Ahora que me doy cuenta, si pongo a un contacto de otro cliente, en vez de saltar y mirarme que el siguiente contacto sea de el cliente seleccionado, me imprime un cuadro en blanco...

Última edición por alfuco; 31/07/2014 a las 02:37
  #6 (permalink)  
Antiguo 01/08/2014, 01:32
 
Fecha de Ingreso: julio-2014
Mensajes: 53
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Seleccionar todos los datos de la tabla

Nadie tiene alguna idea?

Etiquetas: tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:16.