PHP - enviar tabla php mysql

 
Vista:
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 26/06/2014 03:32:33
buenas no se muy bien como explicar lo que quiero hacer pero lo voy a intentar .

tengo este formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<form id="asistencia" method="POST" action="conteo.php">
                    <div><input type="date"></div>
                    <table>
                        <thead>
 
                        <td class="nombre">Nombre</td><td class="apellido">Apellido</td><td class="usuario">Usuario</td><td class="asistencia">Asistencia</td>
 
                        </thead>
                        <tbody>
                            <?php
 
 
                         $query= "SELECT * FROM `usuarios` ORDER BY `id`";
                       $result=  mysql_query($query);
                        $numero = 0;
                         while($row = mysql_fetch_array($result))
                         {  echo "<tr>
                    <td name='nombre'>".$row["nombre"]."</td><td name='apellido'>".$row["apellido"]."</td><td name='username'>".$row["username"]."</td><td><select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc></td>
                         <tr>";}
                    ?>
                        </tbody>
                    </table>
                    <input type="submit" value="enviar" class="sendform">
                </form>

y me muestra todos los datos hasta ahi todo bien pero como ven quiero volver a enviar estos datos mas la fecha y la asistencia a otra base de datos si podrian ayudarme se los agradeceria es para hacer un control de asistencia de un personal de alrededor 300 personas y estoy parado por eso.

de antemano gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Salvador

enviar tabla php mysql

Publicado por Salvador (125 intervenciones) el 26/06/2014 06:36:32
Trata de tener un codigo mas limpio para localizar mas facilmente errores,,,

En la parte donde traes los datos, puedes colver a enviarlos mediante un formulario, declara si quieres tipos hidden para que no dupliques datos en pantalla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$query= "SELECT * FROM `usuarios` ORDER BY `id`";
$result=  mysql_query($query);
$numero = 0;
<form action="archivo_envio" method="post">
while($row = mysql_fetch_array($result))
 {
 
<input type='hidden' name='username' value='$row["username"]'>
<input type='hidden' name='apellido' value='$row["apellido"]'>
<input type='hidden' name='nombre' value='$row["nombre"]'>
 
echo "<tr>
<td name='nombre'>".$row["nombre"]."</td>
<td name='apellido'>".$row["apellido"]."</td>
<td name='username'>".$row["username"]."</td>
<td><select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc></td>
<tr>";
<input type='submit' name='enviar'>
}
</form>
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 27/06/2014 16:26:08
es que puedo volver a enviar pero lo que se guarda en la base de datos es el ultimo valor por ejemplo este codigo


<select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc>

deberia enviar tantos "si" o "no" como datos halla en la tabla usuarios osea

si tengo 10 usuarios registrados con este codigo

echo "<tr>
<td name='nombre'>".$row["nombre"]."</td>
<td name='apellido'>".$row["apellido"]."</td>
<td name='username'>".$row["username"]."</td>
<td><select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc></td>
<tr>";

me muestra la tabla con los 10 usuarios y a cada uno un select con las opciones si o no.... en estos momentos los campos ".$row["nombre"]." ".$row["apellido"]." ".$row["username"]." no se estan enviando imagino que por estar en <td> eso ya lo entendi.... lo que no entiendo es porque el select no envia los 10 registros sino solo 1 el ultimo exactamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Salvador

enviar tabla php mysql

Publicado por Salvador (125 intervenciones) el 27/06/2014 17:19:49
A ver, si tu haces el envio de forma automatica a la segunda base de datos sin necesidad de que un usuario de click en un boton, lo que debes hacer es poner tu insert dentro del while, para que cada vez que pase por un registro de la primera, lo grabe en la segunda, y de hecho no necesitas un boton.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$query= "SELECT * FROM `usuarios` ORDER BY `id`";
$result=  mysql_query($query);
$numero = 0;
while($row = mysql_fetch_array($result))
 {
$introduce_datos = mysql_query('INSERT INTO usuarios(username, apellido, nombre, asist) values("'.$row['username'].'", "'.$row['apellido'].'", "'.$row['nombre'].'", "'.$row['asist'].'")');
 
echo "<tr>
<td name='nombre'>".$row["nombre"]."</td>
<td name='apellido'>".$row["apellido"]."</td>
<td name='username'>".$row["username"]."</td>
<td><select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc></td>
<tr>";
<input type='submit' name='enviar'>
}
?>

de hecho hecho, en el ejemplo anterior tuve un error, el form debe estar dentro del while para que te haga tantos formularios como usuarios tengas, por eso estaba enviando el formulario solo con el ultimo registro, me disculpo por eso... :D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$query= "SELECT * FROM `usuarios` ORDER BY `id`";
$result=  mysql_query($query);
$numero = 0;
 
while($row = mysql_fetch_array($result))
 {
<form action="archivo_envio" method="post">
<input type='hidden' name='username' value='$row["username"]'>
<input type='hidden' name='apellido' value='$row["apellido"]'>
<input type='hidden' name='nombre' value='$row["nombre"]'>
 
echo "<tr>
<td name='nombre'>".$row["nombre"]."</td>
<td name='apellido'>".$row["apellido"]."</td>
<td name='username'>".$row["username"]."</td>
<td><select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc></td>
<tr>";
<input type='submit' name='enviar'>
</form>
}
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 27/06/2014 17:39:57
este es el codigo de la pagina que recibe los datos del formulario y los envia a otra tabla de mysql
pero no logro que envie la lista completa solo me envia el ultimo

1
2
3
4
5
6
7
8
9
10
11
12
13
$grupo =($_POST['grupo']);
$asistencia=($_POST['asist']);
 
 
$hostname = "localhost";
        $usuario = "root";
        $password = "root";
        $basededatos = "prueba";
 
$idconnect=mysql_connect("$hostname", "$usuario", "$password")or die(mysql_error());
$dbconnect = mysql_select_db("$basededatos",$idconnect)or die(mysql_error());
mysql_query("INSERT INTO asistencia(grupo,asistencia)
values ('$grupo','$asistencia')")or die(mysql_error());
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Salvador

enviar tabla php mysql

Publicado por Salvador (125 intervenciones) el 27/06/2014 18:09:16
El problema no esta donde lo recibes, sino donde lo envias, por eso te comentaba en el anterior, como haces tu envio? de forma automatica o el usuario debe dar click ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 27/06/2014 19:31:58
el usuario debe dar clic al boton enviar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Salvador

enviar tabla php mysql

Publicado por Salvador (125 intervenciones) el 28/06/2014 00:54:05
Entonces este es el ejemplo que deberias utilizar para que vaya formando los formularios al vuelo de uno por uno

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$query= "SELECT * FROM `usuarios` ORDER BY `id`";
$result=  mysql_query($query);
$numero = 0;
 
while($row = mysql_fetch_array($result))
 {
<form action="archivo_envio" method="post">
<input type='hidden' name='username' value='$row["username"]'>
<input type='hidden' name='apellido' value='$row["apellido"]'>
<input type='hidden' name='nombre' value='$row["nombre"]'>
 
echo "<tr>
<td name='nombre'>".$row["nombre"]."</td>
<td name='apellido'>".$row["apellido"]."</td>
<td name='username'>".$row["username"]."</td>
<td><select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc></td>
<tr>";
<input type='submit' name='enviar'>
</form>
}
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 30/06/2014 18:10:00
es una solucion pero no la ideal ya que cuando lo hago de esta menera tengo que enviar uno por uno y necesito es enviar la lista completa que me genera la consuta de la base de datos voy a subir unas imagenes
esto es lo que tengo y lo que quiero enviar a otra base de datos


este es el codigo (le modifique detalles)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<form id="asistencia" method="POST" action="conteo.php">
                    <div><input type="date" value="<?php echo date('Y-m-d'); ?>" /></div>
                    <table>
                        <thead>
 
                        <td class="nombre">Nombre</td><td class="apellido">Apellido</td><td class="usuario">Usuario</td><td class="asistencia">Asistencia</td>
 
                        </thead>
                        <tbody>
                            <?php
 
 
                         $query= "SELECT * FROM `usuarios` ORDER BY `id`";
                       $result=  mysql_query($query);
                        $numero = 0;
                         while($row = mysql_fetch_array($result))
                         {  echo "
<input type='hidden' name='grupo' value='".$row["grupo"]."'>
<tr>
                    <td name='nombre'>".$row["nombre"]."</td><td name='apellido'>".$row["apellido"]."</td><td name='username'>".$row["username"]."</td><td><select name='asist'><option value='no' selected>no</option><option value='si'>si</option></selectc></td>
                        <td><input name='fecha' type='hidden' type='date' value='".date('Y-m-d')."'</td>
                         <tr>";}
                    ?>
                        </tbody>
                    </table>
                    <input type="submit" value="enviar" class="sendform">
                </form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de SALVADOR

enviar tabla php mysql

Publicado por SALVADOR (125 intervenciones) el 30/06/2014 22:31:47
De entrada en tu codigo no estas enviando nada, a excepcion de un input con la fecha, tienes que asignar input a cada elemento que quieras enviar

podrias ir dandole nombres a los input de manera dinamica.


<?php
$num = 0;
echo '<input name="nombre'.$num.'">';
echo '<input name="apellido'.$num.'">';
echo '<input nombre="cantidad" value="'.$num.'">';
?>

Cuando recibas el formulario, debes hacer otro ciclo para ir guardando, por eso seria importante enviar el ultimo input con la cantidad de registros anexados.

for (a=0; a<=$_POST['cantidad']; a++){
$insertar = mysql_query('insert into basededatos(nombre, apellido) values("'.$_POST['nombre'].$a.'",".$_POST['apellido'].$a.")');
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 01/07/2014 02:19:16
Aqui si quede mal disculpa la molestia , de verdad siento que ya molesto pero si que no lo entendi ...

en el envio solo me interesa enviar 3 input

grupo, fecha y asistencia los que si se estan enviando pero solo el ultimo .

si pudieras por favor explicarme bien lo del ciclo for para probar si me funciona de esa forma te lo agradeceria mas de lo que tengo que agradecer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de SALVADOR

enviar tabla php mysql

Publicado por SALVADOR (125 intervenciones) el 01/07/2014 02:30:52
A ver, enviame el codigo donde recibes la informacion,, es decir, donde guardas tus datos en la segunda BDD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 03/07/2014 17:32:16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
 
$grupo =  ($_POST['grupo']);
$asistencia=($_POST['asist']);
$fecha= ($_POST['fecha']);
 
 
$hostname = "";
        $usuario = "";
        $password = "";
        $basededatos = "";
 
$idconnect=mysql_connect("$hostname", "$usuario", "$password")or die(mysql_error());
$dbconnect = mysql_select_db("$basededatos",$idconnect)or die(mysql_error());
mysql_query("INSERT INTO asistencia(grupo,asistencia,fecha)
values ('$grupo','$asistencia','$fecha')")or die(mysql_error());
 
 
        ?>
Este es el codigo todavia no entiendo como se me ha complicado tanto pasar por php la informacion de una base de datos a otra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Zenen
Val: 25
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

enviar tabla php mysql

Publicado por Zenen (11 intervenciones) el 02/07/2014 03:50:38
En vez de meter los datos extraidos de tu tablas en TD utiliza Inputs, de alli si los podras enviar a domde quieras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

enviar tabla php mysql

Publicado por ENDER (8 intervenciones) el 03/07/2014 17:45:13
si te fijas bien en el codigo lo que esta en <td> solo es para mostrar y lo que esta en input y select es lo que envia...
el problema no es que no recibo sino que solo recibo el ultimo dato si vez mas arriba cargue una imagen con la lista que me genera la consulta de la base de datos primera (12 filas) lo mismo que muestran esos tds estan ocultos en inputs el problema pasa es que cuando le doy a enviar solo se guarda en la 2da bdd los datos de la ultima fila.

no se si es que los tengo que enviar o recibir de tipo array o crear una variable de tipo array... si trabajo con una misma base... lo que ustedes me recomienden para darle solucion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar