Foros del Web » Programando para Internet » PHP »

Ayuda en pasar un dato

Estas en el tema de Ayuda en pasar un dato en el foro de PHP en Foros del Web. Hola amigos del foro.. les cuento mi problemita.. estoy haciendo un pequeño formulario que tendria un formato asi Materia Profesor Año Modulo Acciones En Acciones ...
  #1 (permalink)  
Antiguo 09/03/2010, 21:42
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años
Puntos: 2
Ayuda en pasar un dato

Hola amigos del foro.. les cuento mi problemita.. estoy haciendo un pequeño formulario que tendria un formato asi

Materia Profesor Año Modulo Acciones

En Acciones yo tengo por cada registro de la tabla esa que creo, un boton y un campo oculto. En el campo oculto guardo el id de esa fila y con el boton llamo a una consulta del sql que usa ese id. El problema que tengo es que al tomarlo por metodo post siempre $_POST['id'] me toma el id del ultimo de la lista, y no se como hacer para que tome el de la fila en el cual hago click.. se entiende la idea? Les dejo una pic de como es el formulario por ahi se entiende mejor.



Ahi en la lista si yo quiero eliminar el ultimo anda bien pero para cualquiera de la lista que elija siempre me eliminar el ultimo.. se puede referenciar en el boton de alguna manera a la fila en al que esta el boton o algo similar?

Muchas gracias!
  #2 (permalink)  
Antiguo 09/03/2010, 22:08
 
Fecha de Ingreso: marzo-2010
Mensajes: 50
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Ayuda en pasar un dato

Bueno seria asi el codigo:

haces la consulta a la BD caojer los registros:

Código PHP:
<?php

//conexion a la BD
//blabla blka

?>

//generas la cabezera de la tabla

<table>
<tr>
<td>Maestro</td>
<td>Profesor</td>
<td>Año</td>
<td>Modulo</td>
<td colspan="2">Acciones</td>
</tr>

<?php
//consulta
$res1 mysql_query ("SELECT id,materia,profesor,año,modulo FROM tabla");
while(
$row1=mysql_fetch_array($res1)){

$id $row1["id"];

echo 
"<tr>";
echo 
"<td>$row1["materia"]</td>";
echo 
"<td>$row1["profesor"]</td>";
echo 
"<td>$row1["año"]</td>";
echo 
"<td>$row1["modulo"]</td>";

echo 
"<td><a href='URL_de_borrar.php?u=$id' target='_blank'>Borrar<a></td>";

echo 
"<td><a href='URL_de_la_consulta.php?u=$id' target='_blank'>Hacer<a></td>";

echo 
"</tr>";


?>
</table>
Algo asi seria ala ora de hacer la consulta recojes la id y la pones en el while en este caso los link


Espero averte ayudado si no te sugiero que pongas tu codigo para ver como te podemos ayudar
  #3 (permalink)  
Antiguo 09/03/2010, 22:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda en pasar un dato

me imagino que estas usando el mismo name para todos tus <input/> y eso es lo que provoca el error, ya que el name debe ser único...

la solución consiste en nombrar los <input/> con name de tipo array, así identificas perfectamente el elemento y la acción del siguiente modo:
Código HTML:
<input type="submit" name="accion[99]" value="Accion"/> 
en este caso, el índice $_POST['accion'] contiene toda la información (el 99 podría significar el ID de algún elemento) relacionada al elemento... así de simple!! (:

eso si utilizas botones, en caso que uses enlaces es mucho mas sencillo...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 10/03/2010, 09:00
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años
Puntos: 2
Respuesta: Ayuda en pasar un dato

Hola, primero gracias por responder. Si, por metodo get se me habia ocurrido, el problemita que tengo con eso es que yo hago unos includes y tengo una variable p que me indica que pagina hago el include, y no se porque cuando uso get en esa pagina nunca me levanta el p a la url y se me rompe todo :( Pero es una buena opcion..

En cuanto a lo que me decis vos paketetrueke, en caso de que yo guarde toda la info en ese array, despues no sabria a cual hacer referencia dependiendo del boton..

Creo que la mejor opcion es la de bemitoreya, aunque tendria que ver como solucionar lo del include ese..

Muchas gracias a los dos!
  #5 (permalink)  
Antiguo 10/03/2010, 09:04
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Ayuda en pasar un dato

Lo de la variable p, necesitas usar & si mandas dos variables por la url, ejemplo:

archivo.php?p=valor1&u=valor2

Y así no vas a perder el valor del id, ni el valor de p.
__________________
http://exegesis-biblica.com/
  #6 (permalink)  
Antiguo 10/03/2010, 09:09
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años
Puntos: 2
Respuesta: Ayuda en pasar un dato

Jejej.. de paso pregnto, hay alguna manera de poner un valor en una variable que haga lo que haga se imprima en el get? O sea.. una variable obligatoria.. Gracias!
  #7 (permalink)  
Antiguo 10/03/2010, 09:10
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años
Puntos: 2
Respuesta: Ayuda en pasar un dato

Cita:
Iniciado por blogger Ver Mensaje
Lo de la variable p, necesitas usar & si mandas dos variables por la url, ejemplo:

archivo.php?p=valor1&u=valor2

Y así no vas a perder el valor del id, ni el valor de p.
Si, eso lo hice, pero lo que quiero es que el valor de p vaya siempre.. y poniendolo asi solo va cuando hago click en ese boton, pero tengo mas botones que son input type submit y no se como hacer que esos si o si levanten el valor de p.. probe con input hidden y demas pero no logre que le hiciera caso.

Gracias!
  #8 (permalink)  
Antiguo 10/03/2010, 09:14
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Ayuda en pasar un dato

Muestranos tu codigo, y lo vemos.
__________________
http://exegesis-biblica.com/
  #9 (permalink)  
Antiguo 10/03/2010, 09:22
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años
Puntos: 2
Respuesta: Ayuda en pasar un dato

blogger.. te dejo un link en donde subi mi codigo porque es muy grande para ponerlo como texto en el foro

http://pastebin.com/D7FBSDpx

Lo que se necesitaria es algun lugar en donde se pase la variable p, tal como la paso en el action del form..

Gracias!

PD: Originalmente el codigo era todo con metodo POST y solo cambie el post por get asi que probablemente ahi este el error.. si se te ocurre alguna manera de hacer lo que yo quiero en el principio del thread con metodo post, para mi mucho mejor xD

Saludos
  #10 (permalink)  
Antiguo 10/03/2010, 09:33
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Ayuda en pasar un dato

Veo que la tienes definida en el action del form, pero no veo que la recibas o la estes enviando como dato del formulario. Por lo tanto, puedes hacerlo definiendo el valor de p al inicio del PHP ($p=valor) o bien obtener el valor por medio de $_GET['p'] y asignarlo a la variable $p, como lo estas haciendo con los demas datos, para el envio, pues con input hidden o como lo estas haciendo ya, pero sea como sea, lo importante es que tienes que usar $_GET['p'] para que el valor no se pierda.
__________________
http://exegesis-biblica.com/
  #11 (permalink)  
Antiguo 10/03/2010, 09:41
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años
Puntos: 2
Respuesta: Ayuda en pasar un dato

Si, eso lo he intentado, pero aunque ponga $_GET['p']; como primera linea de mi codigo, de todos modos solo me envia alguna variables por get.. no todas las que yo quiero.. :/

Y bueno, es el caso de la variable p que no me la envia. Te comento porque la importancia de p xD.. Esta pagina esta incluida en un index.php, que hace un get de p e incluye la pagina que tenga la variable, o sea, cuando hago click en los links nunca recargo las parte fija, sino que incluyo lo demas. Por eso es que el p es fijo, porque es el nmombre de la pagina, solo eso..

Saludos
  #12 (permalink)  
Antiguo 10/03/2010, 09:51
Avatar de blogger  
Fecha de Ingreso: diciembre-2005
Ubicación: frente al monitor
Mensajes: 398
Antigüedad: 18 años, 4 meses
Puntos: 12
Respuesta: Ayuda en pasar un dato

Cita:
Iniciado por Megcapkill Ver Mensaje
Si, eso lo he intentado, pero aunque ponga $_GET['p']; como primera linea de mi codigo, de todos modos solo me envia alguna variables por get.. no todas las que yo quiero.. :/
El formulario hace lo que le pides que haga, si te faltan variables, es por que no estan bien definidas y no las esta enviando el formulario. Para que no tengas problemas yo te recomiendo quitar p del action del form y ponerlo en un input al inicio del formulario.

<input type="hidden" name="p" value="agr_claseaestudiante2">
__________________
http://exegesis-biblica.com/
  #13 (permalink)  
Antiguo 10/03/2010, 10:09
 
Fecha de Ingreso: abril-2007
Ubicación: Tandil, Bs As, Argentina
Mensajes: 106
Antigüedad: 17 años
Puntos: 2
Respuesta: Ayuda en pasar un dato

Perceto.. Por lo visto el hidden con p se chocaba con el p del action del form y al final no quedaba ni uno ni otro, porque ahroa le saque el p del action y con el hidden que ya tenia con p salio andando..

Muchas gracias blogger! :D

Etiquetas: dato, pasar
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 03:09.