Foros del Web » Programando para Internet » Javascript »

Como hago para que al pinchar en una linea de una tabla cambie de registro

Estas en el tema de Como hago para que al pinchar en una linea de una tabla cambie de registro en el foro de Javascript en Foros del Web. Hola: estoy aprendiendo a trabajar con php y MySQL y he creado una plantilla en la que en la parte de arriba veo los campos ...
  #1 (permalink)  
Antiguo 16/03/2010, 02:57
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Como hago para que al pinchar en una linea de una tabla cambie de registro

Hola: estoy aprendiendo a trabajar con php y MySQL y he creado una plantilla en la que en la parte de arriba veo los campos de un registro de una tabla de MySQL mediante un formulario y en la parte de abajo mediante una tabla html veo todos los registros de dicha tabla de MySQL.
La base de datos se llama amistades y la tabla amigos
La consulta que hago es esta:
Código PHP:

$conexion 
mysql_connect("localhost"""""); // conecta con el servidor
mysql_select_db("amistades"$conexion); // conecta con la base de datos
$instruccion "SELECT id_amigo, nombre, direccion, ciudad, codigo, provincia, movil, FROM amigos ORDER BY NOMBRE ASC"//ordena la tabla
$consulta mysql_query ($instruccion$conexion) or die ("Fallo en la consulta"); 
Cuando hago esta consulta me aparece el la parte de arriba el ultimo registro con los correspondientes campos y el la parte de abajo me aparecen todos los registros que tengo introducidos en la tabla html ordenados segun tengo en la consulta.

Mi pregunta es si se puede hacer que no se como hacerlo.

Que pinchando con el raton en la tabla html que tengo debajo en uno de los registros que aparecen horizontalmente se cambien los datos de los campos de la parte de arriba.

Esto lo veo muy dificl para mi y no se si lo puedo hacer, por eso recurro a ustedes a ver si lo puedo hacer y como debo hacerlo.

Muchas gracias
  #2 (permalink)  
Antiguo 16/03/2010, 03:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Ese problema ya no es con PHP sino con javascript, espera que un moderador te mueva al foro correspondiente para que te puedan ayudar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 16/03/2010, 06:16
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Gracias abimaelrc.
A ver si por favor un moderador me cambia el hilo a javascript como me ha recomendado abimaelrc.
Muchas gracias
  #4 (permalink)  
Antiguo 16/03/2010, 08:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PHP a Javascript
  #5 (permalink)  
Antiguo 16/03/2010, 10:52
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Juega con los Ids en las filas y despues crea una funcion.

Código html:
Ver original
  1. function cambio(id){
  2.        var contenido = document.getElementById('fila_seleccionada'+id).innerHTML;
  3.        document.getElement.ById('fila_de_arriba').innerHTML = contenido;
  4. }
  5.      <tr>
  6.           <td id="fila_de_arriba"></td>
  7.      </tr>
  8.      <tr>
  9.           <td id="fila_seleccionada1" onclick="cambio('1')">Contenido</td>
  10.      </tr>
  11.      <tr>
  12.           <td id="fila_seleccionada2" onclick="cambio('2')">Contenido</td>
  13.      </tr>

Supongo que estás buscando esto más o menos, si me pasas el código completo de tu aplicación te puedo hacer el código Javascript exacto, saludos!!
  #6 (permalink)  
Antiguo 16/03/2010, 13:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

muchas gracias con tu codigo.
probare primero con lo que me has puesto y si tengo alguna duda te lo comento.
Muy agradecido por tu ayuda.
  #7 (permalink)  
Antiguo 17/03/2010, 02:56
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Hola dannytm, mis conocimientos no son como yo pensaba, estoy muy atascado.
No se de javascript y no se como enlazar una variable de javascript a php, con la funcion que me has creado.
Te puedo pasar el codigo de php, para ver si me puedes asignar el ejemplo que me has puesto, dentro del php.
Lo que pasa que no vas a poder ejecutarlo visualmente porque va enlazado a una base de datos de MySQL.
Aunque en tu hilo me dices que te pase el codigo, confirmamelo y te lo paso.
Veras que el codigo no esta muy depurado pues estoy aprendiendo y a lo mejor repito consultas.
  #8 (permalink)  
Antiguo 17/03/2010, 06:56
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

sí, pon el código para que pueda asignarle ids y que lo veas mas claro, saludos.
  #9 (permalink)  
Antiguo 17/03/2010, 09:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Este es el codigo:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Amigos</title>
<meta http-equiv="content-type" content="text/html; charset=UTF8">
<script>
function cambio(id)
{       
var contenido = document.getElementById('fila_seleccionada'+id).innerHTML;       
document.getElement.ById('fila_de_arriba').innerHTML = contenido;
}
</script>
</head>
<!-- -->
<body>
<div id="contenido">

<div id="text1" style="position:absolute; overflow:hidden; left:358px; top:6px; width:256px; height:34px">
<div><font size="5" color="#0000FF" face="Comic Sans MS"><B>AMISTADES</B></font></div>
</div>
<div id="hr1"></div>

<?php

//---------------------Titulos de la tabla---
print ("<div class='scrolled'>\n");
print (
"<table wjth=100%>\n");
print (
"<tr>\n"); 
print (
"<th scope='col'>NOMBRE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n");
print (
"<th scope='col'>DIRECCION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n"
);
print (
"<th scope='col'>CIUDAD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n");
print (
"<th scope='col'>C.P.</th>\n");
print (
"<th scope='col'>PROVINCIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n");
print (
"<th scope='col'>T-MOVIL</th>\n");   
print (
"</tr>\n");
//----------------------
$tabla=0;
$conexion mysql_connect("localhost""root"""); // conecta con el servidor
mysql_select_db("amistades"$conexion) or  die ("No se puede seleccionar la base de daros"); // conecta con la base de datos
$instruccion "SELECT * FROM amigos ORDER BY NOMBRE ASC"//ordena la tabla
$consulta mysql_query ($instruccion$conexion) or die ("Fallo en la consulta1"); 
while (
$row mysql_fetch_array($consulta))
{
$registro $row['id_amigo'];
If (
$tabla==0)
{
//-------------------------Fila de un color-------------------------
print ("<tr width=100%>\n");
print (
"<th scope='row' class='spec'>" "</th>\n");
print  (
"<td>" $row['nombre'] . "</td>\n");
print  (
"<td>" $row['direccion'] . "</td>\n");
print  (
"<td>" $row['ciudad'] . "</td>\n");
print  (
"<td>" $row['codigo'] . "</td>\n");
print  (
"<td>" $row['provincia'] . "</td>\n");
print  (
"<td>" $row['movil'] . "</td>\n");
print (
"</tr>\n");
$tabla 1;
}
else
{
//-----------------------------Fila de otro color-------------------
print ("<tr width=100%>\n");
print (
"<th scope='row' class='specalt'>" "</th>\n");
print  (
"<td>" $row['nombre'] . "</td>\n");
print  (
"<td>" $row['direccion'] . "</td>\n");
print  (
"<td>" $row['ciudad'] . "</td>\n");
print  (
"<td'>" $row['codigo'] . "</td>\n");
print  (
"<td>" $row['provincia'] . "</td>\n");
print  (
"<td>" $row['movil'] . "</td>\n");
print (
"</tr>\n");
print (
"</table>\n");
print (
"</div>\n");
$tabla=0
}
}
//--------------------------Vuelvo a hacer la consulta para el formulario----------------
// ----- la variable $registro es la que controlo para que al pinchar con el raton en 
//------ una fila me presente los campos de ese registro en el formulario 
//---------------------------------------------------------------------------------------------------
$orden "SELECT * FROM amigos WHERE id_amigo = '$registro'";
$consulta mysql_query ($orden$conexion) or die ("Fallo en la consulta02");
$resultado mysql_fetch_array($consulta);
$_POST['nombre'] = $resultado['nombre'];
$_POST['direccion'] = $resultado['direccion'];
$_POST['ciudad'] = $resultado['ciudad'];
$_POST['codigo'] = $resultado['codigo'];
$_POST['provincia'] = $resultado['provincia'];
$_POST['movil'] = $resultado['movil'];
//--------------------------------------------------
mysql_free_result($consulta);
mysql_close($conexion); // cierra la conexion con la base de datos
?>
<!-- asigno las variables a mi formulario-->
<div id="formulario">
<form action="" method="post">
<form name="amigos" style="margin:0px">
<div id="etiqueta"><B>NOMBRE:</B></div>
<input name="nombre" type="text" value="<?php echo $_POST['nombre'];?>">
<div id="etiqueta"><B>DIRECCIÓN:</B></div>
<input name="direccion" type="text" value="<?php echo $_POST['direccion'];?>">
<div id="etiqueta"><B>CIUDAD:</B></div>
<input name="ciudad" type="text" value="<?php echo $_POST['ciudad'];?>">
<div id="etiqueta"><B>CÓDIGO:</B></div>
<input name="codigo" type="text" value="<?php echo $_POST['codigo'];?>">
<div id="etiqueta"><B>PROVINCIA:</B></div>
<input name="provincia" type="text" value="<?php echo $_POST['provincia'];?>">
<div id="etiqueta"><B>T-MOVIL:</B></div>
<input name="moil" type="text" value="<?php echo $_POST['movil'];?>">
</form>
</div>
<!-- -->
</div>
</body>
</html>
Veras que hay dos td distintos con la variable $tabla=0, o tabla= 1 es porque cada linea de la tabla pinta una si y otra no con color distinto.
  #10 (permalink)  
Antiguo 17/03/2010, 14:48
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Una pregunta, porque no entiendo demasiado bien, que es lo que quieres hacer?

Cuando pulsas sobre una fila en la tabla declarada, cambiar los registros del formulario de abajo?
  #11 (permalink)  
Antiguo 17/03/2010, 15:31
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Si efectivamente
En la tabla me aparecen todos los registros, cada uno en una fila.
Por defecto me aparece el ultimo en el formulario.
Y lo que quiero es que pinchando con el raton en una fila cualquiera me cambien los datos en el formulario de abajo, correspondiente a la fila de la tabla que he seleccionado clicando con el raton.
  #12 (permalink)  
Antiguo 20/03/2010, 01:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

No se si me he explicado bien, pero es eso lo que quiero.
Que al pinchar con el mouse en una linea de la tabla, me presente en el formulario los datos correspondientes al registro que he pinchado con el mouse en la linea de la tabla.

Muchas gracias
  #13 (permalink)  
Antiguo 20/03/2010, 06:38
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Hola

Para colorear cada tabla de un color no es necesario imprimir cada tabla con un class distinto

Prueba esto

Código PHP:
Ver original
  1. while ($row = mysql_fetch_array($consulta))
  2. {
  3. $registro = $row['id_amigo'];
  4. $resto = ($tabla &#37; 2);
  5. switch ($resto) { // Coloreamos cada tabla
  6.         case 0: $estilo = "spec"; break;
  7.         case 1: $estilo = "specalt"; break;
  8. }
  9. //-------------------------Fila de un color-------------------------
  10. print ("<tr width=100% id="$tabla" onclick="volcar_valores($tabla)>\n");
  11. print ("<th scope='row' class='$estilo'>" . "</th>\n");
  12. print  ("<td>" . $row['nombre'] . "</td>\n");
  13. print  ("<td>" . $row['direccion'] . "</td>\n");
  14. print  ("<td>" . $row['ciudad'] . "</td>\n");
  15. print  ("<td>" . $row['codigo'] . "</td>\n");
  16. print  ("<td>" . $row['provincia'] . "</td>\n");
  17. print  ("<td>" . $row['movil'] . "</td>\n");
  18. print ("</tr>\n");
  19. $tabla += 1;
  20. }

La función js para insertar los valores en los campos del form. No está probada

Código Javascript:
Ver original
  1. function volcar_valores(tabla) {
  2. tr = document.getElementById(tabla);
  3. td = tr.getElementsByTagName("td");
  4. idDiv = document.getElementById("formulario");
  5. inputDiv = idDiv.getElementsByTagName("input");
  6. for (i = 0; i < td.length; i++) {
  7. inputDiv[i].value = td[i].value;
  8. }
  9. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #14 (permalink)  
Antiguo 20/03/2010, 08:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Muchas gracias por tu atencion.
Yo como veras estoy aprendiendo y no controlo lo que yo desearia.
he incluido tu codigo y me da un error.
Parse error: syntax error, unexpected T_SWITCH
Si no te importa podrias inluir el codigo que me has puesto dentro del codigo que yo he puesto en mi hilo, porque seguro que lo he hecho mal y por eso me da ese error.
La ventana de abajo la he incluido el el head dentro de las etiquetas <script>
Y el codigo de la parte de atriba lo he sustituido a partid del while inclusive.
Asi es como lo he hecho:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>Amigos</title> 
<meta http-equiv="content-type" content="text/html; charset=UTF8"> 
<script type="text/javascript">
function volcar_valores(tabla) 
{
tr = document.getElementById(tabla);
td = tr.getElementsByTagName('td');
idDiv = document.getElementById('formulario');
inputDiv = idDiv.getElementsByTagName('input');
for (i = 0; i < td.length; i++) 
{
inputDiv[i].value = td[i].value;
}
}
</script>
</head> 
<!-- --> 
<body> 
<div id="contenido"> 

<div id="text1" style="position:absolute; overflow:hidden; left:358px; top:6px; width:256px; height:34px"> 
<div><font size="5" color="#0000FF" face="Comic Sans MS"><B>AMISTADES</B></font></div> 
</div> 
<div id="hr1"></div> 

<?php 

//---------------------Titulos de la tabla--- 
print ("<div class='scrolled'>\n"); 
print (
"<table wjth=100%>\n"); 
print (
"<tr>\n");  
print (
"<th scope='col'>NOMBRE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n"); 
print (
"<th scope='col'>DIRECCION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n"
); 
print (
"<th scope='col'>CIUDAD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n"); 
print (
"<th scope='col'>C.P.</th>\n"); 
print (
"<th scope='col'>PROVINCIA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>\n"); 
print (
"<th scope='col'>T-MOVIL</th>\n");    
print (
"</tr>\n"); 
//---------------------- 
$tabla=0
$conexion mysql_connect("localhost""root"""); // conecta con el servidor 
mysql_select_db("amistades"$conexion) or  die ("No se puede seleccionar la base de daros"); // conecta con la base de datos 
$instruccion "SELECT * FROM amigos ORDER BY NOMBRE ASC"//ordena la tabla 
$consulta mysql_query ($instruccion$conexion) or die ("Fallo en la consulta1");  
while (
$row mysql_fetch_array($consulta))
{
$registro $row['id_amigo']; 
$resto = ($tabla 2);
switch (
$resto
// Coloreamos cada tabla        
case 0$estilo "spec"
break;        
case 
1$estilo "specalt"
break;
}
//-------------------------Fila de un color-------------------------
print ("<tr width=100% id='$tabla' onclick='volcar_valores($tabla)'>\n");
print (
"<th scope='row' class='$estilo'>" "</th>\n");
print (
"<td>" $row['nombre'] . "</td>\n");
print (
"<td>" $row['direccion'] . "</td>\n");
print (
"<td>" $row['ciudad'] . "</td>\n");
print (
"<td>" $row['codigo'] . "</td>\n");
print (
"<td>" $row['provincia'] . "</td>\n");
print (
"<td>" $row['movil'] . "</td>\n");
print (
"</tr>\n");
$tabla += 1;
// aqui lo cierro
//------------------------------------------------------
print ("</table>\n"); 
print (
"</div>\n"); 
//--------------------------Vuelvo a hacer la consulta para el formulario---------------- 
// ----- la variable $registro es la que controlo para que al pinchar con el raton en  
//------ una fila me presente los campos de ese registro en el formulario  
//--------------------------------------------------------------------------------------------------- 
$orden "SELECT * FROM amigos WHERE id_amigo = '$registro'"
$consulta mysql_query ($orden$conexion) or die ("Fallo en la consulta02"); 
$resultado mysql_fetch_array($consulta); 
$_POST['nombre'] = $resultado['nombre']; 
$_POST['direccion'] = $resultado['direccion']; 
$_POST['ciudad'] = $resultado['ciudad']; 
$_POST['codigo'] = $resultado['codigo']; 
$_POST['provincia'] = $resultado['provincia']; 
$_POST['movil'] = $resultado['movil']; 
//-------------------------------------------------- 
mysql_free_result($consulta); 
mysql_close($conexion); // cierra la conexion con la base de datos 
?> 
<!-- asigno las variables a mi formulario--> 
<div id="formulario"> 
<form action="" method="post"> 
<form name="amigos" style="margin:0px"> 
<div id="etiqueta"><B>NOMBRE:</B></div> 
<input name="nombre" type="text" value="<?php echo $_POST['nombre'];?>"> 
<div id="etiqueta"><B>DIRECCIÓN:</B></div> 
<input name="direccion" type="text" value="<?php echo $_POST['direccion'];?>"> 
<div id="etiqueta"><B>CIUDAD:</B></div> 
<input name="ciudad" type="text" value="<?php echo $_POST['ciudad'];?>"> 
<div id="etiqueta"><B>CÓDIGO:</B></div> 
<input name="codigo" type="text" value="<?php echo $_POST['codigo'];?>"> 
<div id="etiqueta"><B>PROVINCIA:</B></div> 
<input name="provincia" type="text" value="<?php echo $_POST['provincia'];?>"> 
<div id="etiqueta"><B>T-MOVIL:</B></div> 
<input name="moil" type="text" value="<?php echo $_POST['movil'];?>"> 
</form> 
</div> 
<!-- --> 
</div> 
</body> 
</html>

Última edición por corretodo; 20/03/2010 a las 09:59
  #15 (permalink)  
Antiguo 20/03/2010, 09:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Hola

Has de cerrar el while

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #16 (permalink)  
Antiguo 20/03/2010, 09:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Perdona creo que esta cerrado mila el codigo que he puesto
$tabla += 1;
} Aqui lo cierro
Gracias
  #17 (permalink)  
Antiguo 20/03/2010, 14:36
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Hola

Ahora revisando la función js cambia

Cita:
inputDiv[i].value = td[i].value;
por

Cita:
inputDiv[i].value = td[i].innerHTML;
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #18 (permalink)  
Antiguo 20/03/2010, 14:47
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Pues no hay suerte me da este error
Parse error: syntax error, unexpected T_SWITCH in C:\InetPub\www\amigos.php on line 53
La linea 53 es la del switch(resto)
$resto = ($tabla % 2);
switch ($resto)
  #19 (permalink)  
Antiguo 20/03/2010, 15:08
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

Hola

No logro ver donde puede estar el error. Te he montado esto que a efectos prácticos es lo mismo que te ocupa

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title></title>
  5. <meta http-equiv="content-type" content="text/html; charset=UTF8">
  6. <style type="text/css">
  7. .color0 {background: orange;}
  8. .color1 {background: yellow;}
  9. </style>
  10. <script type="text/javascript">
  11. function volcar_valores(tabla) {
  12. tr = document.getElementById(tabla);
  13. td = tr.getElementsByTagName('td');
  14. idDiv = document.getElementById('formulario');
  15. inputDiv = idDiv.getElementsByTagName('input');
  16.     for (i = 0; i < td.length; i++) {
  17.         inputDiv[i].value = td[i].innerHTML;       
  18.     }
  19. }
  20. </script>
  21. </head>
  22. <!-- -->
  23. <body>
  24. <table width="100%" border="1px">
  25. <tr>
  26. <th>NOMBRE</th>
  27. <th>DIRECCI&Oacute;N</th>
  28. <th>CIUDAD</th>
  29. <th>C.P.</th>
  30. <th>PROVINCIA</th>
  31. <th>T-MOVIL</th>
  32. </tr>
  33.  
  34. <?php
  35. $tabla = 0;
  36. //----------------------
  37. while ($tabla < 4) {
  38.    
  39.         $resto = ($tabla % 2);
  40.             switch ($resto) { // Coloreamos cada tabla        
  41.                 case 0: $estilo = "color0"; break;        
  42.                 case 1: $estilo = "color1"; break;
  43.             }
  44.  
  45. //-------------------------Fila de un color-------------------------
  46. print ("<tr width='100%' id='$tabla' onclick='volcar_valores($tabla);'>\n");
  47. print ("<td class=".$estilo.">nombre_" .$tabla. "</td>\n");
  48. print ("<td class=".$estilo.">direccion_" .$tabla. "</td>\n");
  49. print ("<td class=".$estilo.">ciudad_" .$tabla. "</td>\n");
  50. print ("<td class=".$estilo.">codigo_" .$tabla. "</td>\n");
  51. print ("<td class=".$estilo.">provincia_" .$tabla. "</td>\n");
  52. print ("<td class=".$estilo.">movil_" .$tabla. "</td>\n");
  53. print ("</tr>\n");
  54. $tabla += 1;
  55.  
  56. }
  57. //------------------------------------------------------
  58. ?>
  59. </table>
  60.  
  61. <!-- Asigno las variables a mi formulario-->
  62. <div id="formulario">
  63. <form action="" method="post">
  64. <div><B>NOMBRE:</B></div>
  65. <input name="nombre" type="text" value="">
  66. <div><B>DIRECCI&Oacute;N:</B></div>
  67. <input name="direccion" type="text" value="">
  68. <div><B>CIUDAD:</B></div>
  69. <input name="ciudad" type="text" value="">
  70. <div><B>C.P:</B></div>
  71. <input name="codigo" type="text" value="">
  72. <div><B>PROVINCIA:</B></div>
  73. <input name="provincia" type="text" value="">
  74. <div><B>T-MOVIL:</B></div>
  75. <input name="moil" type="text" value="">
  76. </form>
  77. </div>
  78. </body>
  79. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #20 (permalink)  
Antiguo 20/03/2010, 15:43
 
Fecha de Ingreso: agosto-2009
Mensajes: 193
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Como hago para que al pinchar en una linea de una tabla cambie de registro

El error estava en la linea 4 de tu primer ejemplo
En el segundo ejemplo que me has hecho me lo has puesto asi $resto = ($tabla % 2);
y de esta forma si funciona.
Muchisimas gracias es perfecto este ejemplo me ha encantado.
No creo que tenga ningun problema para aplcarlo a mi codigo.
La materia prima ya me la has dado con tu ejemplo.
De verdad muchas gracias Adler.
Esto era lo que efectivamente queria.

Última edición por corretodo; 20/03/2010 a las 16:03

Etiquetas: linea, registro, tablas, cambios
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 04:48.