Foros del Web » Programando para Internet » PHP »

Ordenar Select,Insert

Estas en el tema de Ordenar Select,Insert en el foro de PHP en Foros del Web. Hola, estoy leyendo unas cosas y no logro ordenarme. la idea es que se ingrese solo si el codigo existe en la base de datos. ...
  #1 (permalink)  
Antiguo 15/06/2011, 12:12
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 12 años, 11 meses
Puntos: 2
Exclamación Ordenar Select,Insert

Hola, estoy leyendo unas cosas y no logro ordenarme.
la idea es que se ingrese solo si el codigo existe en la base de datos.
aun no me manejo ni en lo mas basico a pesar que aqui e aprendido mucho desde que entre n.n
este es el codigo
Código PHP:
<?php session_start(); ?>
<?php 
$conexion
=mysql_connect("localhost","admin","admin");
mysql_select_db("comportamiento",$conexion);
$run$_POST["run"];
$codigo=$_POST["codigo"];
$nombres$_POST["nombres"];
$apellido_p$_POST["apellido_p"];
$apellido_m$_POST["apellido_m"];
$select="SELECT CODIGO FROM curso WHERE CODIGO=$codigo";
$sql="INSERT INTO alumno VALUES ('$run', '$codigo', '$nombres', '$apellido_p', '$apellido_m')";
if (
mysql_query($sql,$select,$conexion))
{
    
$n1 ="Ha sido ingresado Correctamente";
    
header ("Location: ingreso_alumno.php?n1=$n1");
}
else
{
    
$n1"Alumno Ingresado Anteriormente";
header ("Location: ingreso_alumno.php?n1=$n1");
}
?>
como va una sintaxis de select y luego insert?
si le saco el select lo inserta y todo pero necesito que condicione si el codigo ingresado existe en la tabla curso... pistas plz gracias
  #2 (permalink)  
Antiguo 15/06/2011, 12:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ordenar Select,Insert

Como lo haces no es la forma correcta, mysql_query() solo puede ejecutar una consulta a la ves y no ambas.

Primero debes hacer la consulta del SELECT para verificar si ya existe el dato en la BD, después de eso ya puede proceder con tu lógica.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/06/2011, 12:36
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Ordenar Select,Insert

hacer un query al select 1ero?
  #4 (permalink)  
Antiguo 15/06/2011, 12:39
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Ordenar Select,Insert

Me quedo así
Código PHP:
<?php session_start(); ?>
<?php 
$conexion
=mysql_connect("localhost","admin","admin");
mysql_select_db("comportamiento",$conexion);
$run$_POST["run"];
$codigo=$_POST["codigo"];
$nombres$_POST["nombres"];
$apellido_p$_POST["apellido_p"];
$apellido_m$_POST["apellido_m"];
$select="SELECT CODIGO FROM curso WHERE CODIGO=$codigo";
if (
mysql_query($select,$conexion))
{
$sql="INSERT INTO alumno VALUES ('$run', '$codigo', '$nombres', '$apellido_p', '$apellido_m')";
}
if (
mysql_query($sql,$conexion))
{
    
$n1 ="Ha sido ingresado Correctamente";
    
header ("Location: ingreso_alumno.php?n1=$n1");
}
else
{
    
$n1"El código ingresado no existe o el Alumno a sido ingresado anteriormente";
header ("Location: ingreso_alumno.php?n1=$n1");
}
?>
Funciona pero me inserta = si el codigo no existe, muchas gracias. alguna sugerencia?

Última edición por apolazo; 15/06/2011 a las 13:02
  #5 (permalink)  
Antiguo 15/06/2011, 13:12
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Ordenar Select,Insert

si me inserta los datos =, no esta pasando por el select? como se podria ordenar un ingreso con esa condicion? saludos
  #6 (permalink)  
Antiguo 15/06/2011, 13:18
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Ordenar Select,Insert

Prueba así:

$select="SELECT CODIGO FROM curso WHERE CODIGO=$codigo";
$result = mysql_query($select,$conexion);
if (mysql_num_rows($result) >0){
.
.
.
}
  #7 (permalink)  
Antiguo 15/06/2011, 13:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ordenar Select,Insert

Mas bien debes comparar que haces con el resultado del SELECT, revisa el manual para que veas lo que devuelve la función mysql_query() y que otras funciones debes usar para extraer los datos.

Por si misma la función no te dice nada, por eso debes aprender a hacer consultas.

También te invito a buscar en el foro, hay bastantes cosas al respecto.

Edito: ya te dieron un ejemplo...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 15/06/2011, 13:43
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Ordenar Select,Insert

con mysql_query() envio la consula a la bd? en este caso 1ero el $select pero luego si es verdadera pasara a los if? o me etivoco?

Probe con tu ejemplo Nexus y me redirecciona la pagina en blanco :/
me lei los manuales del foro, ahora sigo con los de php.net
  #9 (permalink)  
Antiguo 15/06/2011, 13:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Ordenar Select,Insert

Perdón, he puesto una llave mal. Prueba así a ver:

Código PHP:
$select="SELECT CODIGO FROM curso WHERE CODIGO=$codigo";
$result mysql_query($select,$conexion);
if (
mysql_num_rows($result) >0){
    
$sql="INSERT INTO alumno VALUES ('$run', '$codigo', '$nombres', '$apellido_p', '$apellido_m')";

    if (
mysql_query($sql,$conexion))
    {
        
$n1 ="Ha sido ingresado Correctamente";
        
header ("Location: ingreso_alumno.php?n1=$n1");
    }
}
else
{
    
$n1"El código ingresado no existe o el Alumno a sido ingresado anteriormente";
header ("Location: ingreso_alumno.php?n1=$n1");

  #10 (permalink)  
Antiguo 15/06/2011, 14:04
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Ordenar Select,Insert

Gracias, leo y leo pero soy re cabeza dura jaja, lo probe y ahora no deja ingresar manda el error, pero si ingreso el mismo run es decir uno k ya este de antes me manda a pag en blanco X.x eso no pasava :S
  #11 (permalink)  
Antiguo 15/06/2011, 17:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 2 meses
Puntos: 58
Respuesta: Ordenar Select,Insert

Supongo que será porque falta una condición por si falla el insert. A ver así:


Código PHP:
$select="SELECT CODIGO FROM curso WHERE CODIGO=$codigo";
$result mysql_query($select,$conexion);
if (
mysql_num_rows($result) >0){
    
$sql="INSERT INTO alumno VALUES ('$run', '$codigo', '$nombres', '$apellido_p', '$apellido_m')";

    if (
mysql_query($sql,$conexion))
    {
        
$n1 ="Ha sido ingresado Correctamente";
        
header ("Location: ingreso_alumno.php?n1=$n1");
    }
    else{
       
$n1 ="Ha ocurrido un error al ingresar datos";
        
header ("Location: ingreso_alumno.php?n1=$n1");
    }
}
else
{
    
$n1"El código ingresado no existe o el Alumno a sido ingresado anteriormente";
    
header ("Location: ingreso_alumno.php?n1=$n1");

  #12 (permalink)  
Antiguo 15/06/2011, 19:34
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: Ordenar Select,Insert

Muchisimas gracias, estoy en el php.net leyendo pero me a costado un mundo entender la sintaxis asdfasdfasdf gracias nuevamente a ambos!

PD: No sabia que al finalizar un if else, al cerrar las llaves se le podia incluir otro else.

Última edición por apolazo; 15/06/2011 a las 19:40

Etiquetas: Ninguno
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 02:55.