Foros del Web » Programando para Internet » PHP »

Por que no funciona combo box?

Estas en el tema de Por que no funciona combo box? en el foro de PHP en Foros del Web. Hola, estoy haciendo una insert a unas tablas, las cuales dependen de un combo box, pero no sé si no estoy recogiendo bien la variable ...
  #1 (permalink)  
Antiguo 31/10/2003, 09:36
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Por que no funciona combo box?

Hola, estoy haciendo una insert a unas tablas, las cuales dependen de un combo box, pero no sé si no estoy recogiendo bien la variable o que pasa, lo que busco es que los datos introducidos en el formulario se inserten en la tabla seleccionada por el combo box... aqui esta mi prueba

Código PHP:
//Definimos la Coneccion
$oCon mysql_pconnect ("localhost","plastico","362514") or die (mysql_error());
//arreglo de tablas
$tbls[0]="tabla01";
$tbls[1]="tabla02";
$tbls[2]="tabla03";
//arreglos nombre de tablas para el combo box
$txt[0]="Tabla 01";
$txt[1]="Tabla 02";
$txt[2]="Tabla 03";
//formulario y tabla
echo "<form method=\"post\" action=\"".$PHP_SELF."\" enctype=\"multipart/form-data\">
<table name=\"formulario\" width=\"770\" border=\"1\" align=\"center\">
        <tr>
            <td>Nombre Producto</td>
            <td><input type=\"text\" name=\"nombre\"></td>
        </tr>
            <td>Sub Titulo</td>
            <td><input type=\"text\" name=\"subtitulo\"></td>
        </tr>
            <td>Insertar en:</td>
            <td> <select name=\"tablas\">"
;
            for (
$i 0$i <= 2$i++){
            echo 
"<option value=\"".$tbls[$i]."\">".$txt[$i]."</option>";
            }
             echo  
"</select>&nbsp;<input type=\"Submit\" name=\"Submit\" value=\"Enviar\"></td>
        </tr>
    </table></form>"
;
//Query a la base de datos
if(isset($_POST['Submit']))
    {
      
$sql mysql_query("INSERT INTO" .$_POST['tablas']. "(nombre,subtitulo) VALUES ('$nombre','$subtitulo')");
    }
echo 
$sql
como ta?
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 31/10/2003, 09:42
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

En programacion los espacios en blanco tienen significado. Fijate cual es el resultado de:
Código PHP:
echo "INSERT INTO".$_POST['tablas']."(..."
De todas formas, cuando tengas un error de MySQL, lo mejor es hacer:
Código PHP:
$sql=mysql_query("....") or die("MySQL dice: ".mysql_error()); 
para ver el texto del mensaje de error.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 31/10/2003, 09:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ojo con la sintax correcta del SQL.
Código PHP:
$sql mysql_query("INSERT INTO" .$_POST['tablas']. "(nombre,subtitulo) VALUES ('$nombre','$subtitulo')"); 

Si le haces un echo a ese $sql veras:

Código PHP:
INSERT INTOtabla01(nombre,subtituloVALUES ('nose','nose'
Como veras... te faltaron espacios ...
Código PHP:
$sql mysql_query("INSERT INTO " .$_POST['tablas']. " (nombre,subtitulo) VALUES ('$nombre','$subtitulo')"); 
Un saludo,

PD: Plock!!... jeje .. josemi .. otro "choque mas". xDDDD
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 31/10/2003 a las 09:46
  #4 (permalink)  
Antiguo 31/10/2003, 12:23
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Problema resuelto, el caso es que cuando hacia el query no tenia la base de datos seleccionada

Código PHP:
//Definimos la Coneccion
$oCon mysql_connect ("localhost","plastico","362514") or die (mysql_error());
//arreglo de tablas
$tbls[0]="tabla01";
$tbls[1]="tabla02";
$tbls[2]="tabla03";
//arreglos nombre de tablas para el combo box
$txt[0]="Tabla 01";
$txt[1]="Tabla 02";
$txt[2]="Tabla 03";
//formulario y tabla
echo "<form method=\"post\" action=\"".$PHP_SELF."\" enctype=\"multipart/form-data\">
<table name=\"formulario\" width=\"770\" border=\"1\" align=\"center\">
        <tr>
            <td>Nombre Producto</td>
            <td><input type=\"text\" name=\"nombre\"></td>
        </tr>
            <td>Sub Titulo</td>
            <td><input type=\"text\" name=\"subtitulo\"></td>
        </tr>
            <td>Insertar en:</td>
            <td> <select name=\"tablas\">"
;
            for (
$i 0$i <= 2$i++){
            echo 
"<option value=\"".$tbls[$i]."\">".$txt[$i]."</option>";
            }
             echo  
"</select>&nbsp;<input type=\"Submit\" name=\"Submit\" value=\"Enviar\"></td>
        </tr>
    </table></form>"
;
//Query a la base de datos
if(isset($_POST['Submit']))
    {
      
$sql mysql_db_query("prueba","INSERT INTO ".$_POST['tablas']." (nombre,subtitulo) VALUES ('$nombre','$subtitulo')") or die("MySQL dice: ".mysql_error());
    }
echo 
$sql
Gracias
__________________
www.dataautos.com
  #5 (permalink)  
Antiguo 31/10/2003, 15:15
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Je, pues es cierto, solo tenia el mysql_pconnect(). Pero bueno, supongo que te lo diria el mysql_error() del mysql_query.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 31/10/2003, 15:18
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
__________________
www.dataautos.com
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 08:24.