Foros del Web » Programando para Internet » PHP »

Guardar dato para cada celda...

Estas en el tema de Guardar dato para cada celda... en el foro de PHP en Foros del Web. Tengo la siguiente tabla generada a través de php: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php                   ...
  #1 (permalink)  
Antiguo 29/05/2010, 12:01
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Guardar dato para cada celda...

Tengo la siguiente tabla generada a través de php:

Código PHP:
Ver original
  1. <?php
  2.                  
  3.                  $sqlpd="SELECT * FROM pdebilesp WHERE titulo='".$_SESSION["s_carrera"]."' AND centro='".$_SESSION["s_centro"]."' AND campus='".$_SESSION["s_campus"]."'";
  4. $resultpd=mysql_query($sqlpd);
  5.  
  6.              if (mysql_num_rows($resultpd) > 0){
  7.                  
  8.                            echo '<table  frame="box" rules="all" summary="Informe">';
  9.  
  10.                             echo "<tr>";
  11.  
  12. echo "<th class='th1' colspan='11'>Puntos d&eacute;biles</th>";
  13.  
  14.  
  15.   echo "<tr>";
  16.  
  17.               while($row= mysql_fetch_array($resultpd)){
  18.               //si hay algun registro inicia la tabla que muestra los resultados del listado
  19.                       //Coloca una l�nea en el listado
  20.               //inicia la ĺinea
  21.  
  22.  
  23.   //pone los enlaces de ver, editar y borrar asignaturas
  24.  echo '<td>&nbsp;<input name="prioridad" type="text"></td>';  
  25.   echo '<th class="th3">'.$row["pdebil"].'</th>';  
  26.                echo "<td style='display: none;'>".$row['id']."</td>";
  27.  
  28.  
  29.  
  30.               //termina la fila
  31.               echo "</tr>";
  32.              
  33.               //comprueba si hay mas registros que colocar
  34.               //si no hay mas registros termina la tabla
  35.            
  36.  
  37.               }
  38.                             echo "</table>";
  39.                             }
  40.  
  41.               //termina el script              
  42.  
  43.               ?>

Genera 3 celdas:

1 con un campo de texto
2 con el contenido que sale de la base de datos
3 saca el id pero es una celda oculta

Lo que necesito es recorrer esa tabla generada fila por fila e ir guardando lo que hay en ese campo de texto en su sitio osea, guiandome por el id...el problema es que no se me ocurre ninguna idea...
  #2 (permalink)  
Antiguo 29/05/2010, 12:15
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Guardar dato para cada celda...

Su sitio para guardar donde es?, podrias hacer un insert o un update dentro del mimo bucle utilizando el id que te devuelve row..o generar distintos input asignadole una variable contador dentro de name...nose a que te refieres, pero son las cosas que se me ocurren si he entendido bien tu problema
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #3 (permalink)  
Antiguo 29/05/2010, 12:25
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Guardar dato para cada celda...

Su sitio es una columna de un tabla...ese campo lo encuentra a través del id.

No puedo hacer un update ya que los campos se llaman igual o si pongo contador puede haber tanto 1 como 20 entonces cómo hago el update?

El caso es que no se me ocurre ningun codigo que vaya recorriendo la columna id d la tabla y vaya aciendo los updates...
  #4 (permalink)  
Antiguo 29/05/2010, 12:31
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Guardar dato para cada celda...

Podrias poner una variable que sea por ejemplo $cont=1 al principio del bucle y luego añadirla al name del input del estilo de <input name="prioridad"+cont type="text"> y luego al editar que te mande a otro formulario cont la vas incrementando con cada iteracion del bucle ergo vas a tener un input por cada registro y luego solo haces el update en el formulario que te mande el boton editar, me explico? xD
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #5 (permalink)  
Antiguo 29/05/2010, 12:44
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Guardar dato para cada celda...

Eeee si...ahora que sea capaz de pasarlo a código xDDDDDDDDDDDD alguun ejemplo?
  #6 (permalink)  
Antiguo 29/05/2010, 12:58
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Guardar dato para cada celda...

Simplemente un boton "editar" dentro de un formulario que apunte al archivo php que se encargará de editar, recoges la variable "prioridad"+cont del input con algun bucle o algo en dicho formulario... ahora mismo no tengo ningún codigo de ejemplo, pero si lo encuentro te lo posteo
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #7 (permalink)  
Antiguo 29/05/2010, 13:01
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Guardar dato para cada celda...

De todas formas seguro que hay metodos mucho mejores, yo soy bastante novel en php
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #8 (permalink)  
Antiguo 29/05/2010, 16:00
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Guardar dato para cada celda...

A ver si a alguien se le ocurre alguna idea :(
  #9 (permalink)  
Antiguo 30/05/2010, 13:01
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Guardar dato para cada celda...

Solo para que te sirva de ejemplo y veas a que me refiero, el código fue de los primeros que hice asi que solo capta la idea...

Fichero A
Código PHP:
Ver original
  1. if ($re=mysql_fetch_array($resp))
  2.             {
  3.                 printf ("<div id='colOne'>");
  4.                 printf ("<form name='FormAlumnos' method='post' action='EvaluarAlumno.php'>");
  5.                 $cont=0;
  6.                 do {
  7.                     printf ("<table border=0>");
  8.                     printf ("<tr>");
  9.                     printf ("<td>");
  10.                     printf ($re["nombre_alum"]);
  11.                     printf ("</td>");
  12.                     printf ("<td>");
  13.                     printf ("<input type='text' value='' name='nota".$cont."'/>");
  14.                     printf ("</td>");
  15.                     printf ("<td>");
  16.                     printf ("<input type='hidden' value='".$re['cod_alumno']."' name='".$cont."'/>");
  17.                     printf ("</td>");
  18.                     printf ("<td>");
  19.                     printf ("<input type='hidden' value='".$re['cod_asignatura']."' name='asignatura".$cont."'/>");
  20.                     printf ("</td>");
  21.                     printf ("</tr>");
  22.                     printf ("</table");
  23.                     $cont++;
  24.                 }while ($re=mysql_fetch_array($resp));
  25.                 printf ("<input type='hidden' value='".$cont."' name='numAlum'/>");
  26.                 printf ("<input type='submit' value='Evaluar' name='Evaluar' />");
  27.                 printf ("</form>");

Fijate como uso un bucle para poder recorrer todos los valores anteriores

Fichero donde recojo a A
Código PHP:
Ver original
  1. for ($i=0;$i<$_SESSION["cont"];$i++){
  2.                 $alumno=$_POST[$i];
  3.                 $asignatura=$_POST['asignatura'.$i];
  4.                 $sentencia=("select * from alum_asig where alumno=".$alumno." and asignatura=".$asignatura);
  5.                 //echo $sentencia;
  6.                 //$re=mysql_fetch_array($sentencia);
  7.                 $re=mysql_query($sentencia);
  8.                     if($re["nota"]!=null){
  9.                         $sql=("update alum_asig set nota=".$_POST['nota'.$i]." where alumno=".$_POST[$i]." and asignatura=".$asignatura);
  10.                         mysql_query($sql);
  11.                     }
  12.                     else{
  13.                         $sql= ("insert into alum_asig values(".$_POST[$i].",".$_POST['asignatura'.$i].",".$_POST['nota'.$i].");");
  14.                         mysql_query ($sql);
  15.                    
  16.                     }
  17.             }
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)

Última edición por Nekeniehl; 30/05/2010 a las 13:08

Etiquetas: celda, dato
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:29.