Foros del Web » Programando para Internet » PHP »

Consulta no recoge valor

Estas en el tema de Consulta no recoge valor en el foro de PHP en Foros del Web. Saludos! Tengo un problema que me está volviendo loco. Tengo un select, y su valor seleccionado quiero enviarlo a una base de datos. Utilizo el ...
  #1 (permalink)  
Antiguo 18/04/2013, 02:10
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Consulta no recoge valor

Saludos!
Tengo un problema que me está volviendo loco. Tengo un select, y su valor seleccionado quiero enviarlo a una base de datos. Utilizo el paquete XAMPP.
Pues bien, le hago un echo al valor para ver si recoge algo, y sí, lo recoge perfectamente, pero la consulta no me manda nada a la base de datos.
He probado insertanto tanto con $_POST['valor'] como igualandolo a una variable y nada de nada.

El campo donde se ha de enviar el tado es "Provincia", y la tabla se llama "tabla"

Alguna idea?
  #2 (permalink)  
Antiguo 18/04/2013, 02:13
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Respuesta: Consulta no recoge valor

Sin código no hay nada que hacer. Esto es programación y por mucho que intentes explicar lo que te pasa con todo tipo de detalles, sin código fuente es inútil.
  #3 (permalink)  
Antiguo 18/04/2013, 02:18
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: Consulta no recoge valor

Cita:
Iniciado por pr0 Ver Mensaje
Sin código no hay nada que hacer. Esto es programación y por mucho que intentes explicar lo que te pasa con todo tipo de detalles, sin código fuente es inútil.
Voy! Normalmente explico y si hay respuesta entonces pongo el código.

formulario.php
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulario</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
    $(document).on("ready",function()
    {
        $('#lista1').on("change",function()
        {
            var id = $('#lista1').val();
            var metodo = $('#formulario').attr('method')
            $.ajax(
            {
                url:"mostrarpoblaciones.php",
                type:metodo,
                data:{identidad: id},
                success: function(resp)
                {
                    
                    $('#slista').html(resp);
                    $('#lista2').on('change',function()
                    {
                                
                        $('#campos').load('camposformulario.php');
                                
                                
                    });    
                },
                error: function(jqXHR,estado,error)
                {
                    
                    alert("No se ha podido realizar la consulta a la base de datos, por favor intentelo de nuevo");
                    
                }
                    
                
                
            });
            
            
        });
        
        
    });

</script>
</head>
<body>
<form id="formulario" action="introducir.php" method="post">
    <table>
        <tr>
            <td>Seleccione provincia:
                <select id="lista1" name="lst1">
                    <?php 
                        
include("obtenerprovincias.php")
                    
?>
                </select>
            </td>
            <td id="slista">
            
            
            </td>
          
        </tr>
        
       <td>

<td>
<input name="nEmp" type="submit" value="Insertar" />
</td>
            
        
        
        
        </tr>
    </table>
    
</form>

</body>
</html>
obtenerprovincias.php
Código PHP:
<?php
$c
=mysql_connect("localhost","root","");
mysql_select_db("clientes",$c);

$consulta="SELECT * FROM lista_provincias";
$completa=mysql_query($consulta,$c);?>


        <?php
            
while ($fila=mysql_fetch_assoc($completa))
            {
        
?>

                <option value="<?php echo $fila['id'];?>"><?php echo $fila['opcion'];?></option>


        <?php
                
            
}
        
?>
mostrarpoblaciones.php
Código PHP:
<?php
$c
=mysql_connect("localhost","root","");
mysql_select_db("clientes",$c);
$id=$_POST['identidad'];

$consulta="SELECT DISTINCT id, opcion FROM lista_poblaciones WHERE id = $id ORDER BY opcion ASC";
$completa=mysql_query($consulta,$c);?>
Seleccione Población:
<select id="lista2" name="lst2">

        <?php
            
while ($fila=mysql_fetch_assoc($completa))
            {
        
?>

                 <option value="<?php echo $fila['opcion'];?>"><?php echo $fila['opcion'];?></option>


        <?php
                
            
}
        
?>
</select>
introducir.php
Código PHP:
<?php
$c
=mysql_connect("localhost","root","");
mysql_select_db("clientes",$c);
$provincia $_POST['lst1'];
echo 
$provincia;
echo 
"<br>";
$poblacion $_POST['lst2'];
echo 
$poblacion;
echo 
"<br>";
mysql_query("insert into tabla.Provincia values (".$provincia.")",$c);
?>
  #4 (permalink)  
Antiguo 18/04/2013, 02:27
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Respuesta: Consulta no recoge valor

Es esta la consulta que te falla?

Código PHP:
Ver original
  1. mysql_query("insert into tabla.Provincia values (".$provincia.")",$c);
  #5 (permalink)  
Antiguo 18/04/2013, 02:37
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: Consulta no recoge valor

Cita:
Iniciado por pr0 Ver Mensaje
Es esta la consulta que te falla?

Código PHP:
Ver original
  1. mysql_query("insert into tabla.Provincia values (".$provincia.")",$c);
Si, y la cuestión es que no le encuentro el error. No entiendo como dos líneas más arriba el echo devuelve el id de la provincia y ahora con la consulta no lo envía a la base de datos.

PD: lo ideal sería que no enviáse el ID, si no el nombre de la provincia.
  #6 (permalink)  
Antiguo 18/04/2013, 03:05
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Respuesta: Consulta no recoge valor

Si quieres que te devuelva el nombre de la provincia en lugar del ID simplemente tienes que cambiar el VALUE de los options:

mostrarpoblaciones.php

Código PHP:
Ver original
  1. <option value="<?php echo $fila['opcion'];?>"><?php echo $fila['opcion'];?></option>

La consulta parece estar mal... a ver prueba:

Código PHP:
Ver original
  1. $sql = 'INSERT INTO Provincia (el nombre de la columna) VALUES ("'.$provincia.'");
  2.  
  3. mysql_query($sql);
  #7 (permalink)  
Antiguo 18/04/2013, 03:08
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: Consulta no recoge valor

Cita:
Iniciado por pr0 Ver Mensaje
Si quieres que te devuelva el nombre de la provincia en lugar del ID simplemente tienes que cambiar el VALUE de los options:

mostrarpoblaciones.php

Código PHP:
Ver original
  1. <option value="<?php echo $fila['opcion'];?>"><?php echo $fila['opcion'];?></option>

La consulta parece estar mal... a ver prueba:

Código PHP:
Ver original
  1. $sql = 'INSERT INTO Provincia (el nombre de la columna) VALUES ("'.$provincia.'");
  2.  
  3. mysql_query($sql);
Pero si cambio el value de provincias, se supone que no va a mostrarme luego los pueblos de esa provincia, ya que los condiciona según el id de provincia.

El nombre de la tabla es tabla y el nombre de la columna es Provincia. Que hago, repetir Provincia dentro y fuera del paréntesis?

Voy a probar esa consulta, ahora comento.
  #8 (permalink)  
Antiguo 18/04/2013, 03:20
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: Consulta no recoge valor

Código PHP:
Ver original
  1. <?php
  2. $c=mysql_connect("localhost","root","");
  3. mysql_select_db("clientes",$c);
  4. $provincia = $_POST['lst1'];
  5. echo $provincia;
  6. echo "<br>";
  7. $poblacion = $_POST['lst2'];
  8. echo $poblacion;
  9. echo "<br>";
  10. $sql = "INSERT INTO tabla (Provincia, Poblacion) VALUES ('$provincia','$poblacion')";
  11.  
  12. ?>

Así es como funciona!!!!!
Lo único lo que te comentaba antes, si no creo mal, se debería hacer una consulta para que si la consulta obtiene el id se muestre el nombre de la provincia.

Etiquetas: select, valor
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 01:24.