Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con While

Estas en el tema de Problema con While en el foro de PHP en Foros del Web. Hola muy buenas, Tengo un problema con un bucle, estoy mostrando unos textos, y bien cada texto mostrará un icono que si lo pulsas borrará ...
  #1 (permalink)  
Antiguo 10/05/2014, 14:17
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Problema con While

Hola muy buenas,

Tengo un problema con un bucle, estoy mostrando unos textos, y bien cada texto mostrará un icono que si lo pulsas borrará ese texto, solo ese y no los demás. (Borrará o insertará depende) ahora mismo quiero insertar, este es mi código:

Código PHP:
Ver original
  1. <?php
  2.     $yu = mysqli_query($conexion, "SELECT * FROM informacion WHERE cosa = '".$id."'")or die(mysqli_error($conexion));
  3.     while($yu1 = mysqli_fetch_assoc($yu)){
  4.        
  5.               echo htmlentities($yu1['texto'], null, 'ISO-8859-1');
  6.              
  7.              echo " <form action='' method='POST'>
  8.              <input type='submit' name='report' class='my_33' value='&nbsp;'/>
  9.              </form> ";
  10.  
  11.         if(isset($_POST['report'])){
  12.             $h1 = mysqli_query($conexion, "INSERT INTO dui(texto) VALUES ('".$yu1['comentario']."')")or die(mysqli_error($conexion));
  13.         }
  14.     }
  15.     ?>

Sirve bien, pero en vez de insertar solo el texto perteneciente el boton, introduce todos los textos que se muestran por el bucle.

¿Me podrían echar una manita por favor?

Un cordial saludo.
  #2 (permalink)  
Antiguo 10/05/2014, 15:02
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Problema con While

Cita:
Iniciado por TSG Ver Mensaje
Hola muy buenas,

Tengo un problema con un bucle, estoy mostrando unos textos, y bien cada texto mostrará un icono que si lo pulsas borrará ese texto, solo ese y no los demás. (Borrará o insertará depende) ahora mismo quiero insertar, este es mi código:

Código PHP:
Ver original
  1. <?php
  2.     while($yu1 = mysqli_fetch_assoc($yu)){
  3.         ...
  4.         if(isset($_POST['report'])){
  5.             $h1 = mysqli_query($conexion, "INSERT INTO dui(texto) VALUES ('".$yu1['comentario']."')")or die(mysqli_error($conexion));
  6.         }    
  7.     ?>

Sirve bien, pero en vez de insertar solo el texto perteneciente el boton, introduce todos los textos que se muestran por el bucle.
Lo que dice ahi es que, por cada fila que haya en la tabla "informacion", si se ha recibido un post, la insertas en la tabla dui.
Ese bucle genera n formularios, si n es el numero de filas de la tabla "informacion".Si cualquiera de esos formularios se postea, las n filas se copian a la tabla dui.
Asigna un valor al input del submit (en vez de "&nbsp", usa el id de la "informacion"), y en el bucle, comprueba que el valor del $_POST["result"] sea el id de la fila de la tabla informacion.
  #3 (permalink)  
Antiguo 10/05/2014, 15:18
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problema con While

Hola muy buenas,

gracias por tu respuesta pero estoy probando y no doy con el resultado:

Código HTML:
Ver original
  1. <form action='' method='POST'>
  2.               <input type='submit' name='report' class='my_33' value='".$yu1['id']."'/>
  3.               </form>

Saludos!
  #4 (permalink)  
Antiguo 10/05/2014, 15:41
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Problema con While

Y has incluido la comparacion a if(isset($_POST['report'])){ ?
$_POST['report']==$yu1["id"]
  #5 (permalink)  
Antiguo 10/05/2014, 15:56
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problema con While

Cita:
Iniciado por dashtrash Ver Mensaje
Y has incluido la comparacion a if(isset($_POST['report'])){ ?
$_POST['report']==$yu1["id"]
Lo acabo de poner pero sigue igual lo inserta todos:

Código PHP:
Ver original
  1. <form action='' method='POST'>
  2.               <input type='submit' name='report' class='my_33' value='".$yu1['id']."'/>
  3.               </form>
  4.  
  5. if(isset($_POST['report']) == $yu1['id']){
  6.             $h1 = mysqli_query($conexion, "INSERT INTO dui(texto) VALUES ('".$yu1['comentario']."')")or die(mysqli_error($conexion));
  7.         }

Saludos.
  #6 (permalink)  
Antiguo 11/05/2014, 11:15
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Problema con While

Código que te he puesto:
Código PHP:
Ver original
  1. $_POST['report']==$yu1["id"]
Código que has metido:
Código PHP:
Ver original
  1. isset($_POST['report']) == $yu1['id']
No es lo mismo una cosa que la otra.
  #7 (permalink)  
Antiguo 11/05/2014, 11:38
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problema con While

Muchísimas gracias me sirve ahora correctamente.

Ahora el problema es que me dice que defina la variable report...

Me aparece esto:

Código:
Notice: Undefined index: report
(Servir sirve, pero se muestra ese error)

Saludos!
  #8 (permalink)  
Antiguo 11/05/2014, 11:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema con While

Código PHP:
Ver original
  1. $_POST['report']
Pues simplemente que ese valor no está llegando por POST.
¿De dónde se supone que viene?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 11/05/2014, 11:42
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Problema con While

Cita:
Iniciado por TSG Ver Mensaje
Me aparece esto:

Código:
Notice: Undefined index: report
(Servir sirve, pero se muestra ese error)
No es un error sino un aviso de que un índice no está definido (declarado) —será $_POST['report']). En un servidor de producción ese tipo de avisos deberían de estar desactivados y por lo tanto no mostrarse.
  #10 (permalink)  
Antiguo 11/05/2014, 11:44
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problema con While

¿Entonces cómo hago para solucionarlo?

¿O para ocultarlo?

Cuál es la solución de las dos.

Saludos!!
Gracias.
  #11 (permalink)  
Antiguo 11/05/2014, 11:46
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problema con While

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Código PHP:
Ver original
  1. $_POST['report']
Pues simplemente que ese valor no está llegando por POST.
¿De dónde se supone que viene?
Viene de acá:

Código HTML:
Ver original
  1. <form action='' method='POST'>
  2.               <input type='submit' name='report' value='".$yu1['id']."' class='my_33'/>
  3.               </form>

Saludos!
  #12 (permalink)  
Antiguo 11/05/2014, 12:24
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Problema con While

Simplemente, como te decía en el primer post, mete *AMBOS* tests:
Código PHP:
Ver original
  1. if(isset($_POST[".."]) && $_POST[".."]==...)
  #13 (permalink)  
Antiguo 11/05/2014, 12:32
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Problema con While

De lujo, muchisimas gracias os agradesco mucho vuestra ayuda.

Saludos!

Tema solucionado!!

Etiquetas: html, mysql, select, sql
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 19:33.