PHP - ¿¿¿Por qué no inserta los datos???

   
Vista:

¿¿¿Por qué no inserta los datos???

Publicado por musiker (31 intervenciones) el 21/01/2016 15:03:09
Hola a todos!

Estoy haciendo un script que consulte los registros de una tabla que se llama "general", en la que hay números pares e impares. Mi intención es que, una vez realizada la consulta, se muestre por radio button cada registro, y el usuario clasifique esos registros en pares e impares, insertándose en su tabla correspondiente. El problema es que no se insertan, no sé por qué. ¿¿Alguna idea?? Muchas gracias por adelantado.

Este el código del archivo que muestra la selección de los registros y el 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
include ("conexion.php");
 
 
		//MUESTRA LOS REGISTROS DE LA TABLA "GENERAL"
 
		$consulta_mysql= "SELECT * FROM general";
 
		$resultado=mysql_query($consulta_mysql) or die (mysql_error());
 
 
		if (mysql_num_rows($resultado)>0)
		{
			print("Existe al menos un registro ");
		?>
		<table border='1' cellpadding='0' cellspacing='0' width='600' bgcolor='#F6F6F6' bordercolor='#FFFFFF'>
		<tr>
		  <td width='150' style='font-weight: bold'>NUMERO</td>
		  <td width='150' style='font-weight: bold'></td>
		</tr>
		<br />
 
		<?php
		echo "<br>";
		while ($row = mysql_fetch_array($resultado)){
		echo "<br>";
		?>
		<form method="post" action="pruebas.php">
		<?php
			for($contador=0;$contador<count($row['numero']);$contador++){
		?>
		<div>
 
			<input type="text" name="numero<?php echo $row['numero'];?>" value="<?php echo $row['numero'];?>">
			<input type="radio" name="opcion<?php echo $row['numero'];?>" value="<?php echo $row['numero'];?>"><label>pares</label>
			<input type="radio" name="opcion<?php echo $row['numero'];?>" value="<?php echo $row['numero'];?>"><label>impares</label>
 
		</div>
 
		<?php
			} // "FOR" DEL FORMULARIO 
		?>
 
		<?php
		echo "<tr>";
 
		echo "<td>".$row['numero']."</td>";
 
		echo "</tr>";
 
			} // WHILE
		} // IF
		else
		{
			print("NO Existen registros");
		}
 
	?>
<input type="submit" value="Enviar">
</form>

Y este es el archivo que toma los datos de los radio buttons y realiza la inserción de las tablas, pero no inserta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
include ("conexion.php");
 
echo ("HA LLEGADO A PRUEBAS.PHP");
 
 
foreach ($_POST as $key => $value)
        echo $key. '=' .$value.'<br />';
 
for($i=0;$i<count($_POST['value']);$i++){
	if($_POST["opcion".$i]=="pares")
	{
 
		$sql = "INSERT INTO pares (numero) VALUES ($value)"; //insert
		mysql_query($sql, $conexion) or die ("Error en ejecucion de query: ".mysql_error());
		echo "<br>";
		echo "SE HA INSERTADO CORRECTAMENTE";
 
	}elseif($_POST["opcion".$i]=="impares"){
	$sql = "INSERT INTO impares (numero) VALUES ('$value')"; //insert
		mysql_query($sql, $conexion) or die ("Error en ejecucion de query: ".mysql_error());
		echo "<br>";
		echo "SE HA INSERTADO CORRECTAMENTE";
	}
}
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

¿¿¿Por qué no inserta los datos???

Publicado por Maverick (6 intervenciones) el 21/01/2016 15:12:18
Estimado(a) Musiker,

Desearía saber que mensaje de error sale en el programa, ahora bien tambien veo que indicas en la codigo donde insertas:

if($_POST["opcion".$i]=="pares")

Que estas comparando el texto "pares" y me parece que el valor que contiene el control radio es Numerico, ese tema seria bueno que confirmes.

Cualquier cosa puedes escribirme a: oscardelphi@gmail.com

Saludos Cordiales

Maverick
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

¿¿¿Por qué no inserta los datos???

Publicado por musiker (31 intervenciones) el 21/01/2016 15:19:30
Hola Maverick. Muchas gracias por responder tan rápido. El error que sale es "Undefined index: value". ¿Cómo puedo corregir el tema del valor númerico del control radio?

Muchas gracias de nuevo.
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

¿¿¿Por qué no inserta los datos???

Publicado por musiker (31 intervenciones) el 22/01/2016 00:42:05
Al fin lo he conseguido! Gracias! :)
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 xve

¿¿¿Por qué no inserta los datos???

Publicado por xve (5512 intervenciones) el 22/01/2016 11:01:06
Al final cual era el problema? o como lo has solucionado?
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

¿¿¿Por qué no inserta los datos???

Publicado por musiker (31 intervenciones) el 23/01/2016 01:29:18
Pues al final me quedó así:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
include ("conexion.php");
 
 
		//MUESTRA LOS REGISTROS DE LA TABLA "GENERAL"
 
		$consulta_mysql= "SELECT * FROM general";
 
		$resultado=mysql_query($consulta_mysql) or die (mysql_error());
 
 
		if (mysql_num_rows($resultado)>0)
		{
			print("Existe al menos un registro ");
		?>
 
		<!-- A CONTINUACIÓN DISEÑAMOS LA TABLA -->
 
		<table border='1' cellpadding='0' cellspacing='0' width='600' bgcolor='#F6F6F6' bordercolor='#FFFFFF'>
		<tr>
		  <td width='150' style='font-weight: bold'>NUMERO</td>
		</tr>
		<br />
 
		<?php
		echo "<br>";
		while ($row = mysql_fetch_array($resultado)){ //MIENTRAS EXISTAN LOS CAMPOS EN LA BASE DE DATOS, LOS MOSTRAMOS
 
		echo "<br>";
		?>
		<form method="post" action="pruebas.php">
		<?php
			for($contador=0;$contador<count($row['numero']);$contador++){
		?>
 
		<div>
 
			<?php echo $row['numero'];?>
			<input type="radio" name="<?php echo $row['numero'];?>" value="2"><label>PAR</label>
			<input type="radio" name="<?php echo $row['numero'];?>" value="3"><label>IMPAR</label>
 
		</div>
 
		<?php
			} // "FOR" DEL FORMULARIO 
		?>
 
		<?php
		echo "<tr>";
 
		echo "<td>".$row['numero']."</td>"; // MOSTRAMOS LOS DATOS DE LA CONSULTA A LA BASE DE DATOS.
 
		echo "</tr>";
 
			} // WHILE
		} // IF
		else
		{
			print("NO Existen registros");
		}
 
	?>
<input type="submit" value="Enviar">
</form>

Y el otro archivo es así:

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
include ("conexion.php");
 
foreach ($_POST as $key => $value){
        echo "<br>";
		echo $key;
		echo "<br>";
		echo "VALUE ES:" .$value;
		echo "<br>";
 
			if($value==2)
			{
 
				$sql = "INSERT INTO pares (numero) VALUES ('$key')"; //insert
				mysql_query($sql, $conexion) or die ("Error en ejecucion de query: ".mysql_error());
				echo "<br>";
				echo "SE HA INSERTADO CORRECTAMENTE";
 
			}elseif($value==3){
 
				$sql = "INSERT INTO impares (numero) VALUES ('$key')"; //insert
				mysql_query($sql, $conexion) or die ("Error en ejecucion de query: ".mysql_error());
				echo "<br>";
				echo "SE HA INSERTADO CORRECTAMENTE";
 
			} //ELSEIF
 
		} //FOREACH
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar