Foros del Web » Programando para Internet » PHP »

pq no funciona esto???

Estas en el tema de pq no funciona esto??? en el foro de PHP en Foros del Web. hola a [email protected]: tengo el siguiente problema. Desde una pagina con un formulario llamo a otro pasandole un valor. La pagina recoge el valor bien, ...
  #1 (permalink)  
Antiguo 29/09/2004, 07:01
 
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 29
Antigüedad: 15 años, 5 meses
Puntos: 0
pq no funciona esto???

hola a [email protected]:
tengo el siguiente problema.
Desde una pagina con un formulario llamo a otro pasandole un valor.
La pagina recoge el valor bien, pero cuando intento paginar, me muestra bien los 3 primeros resultados, pero los siguientes, cuando pulso en los enlaces de paginas me dice que no hay resultados. Este es el código:

<?

include ("FAQS/paginar.php");
include ("conexion.php");

//Isset --> comprueba si existe la variable
if(!isset($_GET['pag'])){
$pag=1;
}else{
$pag=$_GET['pag'];
}
$tampag = 3;
$reg1 = ($pag-1) * $tampag;
$id = $_POST['madrid'];
//id vale ahora 10;
$s = OCIParse($c, "select tienda, direccion, telefono from sucursales where idcomunidad=$id");
//si en lugar de esto pongo lo siguiente si que me lo hace bien:
//$s = OCIParse($c, "select tienda, direccion, telefono from sucursales where idcomunidad=10");
OCIExecute($s);
$nrows = OCIFetchStatement($s,$results);

OCICommit;
//echo $nrows;


if ( $nrows > 0 ) {

for ($i=$reg1; $i<(min($reg1+$tampag, $nrows)); $i++) {

reset($results);
while ( $column = each($results) ) {

$data = $column['value'];
echo $data[$i];


} // Fin del while


} // Fin del for

} //Fin del if para verificar si hay datos resultantes de la consulta
else {
echo "No hay datos en la consulta";
}

OCIFreeStatement($s);
echo paginar($pag, $nrows, $tampag, "mostrar_tienda.php?pag=");

// Commit to save changes...
OCICommit($c);

// Logoff from Oracle...
OCILogoff($c);
?>


alguien me puede ayudar???
gracias
saludos
  #2 (permalink)  
Antiguo 29/09/2004, 07:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Fijate en esto:
Cita:
$id = $_POST['madrid'];
//id vale ahora 10;
$s = OCIParse($c, "select tienda, direccion, telefono from sucursales where idcomunidad=$id");
Recoges $id de un formulario POST. Pero al pinchar en un enlace de la paginacion estas solicitando una peticion GET, pasando solo pag como parametro. Cada vez que pinchas en un enlace se ejcuta el script independientemente de la ejecucion anterior.

Asi que lo que tienes que hacer es:

- Hacer que tu script acepte el id tanto de POST como de GET.
- Propagar el valor de id en los links de paginacion añadiendo un parametro.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 29/09/2004, 08:31
 
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 29
Antigüedad: 15 años, 5 meses
Puntos: 0
gracias

Muchas gracias por tu contestación ,pero no se como hacer eso
  #4 (permalink)  
Antiguo 29/09/2004, 08:56
 
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 29
Antigüedad: 15 años, 5 meses
Puntos: 0
help!!

Nadie más me puede ayudar?
saludos
  #5 (permalink)  
Antiguo 30/09/2004, 02:31
 
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 29
Antigüedad: 15 años, 5 meses
Puntos: 0
alguien sabe .......?

Alguien sabe como puedo hacer eso qeu me dice Josemi en su respuesta ........ He probado varias cosas pero no me funciona.
Gracias
  #6 (permalink)  
Antiguo 30/09/2004, 03:06
Avatar de Covids0020  
Fecha de Ingreso: septiembre-2003
Ubicación: España
Mensajes: 217
Antigüedad: 14 años, 2 meses
Puntos: 1
Pos no estoy muy seguro pero creo que se refiere a pasar el id del registro donde te quedes o algo de eso, he mirado muy rápido pero creo haber entendido algo así.
Es decir, respecto a:
"Propagar el valor de id en los links de paginacion añadiendo un parametro."
solo debes añadir unna nueva variable al URL
y luego supongo acceder a los datos a partir del registro que indica ese id, es decir, ese id lo obtienes de la consulta y lo vas pasando de nuevo al script por URL.
Repito que no me he detenido mucho y no sé cierto.

Por otra parte también he visto algo que...
Aquí:
$id = $_POST['madrid'];
//id vale ahora 10;
$s = OCIParse($c, "select tienda, direccion, telefono from sucursales where idcomunidad=$id");
//si en lugar de esto pongo lo siguiente si que me lo hace bien:
//$s = OCIParse($c, "select tienda, direccion, telefono from sucursales where idcomunidad=10");
quizás debieras emplear mejor las comillas al pasar el dato a la consulta no?:

$s = OCIParse($c, "select tienda, direccion, telefono from sucursales where idcomunidad='$id'");

Bueno, no sé, un saludo y suerte.
__________________
"La sabiduría comienza donde acaba el conocimiento". Yaris.
http://www.culturadigital.org
  #7 (permalink)  
Antiguo 30/09/2004, 03:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bueno, veamos si con codigo se me entiende mejor.
Cita:
- Hacer que tu script acepte el id tanto de POST como de GET.
Código PHP:
if (isset($_POST['madrid'])) {
  
$id=$_POST['madrid'];
} elseif (isset(
$_GET['madrid'])) {
  
$id=$_GET['madrid'];
} else {
  
// no has recibido el parametro ni por URL ni por un formulario
  // tomas una accion por defecto o generas un error
  
$id=0;  // 0 es el valor por defecto

Esto iria en lugar de:
Código PHP:
$id $_POST['madrid']; 
y te lo que hace es coger el valor de un campo de un formulario, o si no existe, de un parametro de la URL.
Cita:
- Propagar el valor de id en los links de paginacion añadiendo un parametro.
Tienes que pasar el valor de $id por el link para que cuando se ejecute el script como consecuencia de pinchar en el link, lo puedas recoger y usar en la consulta.
Código PHP:
 echo paginar($pag$nrows$tampag"mostrar_tienda.php?madrid=$id&pag="); 
Asi añades a las URLs de los links el parametro madrid con el valor $id que recoges con el codigo del primer punto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 30/09/2004, 04:36
 
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 29
Antigüedad: 15 años, 5 meses
Puntos: 0
De acuerdo para matarme

Hola:
me vais a matar pero el fallo que tenía es esto:
Yo ponía asi la sentencia:
echo paginar($pag, $nrows, $tampag, $id, "mostrar_tienda.php?comunidad=$id$pag=");

Pero en lugar del símbolo $ hay que poner &.
Muchas gracias de verdad, yo lo he podido mirar durante horas y no me daba cuenta del error.
Gracias
__________________
Nunu :adios:
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 18:56.