Foros del Web » Programando para Internet » PHP »

ambito variables

Estas en el tema de ambito variables en el foro de PHP en Foros del Web. hola tengo este codigo: switch(){ case 1: ........ $id=mysql_insert_id(); break case 2: $id2=mysql_insert_id(); $consulta2="INSERT INTO tabla1 (id_tabla1,id_tabla2) values('".$id."','".$id2."')"; } ¿como puedo hacer para que en ...
  #1 (permalink)  
Antiguo 21/11/2013, 03:57
 
Fecha de Ingreso: julio-2012
Mensajes: 106
Antigüedad: 11 años, 9 meses
Puntos: 2
ambito variables

hola tengo este codigo:

switch(){

case 1:
........
$id=mysql_insert_id();
break
case 2:
$id2=mysql_insert_id();
$consulta2="INSERT INTO tabla1 (id_tabla1,id_tabla2) values('".$id."','".$id2."')";
}


¿como puedo hacer para que en la consulta me coja $id?
  #2 (permalink)  
Antiguo 21/11/2013, 04:29
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 7 meses
Puntos: 43
Respuesta: ambito variables

No uses switch, usa if
  #3 (permalink)  
Antiguo 21/11/2013, 04:36
 
Fecha de Ingreso: julio-2012
Mensajes: 106
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: ambito variables

aunque use if sigue sin funcionar
  #4 (permalink)  
Antiguo 21/11/2013, 04:46
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 7 meses
Puntos: 43
Respuesta: ambito variables

Es que si querés que la consulta tome los dos $id, no tendrían que estar condicionados. Porque ahí o tenés uno o tenés otro.
  #5 (permalink)  
Antiguo 21/11/2013, 05:03
 
Fecha de Ingreso: julio-2012
Mensajes: 106
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: ambito variables

peo si uso if tambien estarian condicionados
  #6 (permalink)  
Antiguo 21/11/2013, 05:12
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 7 meses
Puntos: 43
Respuesta: ambito variables

Claro, si los necesitas si o si a los dos, no los separes.
  #7 (permalink)  
Antiguo 21/11/2013, 05:16
 
Fecha de Ingreso: julio-2012
Mensajes: 106
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: ambito variables

pero es que los tengo que separar obligatoriamente, pero necesito que al hacer la consulta del primer case me guarde ese id y poder utilizarlo en el segundo case ¿no se podria enviar de alguna manera o algo?
  #8 (permalink)  
Antiguo 21/11/2013, 05:26
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 7 meses
Puntos: 43
Respuesta: ambito variables

Pasa que, según como está ahí, si entra al caso 1, no entra al segundo, si entra al segundo, no entra al primero.

Va a entrar a los dos si le sacás el brak al primer caso, eso va a ser que pase por el caso 1 y 2.

Pero si entra directamente al 2, te va a faltar $id igualmente.

Mostranos el código completo para que podamos entender la razón de porque necesitás el switch si o si, porque si necesitás las dos cosas, no le encuentro el sentido.
  #9 (permalink)  
Antiguo 21/11/2013, 05:26
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: ambito variables

Por que tienes que separarlos obligatoriamente?
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #10 (permalink)  
Antiguo 21/11/2013, 05:36
 
Fecha de Ingreso: julio-2012
Mensajes: 106
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: ambito variables

los separo porque lo hago desde un js con ajax y para enviar los parametros es mejor. el problema es que tengo otra tabla que relaciona los id que necesito y como son autoincrementables he pensado esta manera de hacerlo ¿se podria hacer de otra manera ?


este es el codigo completo php;
Código PHP:
Ver original
  1. $accion=$_POST['accion'];
  2.  
  3. switch($accion){
  4.  
  5.     case "IR":
  6.     $nuevaruta=json_decode($_POST['jruta']);
  7.    
  8. $consulta="INSERT INTO rutas (nombre, fecha,completa,parcial,observaiones)  values('".$nuevaruta->nombre."','".$nuevaruta->fecha."','".$nuevaruta->completa."','".$nuevaruta->parcial."','".$nuevaruta->observaciones."')";
  9.  
  10.  
  11.  
  12. $resultado=mysql_query($consulta, $conexion_extrekernel);
  13.  
  14.  
  15.        
  16. if(!$resultado){
  17.     die("No he obtenido ninguna fila");
  18.     }else{
  19.        
  20.         echo "0";
  21.        
  22.         }
  23.         break;
  24.     case "IT":
  25.    
  26.     $nuevotramo=json_decode($_POST['jtramo']);
  27.    
  28. $consulta="INSERT INTO tramos (idorigen, iddestino,km)  values('".$nuevotramo->idorigen."','".$nuevotramo->iddestino."','".$nuevotramo->km."')";
  29.  
  30. $resultado=mysql_query($consulta, $conexion_extrekernel);
  31.  
  32.  
  33. $consulta2="INSERT INTO tramosxrutas (RUTAS_id,TRAMOS_id) values('".$id."','".$id2."')";
  34. $resultado2=mysql_query($consulta2, $conexion_extrekernel);
  35. echo $id."<br>".$id2;
  36. if((!$resultado) && (!$resultado2)){
  37.     die("No he obtenido ninguna fila");
  38.     }else{
  39.         echo "0";
  40.        
  41.         }
  42.         break;
  43.            
  44. }
  #11 (permalink)  
Antiguo 21/11/2013, 05:56
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 7 meses
Puntos: 43
Respuesta: ambito variables

Según lo que entiendo, si entra al primero, es que va a agregar una nueva ruta, ahí seguro no tenés problema. Si entra al segundo, es que va a hacer un tramo de una ruta. Si va a hacer el tramo de una ruta, quiere decir que esta ya existe. Lo que tendrías que hacer es pasarle por post el id de la ruta.

A no ser que haya entendido mal.
  #12 (permalink)  
Antiguo 21/11/2013, 06:08
 
Fecha de Ingreso: julio-2012
Mensajes: 106
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: ambito variables

exacto eso es lo que quiero ¿como seria?
  #13 (permalink)  
Antiguo 21/11/2013, 06:30
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 10 años, 7 meses
Puntos: 43
Respuesta: ambito variables

Y agregalo en el formulario del que viene, asi como le agregás un valor a $_POST['accion'], $_POST['jruta'], y cualquier otra, le pasás el id de la ruta que seleccionó. Después la usas en la consulta.

$
Código PHP:
Ver original
  1. consulta2="INSERT INTO tramosxrutas (RUTAS_id,TRAMOS_id) values('".$_POST['id_ruta']."','".$id2."')";

Etiquetas: ambito, sql, tabla, variables
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 03:45.