Foros del Web » Programando para Internet » PHP »

La pagina no toma la variable (valor) que le envio

Estas en el tema de La pagina no toma la variable (valor) que le envio en el foro de PHP en Foros del Web. Hola que tal, tengo un pequeño problema, quiero hacer una pagina maestro detalle y la pagina detalle mo me agarra la variable (o valor) que ...
  #1 (permalink)  
Antiguo 28/03/2008, 18:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
La pagina no toma la variable (valor) que le envio

Hola que tal, tengo un pequeño problema, quiero hacer una pagina maestro detalle y la pagina detalle mo me agarra la variable (o valor) que paso, uso este codigo para pasarla:

Código HTML:
<?php do { ?>
    <tr>//aqui paso la id
      <td><a href="detalle.php?recordID=<?php echo $row['id_']; ?>"><?php echo $row['nombre']; ?></a></td>
      <td><?php echo $row['apellido']; ?>&nbsp; </td>
      <td><?php echo $row['telefono']; ?>&nbsp; </td>
      </tr>
    <?php } while ($row = mysql_fetch_array($sql)); ?>

</table> 
Pero al intentar recuperar en detalle.php no pasa nada, lo he intentado con dreamweaver utilizando juegos de registros y tampoco.

se supone que con If (isset($_GET(id_))?

este es el codigo usando DW

Código HTML:
<?php echo $row_detalle['nombre']; ?>//se supone que tiene que tomar el nombre

<?php require_once('Connections/seleccion.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_detalle = "-1";
if (isset($_GET['id_'])) {
  $colname_detalle = $_GET['id_'];
}//se supone que toma el vaor enviado

mysql_select_db($database_seleccion, $seleccion);
$query_detalle = sprintf("SELECT registro.nombre FROM registro WHERE id_ = %s", GetSQLValueString($colname_detalle, "int"));
$detalle = mysql_query($query_detalle, $seleccion) or die(mysql_error());
$row_detalle = mysql_fetch_assoc($detalle);
$totalRows_detalle = mysql_num_rows($detalle);

mysql_free_result($detalle);
?> 
Que me falta? o estoy muy perdido?
  #2 (permalink)  
Antiguo 28/03/2008, 18:31
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: La pagina no toma la variable (valor) que le envio

Nose , pero quita el echo de aqui ><a href="detalle.php?recordID=<?php echo $row['id_']; ?


Y dejalo a si y prueba
Código PHP:

<td><a href="detalle.php?recordID=<?php  $row['id_']; ?>"><?php echo $row['nombre']; ?></a></td>
pero de esta forma le estas pasando el valor de id_ , si quieres pasar el valor nobre has de poner
en vez de $row['id_'];

$row['nombre'];

que es lo que recoges en el otro archivo
y lo has de recoger con GET

Cita:
<?php
$row_detalle = &_GET['nombre'];
echo $row_detalle; ?>//se supone que tiene que tomar el nombre

Lo siento, esto ultimo no esta bien, no lei bien tu segundo script
la variable que quieres pasar en el <a herf=.....> esta bien como te dije al principio.

no lo cambies por $row['nombre'];
para pasr variable de una pagina a otra, abre sesion al comienzo de ellas,

Cita:
<?php
session_start ();
?>
Y guardas las variables a pasar, cada una asi:
Cita:
<?php
$_SESSION = ['nombre']= $row['nombre']; //giardo variable $row['nombre'] en una variable de sesion
?>

y en la otra pagina las recuperas asi:

Cita:
<?php
$nombre = $_SESSION['nombre'];
echo $nombre;

?>
Un saludo.

Última edición por jaronu; 28/03/2008 a las 19:08
  #3 (permalink)  
Antiguo 28/03/2008, 19:00
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: La pagina no toma la variable (valor) que le envio

No me resulto grrr.

A ver, sin DW seria algo asi el codigo? (con tabla incluida)

[HTML]<?php require_once('Connections/seleccion.php');
mysql_select_db($database_seleccion, $seleccion);
$row_detalle = $_GET['id_']; echo $row_detalle;?>[HTML]

y la tabla

[HTML]<table width="308" border="1">
<tr>
<td width="97" rowspan="3">&nbsp;</td>
<td width="54">Nombre:</td>
<td width="120" colspan="3"><?php echo $row_detalle['nombre']; ?></td>
</tr>
<tr>
<td>Apellido:</td>
<td colspan="3"><?php echo $row_detalle['apellido']; ?></td>
</tr>
<tr>
<td colspan="4">&nbsp;</td>
</tr>
<tr>
<td>Telefono:</td>
<td colspan="4"><?php echo $row_detalle['telefono']; ?></td>
</tr>
<tr>
<td>Celular:</td>
<td colspan="4"><?php echo $row_detalle['celular']; ?></td>
</tr>
<tr>
<td>Mail:</td>
<td colspan="4"><?php echo $row_detalle['mail']; ?></td>
</tr>
<tr>
<td>Ciudad:</td>
<td colspan="4"><?php echo $row_detalle['ciudad']; ?></td>
</tr>
<tr>
<td>Region:</td>
<td colspan="4"><?php echo $row_detalle['region']; ?></td>
</tr>
<tr>
<td>Categoria:</td>
<td colspan="4"><?php echo $row_detalle['arte']; ?></td>
</tr>
<tr>
<td>Especifico:</td>
<td colspan="4"><?php echo $row_detalle['especifico']; ?></td>
</tr>
<tr>
<td>Miembro desde:</td>
<td colspan="4"><?php echo $row_detalle['fecha']; ?></td>
</tr>
<tr>
<td>Presentacion</td>
<td colspan="4"><?php echo $row_detalle['comentarios']; ?></td>
</tr>
</table>[HTML]

o me falta mas codigo?

La verdad es que le pongo, le saco, le muevo el codigo y no se por que no me muestra nada en la pagina detalle.
  #4 (permalink)  
Antiguo 28/03/2008, 19:06
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: La pagina no toma la variable (valor) que le envio

Hola de nuevo, es que edite el post de antes, has hecho lo de las sesiones???

Un saludo
  #5 (permalink)  
Antiguo 28/03/2008, 19:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: La pagina no toma la variable (valor) que le envio

si lo hice, pero me dio un error en la pagina donde muestro el resultado: unexpected "[", ni idea porque,

antes lo hacia todo con dreamweaver y ahora me da el error mysql_fetch_assoc() no valido. pero bueno.

Gracias de todos modos

me rindo por hoy y mañana vuelvo al ataque, jejeje con las neuronas frias.
  #6 (permalink)  
Antiguo 28/03/2008, 20:55
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: La pagina no toma la variable (valor) que le envio

Para mostrar resultados de una consulta debes usar la sintaxis while(){} y no el do{}while(). Así como lo estás haciendo, el primer ciclo no contendrá ningún tipo de datos de la consulta, pues la variable $row aún no ha sido definida para el primer ciclo.

Código PHP:
<?php while ($row mysql_fetch_array($sql)) { ?>
    <tr>//aqui paso la id
      <td><a href="detalle.php?recordID=<?php echo $row[id_]; ?>"><?php echo $row['nombre']; ?></a></td>
      <td><?php echo $row['apellido']; ?>&nbsp; </td>
      <td><?php echo $row['telefono']; ?>&nbsp; </td>
      </tr>
    <?php ?>
Y luego...

Por qué usas:

Código PHP:
if (isset($_GET['id_'])) {
    
$colname_detalle $_GET['id_'];

Si la página que llamas es detalle.php?recordID=algo... No debiera ser:
Código PHP:
if (isset($_GET['recordID'])) {
    
$colname_detalle $_GET['recordID'];

?

Un saludo,
  #7 (permalink)  
Antiguo 29/03/2008, 13:42
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: La pagina no toma la variable (valor) que le envio

Gracias muchachos por la luz enviada, lo logre, asi me quedo por si le interesa a alguien:

Pagina maestra:

Código HTML:
<table border="1" sumary="usuarios">
<tr>
<th>Nombre</th>
<th>Apellido</th>
<th>Telefono</th>
</tr>
<?php require_once('Connections/seleccion.php');
mysql_select_db($database_seleccion, $seleccion);
//capturar el campo arte
$nom=$_POST['arte'];
//seleccionar los datos relacionados con arte

$sql=mysql_query("SELECT * FROM registro WHERE arte='".$nom."'",$seleccion);?>
<?php while ($row = mysql_fetch_array($sql)) { ?>
    <tr>
      <td><a href="detalle.php?recordID=<?php echo $row['id_']; ?>"><?php echo $row['nombre']; ?></a></td>
      <td><?php echo $row['apellido']; ?>&nbsp; </td>
      <td><?php echo $row['telefono']; ?>&nbsp; </td>
      </tr>
    <?php } ?> 

</table> 
y la pagina detalle me queda asi:

Código HTML:
<?php require_once('Connections/seleccion.php'); ?>
<?php mysql_select_db($database_seleccion, $seleccion);
if (isset($_GET['recordID'])) {
    $colname_detalle = $_GET['recordID'];
}  ?>

//aqui va la tabla con el detalle

<table width="308" border="1">
<?php $sql=mysql_query("SELECT * FROM registro WHERE id_='".$colname_detalle."'",$seleccion);?>

<?php while ($row = mysql_fetch_array($sql)) { ?>
  <tr>
    <td width="97" rowspan="3">&nbsp;</td>
    <td width="54">Nombre:</td>
    <td width="120" colspan="3"><?php echo $row['nombre']; ?></td>
  </tr>
  <tr>
    <td>Apellido:</td>
    <td colspan="3"><?php echo $row['apellido']; ?></td>
  </tr>
  <tr>
  .
  .
  .
</table>

//y asi se termina la consulta
<?php }?> 
Gracias por la ayuda.
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 05:47.