llamar una variable en otro php sin get ni post

publicado por: Anonymous

muchas gracias a la comunidad de antemano.
bueno al asunto, he creado un select option dinamico sencillo que al seleccionar un cliente en el siguiente select option salen sus mascotas.
introducir la descripción de la imagen aquí

Aqui cargo en el primer select option los clientes.

<label for="inputEmail1" required class="col-lg-2 control-label">Paciente:</label>
<select id="id_paciente" name="id_paciente" class="form-control" onchange="MostrarMascota()">
<option value="" selected disabled>---SELECCIONE---</option>
<?php
$salx=mysql_query("SELECT * FROM pacientes ");  

while($col=mysql_fetch_array($salx)){
echo '<option value="'.$col['id'].'">'.$col['nombre'].'</option>';
                         }
 ?>   

y el de mascotas es el siguiente codigo:

   </select>
  <br>
   <label for="inputEmail1" required class="col-lg-2 control-label">Mascotas:</label>
   <div  id="div_mascot">
   <select name="mascotas" type=text  id="mascotas" autocomplete="off"     class="form-control"  required>
<option value=""></option> 
</select>
   </div>
   <br>

Para que saliera las mascotas del cliente tuve que realizar otro php que realice la respectiva consulta con el id ya obtenido por un get.
Este seria el codigo que menciono:

<select name="mascotas" id="mascotas" class="form-control">
<option value="">- Seleccione Mascota -</option>
<?php
     include '/conexion.php';
     $IdEspe = $_POST['id'];
   $sql = "select mascotas.id, mascotas.nombre from mascotas where     idpaciente= $IdEspe";
      $result = $mysqli->query($sql);
  while( $row = $result->fetch_assoc()) 
      {
        $idcitass=$row['id'];
     ?>
    <option  value="<?php echo $row['id']."~".$row['nombre'] ?>" ><?php echo $row['nombre']; ?></option>
    <?php
       $valor=explode("~",$_POST["mascotas"]);
        $clase=$valor[0];
        $clase2=$valor[1];
     }
     ?>
 </select>  

se hizo un select option que tiene dos variables por valor separados por el signo ~. El problema que tengo es que al querer manipular las variables $clase y $clase2 al otro php por medio de un include “combomascota.php”; me sale error en la pagina y no tengo idea como obtener esas dos variables en el otro php.

solución

no me parece una opción valida utilizar variables de SESSION para tu ejemplo,

Las sesiones siguen un flujo de trabajo sencillo. Cuando una sesión se inicia, PHP recuperará una sesión existente usando el ID pasado (normalmente desde una cookie de sesión) o, si no se pasa una sesión, se creará una sesión nueva. PHP rellenará la variable superglobal $_SESSION con cualesquiera datos de la sesión iniciada. Cuando PHP se cierra, automáticamente toma el contenido de la variable superglobal $_SESSION, la serializa, y la envía para almacenarla usando el gestor de almacenamiento de sesiones.

EDIT

Tu selector mascotas tiene un id id="mascotas", la unica manera que puedas leer y manipular el valor de la seleccion que dio el usuario es DESPUES de la petición GET o POST.

Tu HTML es de lado cliente mientras que tu logica PHP es del lado servidor..

Lo que debes hacer en tu OTRO archivo PHP que es al cual haces post es

Pagina HTML del formulario

<select name="mascotas" id="mascotas" class="form-control">
<option value="">- Seleccione Mascota -</option>
<?php
  include '/conexion.php';
  $IdEspe = $_POST['id'];
  $sql = "select mascotas.id, mascotas.nombre from mascotas where     idpaciente= $IdEspe";
  $result = $mysqli->query($sql);
  while( $row = $result->fetch_assoc()) {
        $idcitass=$row['id'];
        echo '<option   value="'.$row["id"]."~".$row["nombre"].'" >'.$row["nombre"].'</option>';
  }
?>
</select>  

Y ahi trabajarla.

Archivo PHP

$valor=explode("~",$_POST["mascotas"]);
$clase=$valor[0];
$clase2=$valor[1];

EDIT 2

Te dejo un link con un ejemplo de lo que tu estas haciendo, puedes inspeccionar elemento y verificar que los id y values son los que tu quieres.

Ejemplo

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *