Foros del Web » Programando para Internet » PHP »

Problema con un button

Estas en el tema de Problema con un button en el foro de PHP en Foros del Web. Hola que tal a todos, este es el codigo.. $sql="select * from contratos"; $registros = mysql_query($sql); $c=1; $cantreg=mysql_num_rows($registros); while($row2=mysql_fetch_array($registros)) { $amod=$row2["cedula"]; echo "<tr><td><input type='submit' name='boton' ...
  #1 (permalink)  
Antiguo 06/02/2009, 08:55
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Problema con un button

Hola que tal a todos, este es el codigo..

$sql="select * from contratos";
$registros = mysql_query($sql);
$c=1;
$cantreg=mysql_num_rows($registros);
while($row2=mysql_fetch_array($registros))
{
$amod=$row2["cedula"];
echo "<tr><td><input type='submit' name='boton' value='Acta'></td>";
echo "<td>"; echo $row2["cedula"];
echo "</td>";
echo "<td>"; echo $row2["nombre"];
echo "</td>";
echo "<td>"; echo $row2["cargo"];
echo "</td>";
echo "<td>"; echo $row2["contrato"];
echo "</td>";
echo "<td>"; echo $row2["email"];
echo "</td>";
echo "<td>"; echo $row2["visible"];
echo "</td></tr>";
$c++;
}

Ahí me genera una tabla
Y quiero que cuando de clic en el boton acta, me lleve los datos y me los muestre en un acta…es decir..
Si doy clic en el boton acta 1 me muestre en el acta:

Nombre : Adriana Triana
Cedula: 63531611
Y asi…

Si doy clic en otro boton me muestre los datos correspondientes al boton que haya dado clic…
  #2 (permalink)  
Antiguo 06/02/2009, 09:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con un button

Tienes que ir pasando un ID. Talvez podrias pasarlo de la siguiente manera:

<input type="submit" name="boton[<?php echo $row2['id']; ?>]" value="Acta" />

Y para recoger el valor de ID, uso array_keys:
$var = array_keys($_POST['boton']);
$id = $var[0];
Y hago la consulta basandome en ese ID:
SELECT * FROM tabla WHERE id = $id;
  #3 (permalink)  
Antiguo 06/02/2009, 09:15
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

No nada, coloque la primera sentencia de codigo asi:

echo "<tr><td><input type='submit' name='boton $row2['id']' value='Acta'></td>";

y me genera error:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
  #4 (permalink)  
Antiguo 06/02/2009, 09:18
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con un button

Date cuenta de como puse el codigo:
boton[<?php echo $row2['id']; ?>]
Esto generaria por ejemplo:
boton[10]

echo "<tr><td><input type='submit' name='boton[".$row2['id']."]' value='Acta'></td>";
  #5 (permalink)  
Antiguo 06/02/2009, 09:23
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

Ok listo... me mustra la lista de nuevo con los botones especificos de casa registro, pero cuando doy clic en un de ello me deja la pagina en blanco..

me envia a un form llamado acta.php

cuyo codigo es el siguiente:

<?
require_once ("session.php");
require_once ("conexion.php");
$link=conectarse();
switch ($boton)
{
case "Acta":
{
//*******mostrar acta
echo"<img src='masa.jpg' align='left' width='192' height='61'";
//echo"<center>";
echo"<br><br><br><br><br>";
echo"<center><strong>CORREO ELECTRONICO MECANICOS ASOCIADOS S.A.</strong></center>";
echo"<br>";
$sql="select * from contratos where cedula=$id";
$registros = mysql_query($sql);
$c=1;
$cantreg=mysql_num_rows($registros);
$var = array_keys($_POST['boton']);
$id = $var[0];
$amod=$row2["cedula"];
echo"<center>";
echo"<br>";
echo "Cedula: ".$row2["cedula"]."";
echo "<br>";
echo "Nombre: ".$row2["nombre"]."";
echo "<br>";
echo "Cargo: ".$row2["cargo"]."";
echo "<br>";
echo "E-mail: ".$row2["email"]."";
echo "<br>";
echo"</center>";
$c++;
echo"<br>";
echo"<center><strong>Configuración programa de correo (Outlook)</strong></center>";
echo"<br>";
echo"<center><img src='config1.jpg' width='588' height='401' /></center>";
echo"<br>";
echo"<center><form name='form1' method='post' action='contratos.php'>";
echo"<input type='submit' name='boton' id='volver' value='Volver'>";
echo"</form>";
echo"</center>";
break;
}
}
?>
  #6 (permalink)  
Antiguo 06/02/2009, 09:28
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con un button

Cita:
$sql="select * from contratos where cedula=$id";
$registros = mysql_query($sql);
$c=1;
$cantreg=mysql_num_rows($registros);
$var = array_keys($_POST['boton']);
$id = $var[0];
Estas haciendo la consulta con una variable que no esta declarada. Tienes que poner el:
$var = array_keys($_POST['boton']);
$id = $var[0];
Antes de la consulta.

Tambien otra opcion, seria usar Javascript para hacerle un submit al form enviando el ID por URL.
  #7 (permalink)  
Antiguo 06/02/2009, 09:31
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Problema con un button

Para eso necesitas enviar el campo "cedula" de esa persona x, para que puedas hacer la consulta y mostrar la información en base a ese dato. Yo lo hare usando un icono en vez de un boton...creo que se ve mejor, te lo recomiendo ;) .

Cita:
<a href='mostrar_acta.php?cedula_acta=".$row["cedula"]."'title='Actar'><img src='../imagen/acta.png' border='0' alt='Acta'/></a>
Al pulsar el icono, se enviará la variable "cedula_acta", que responde a la cedula de esa x persona de la tabla. Ahora quedaria es recibir ese dato (recuerda que la pagina que reciba ese dato tiene que llamarse, segun mi ejemplo "mostrar_acta.php". tu lo puedes personalizar =) )

Recibe el dato "cedula_acta" y hace la consulta:

Cita:
$q = " SELECT * FROM personas WHERE cedula= ' " . $_GET["cedula_acta"] ." ' "
Espero que te sirva. Saludos

Última edición por p3rikl3s; 06/02/2009 a las 09:42
  #8 (permalink)  
Antiguo 06/02/2009, 09:33
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

Asi:

$var = array_keys($_POST['boton']);
$id = $var[0];
$sql="select * from contratos where cedula=$id";
$registros = mysql_query($sql);
$c=1;
$cantreg=mysql_num_rows($registros);
$amod=$row2["cedula"];
echo"<center>";
echo"<br>";
echo "Cedula: ".$row2["cedula"]."";
echo "<br>";
echo "Nombre: ".$row2["nombre"]."";
echo "<br>";
echo "Cargo: ".$row2["cargo"]."";
echo "<br>";
echo "E-mail: ".$row2["email"]."";
echo "<br>";
echo"</center>";
$c++;

y nada me sigue mostrando la pagina en blanco
  #9 (permalink)  
Antiguo 06/02/2009, 09:35
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con un button

Yo solo lo puse de ejemplo, pero ... al parecer el error es aqui:
echo "<tr><td><input type='submit' name='boton[".$row2['id']."]' value='Acta'></td>";
Yo use $row2['id'] como ejemplo.

Y al hacer tu consulta, tu condicion es buscar mediante la cedula, entonces el codigo del boton seria:
echo "<tr><td><input type='submit' name='boton[".$row2['cedula']."]' value='Acta'></td>";

  #10 (permalink)  
Antiguo 06/02/2009, 09:49
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Problema con un button

Sigue mi consejo ingluis...
  #11 (permalink)  
Antiguo 06/02/2009, 09:54
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

No la verdad ninguno me ha servido... en el de Ronruby me deja pagina en blanco

y el de p3rikl3s me da error en una pagina....http://localhost:8081/contratos/acta.php%20id=
  #12 (permalink)  
Antiguo 06/02/2009, 10:08
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Problema con un button

mmm...algo estas haciendo mal. Coloca el codigo con la modificacion que te dije.
  #13 (permalink)  
Antiguo 06/02/2009, 10:09
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

Hola p3rikl3s ya listo, me muestra la pagina en blanco...
  #14 (permalink)  
Antiguo 06/02/2009, 10:17
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema con un button

me esta llevando el valor de la cedula:

http://localhost:8081/contratos/acta.php?cedula=7722157

ahora como lo imprimo... en un acta..
  #15 (permalink)  
Antiguo 06/02/2009, 10:33
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con un button

Recogelo usando el array superglobal $_GET.

$foo = $_GET['bar']
  #16 (permalink)  
Antiguo 06/02/2009, 10:39
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

ok, ahi solo me esta trayendo el valor de la cedula pero quiero que me traiga los demas valores como nombre, email.. e imprimirlos tambien... gracias
  #17 (permalink)  
Antiguo 06/02/2009, 10:40
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con un button

Entonces tienes que hacer tu consulta usando esa variable.
SELECT * FROM tabla WHERE cedula='$var'

Obtener el resultado de la consulta, y luego imprimir.
  #18 (permalink)  
Antiguo 06/02/2009, 10:55
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

No entiendo...
tengo echo "<tr><td><a href='acta.php?cedula=".$row2['cedula']."' title='Acta'><img src='acta.bmp' with='25' height='29' border='0' alt='Acta'/></a>";
alli me esta llevando solo la cedula... pero quiero que me tyraiga los demas datos, como el nombre, el email....gracias
  #19 (permalink)  
Antiguo 06/02/2009, 10:57
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Problema con un button



Por eso, tienes que hacer una consulta en la pagina acta.php que traiga los datos referentes a esa cedula.

SELECT * FROM tabla WHERE cedula = '{$_GET['cedula']}'
  #20 (permalink)  
Antiguo 06/02/2009, 11:02
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
Mensaje Respuesta: Problema con un button

si claro:
$sql="select * from contratos where cedula= '".$_GET['cedula']."'";

pero solo tare la cedula

quiero que me imprima asi:

Cedula:
Nombre:
Email:

ahi en el sql como los traigo..
  #21 (permalink)  
Antiguo 06/02/2009, 11:04
Avatar de p3rikl3s  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 216
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: Problema con un button

Te explico. Con la cedula que mandas haces una nueva consulta en la tabla de la bd donde guardas los datos de las personas ("contratos"):

Cita:
$q = " SELECT * FROM contratos WHERE cedula= ' " . $_GET["cedula"] ." ' "
$_GET["cedula"] = es la cedula que mandastes desde el icono. Con la consulta ya tienes los datos que quieres mostrar. Y lo demas es carpinteria:

Cita:
$result = mysql_query($q) or die ($error_sel);
$row = mysql_fetch_array($result);
echo $row['cedula'];
echo $row['nombre'];
echo $row['email'];
  #22 (permalink)  
Antiguo 06/02/2009, 13:24
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Problema con un button

Listo, muchas gracias ahora si... te agradezco mucho...
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 02:50.