Como realizar una consulta con los datos de otra consulta

iniciopublic Seguir

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
Hola a todos , bueno tengo este problema

Quiero hacer una consulta en mysql y cuando la realize realizar otra primera consulta con los datos imprimidos

Lo que pasa es que estoy haciendo un sistema de inscripcion de alumnos , cuando consulto el alumno me mostrara que esta en "Quinto Grado" y despues me muestre las secciones disponibles de "Quinto grado"

PHP:
<?php
$sql = "SELECT grado FROM alumno WHERE apellido='".$_POST['codigo']."'"; 
$result = mysql_query ($sql); 
if(isset($result)) {    
//Aqui me mostrara los datos de alumno pero en este caso solo pongo el Grado
    while ($row = mysql_fetch_array($result)){
  ?>
<td height="23" colspan="2">Grado</td><td><b>
<input type="text" name="secciona" maxlength="20" value="<?php echo $row["grado"]?>"> </td>


// Aqui es donde quiero agarrar el valor del input del grado y ralizar la consulta
</td><td width="300" bgcolor="#fgffff">Secciones Disponibles <br>
<?php
if (isset($_POST["gradoa"]))
    {
      
$sql2="Select seccion FROM secciones WHERE grado='".$_POST['secciona']."'"; 
$result2 = mysql_query ($sql2);
if(isset($result2)) {
    
//obtenemos los datos resultado de la consulta 
    while ($row2 = mysql_fetch_array($result2)){
      echo '<b>'.$row2["seccion"].'</b>';     
}
}
}
}
}
Lo que pasa es no me muestra nada ¿estara mal como lo hago? ¿hay otra forma de hacerlo?



Saludos
 

fercba

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Ago 2013
Mensajes
815
Si queres tomar los valores de la primera consulta y usarlos en una segunda , deberias dentro del primer while hacer la segunda consulta con los datos que te retorna, y haciendo su respectivo filtro.
 

iniciopublic

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
Hola fercba , si esta dentro del primer while , pero no me muestra
 

fercba

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Ago 2013
Mensajes
815
Hace un var_dump para ver que datos te retorna.
El grado veo que te retorna en la primera consulta, porque no usas ese valor en lugar de
PHP:
if(isset($_POST["gradoa"]))

Este valor $_POST['secciona'] se obtiene solo del formulario unicamente ? o tambien te lo puede devolver la primera consulta.
 

iniciopublic

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
Hace un var_dump para ver que datos te retorna.
El grado veo que te retorna en la primera consulta, porque no usas ese valor en lugar de
PHP:
if(isset($_POST["gradoa"]))

Este valor $_POST['secciona'] se obtiene solo del formulario unicamente ? o tambien te lo puede devolver la primera consulta.

No me equivoque , lo que pasa es que escribi mal para resumirlo y mostrarlo en el foro

if(isset($_POST["gradoa"])) es igual a if(isset($_POST["secciona"]))

pero sigue igual
 

fercba

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Ago 2013
Mensajes
815
PHP:
$sql2="Select seccion FROM secciones WHERE grado='".$row["grado"]."'";

En lugar de

PHP:
$sql2="Select seccion FROM secciones WHERE grado='".$_POST['secciona']."'";

Si ya tenes el grado del alumno en la primera consulta xq no lo usas. Solo quita los if antes a la segunda consulta
 

iniciopublic

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
PHP:
$sql2="Select seccion FROM secciones WHERE grado='".$row["grado"]."'";

En lugar de

PHP:
$sql2="Select seccion FROM secciones WHERE grado='".$_POST['secciona']."'";

Si ya tenes el grado del alumno en la primera consulta xq no lo usas. Solo quita los if antes a la segunda consulta

Hola , nada no me funciono , no me muestra ningun dato , ademas si quito los if me salen otros errores como este :

Undefined variable: result in C:\xampp\htdocs\prueba\admin.php on line 401
 

fercba

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Ago 2013
Mensajes
815
PHP:
<?php
$sql = "SELECT grado FROM alumno WHERE apellido='".$_POST['codigo']."'";  

$result = mysql_query ($sql); 

if(isset($result)) {  

	//Aqui me mostrara los datos de alumno pero en este caso solo pongo el Grado 
	while ($row = mysql_fetch_array($result)){ 
	  ?> 
			<td height="23" colspan="2">Grado</td><td><b> 
			<input type="text" name="secciona" maxlength="20" value="<?php echo $row["grado"]?>"> </td> 


			// Aqui es donde quiero agarrar el valor del input del grado y ralizar la consulta 
			</td><td width="300" bgcolor="#fgffff">Secciones Disponibles <br> 
	<?php 

		
		       
		$sql2="Select seccion FROM secciones WHERE grado='".$row["grado"]."'";  
		$result2 = mysql_query ($sql2); 
			if(isset($result2)) { 
			     
			//obtenemos los datos resultado de la consulta  
			    while ($row2 = mysql_fetch_array($result2)){ 
			      echo '<b>'.$row2["seccion"].'</b>';      
				} 
			} 	
	} 
}

No me explique bien, solo era este
PHP:
if (isset($_POST["gradoa"]))
 

fercba

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Ago 2013
Mensajes
815
Si te muestra ese error es porque la consulta dio vacia entonces toma un valor null. pasale la variable de conexion al
mysql_query($sql, $conexion);
Hola , nada no me funciono , no me muestra ningun dato , ademas si quito los if me salen otros errores como este :

Undefined variable: result in C:\xampp\htdocs\prueba\admin.php on line 401
 

iniciopublic

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
Si te muestra ese error es porque la consulta dio vacia entonces toma un valor null. pasale la variable de conexion al
mysql_query($sql, $conexion);

Ok ya lo hize , quite los 2 if

if(isset($result)) { y if(isset($result2)) { y puse la variable de conexion dond edijiste y no me salio error , pero aun sigue igual son mostrarme datos
 

fercba

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Ago 2013
Mensajes
815
Hace un var_dump a $result y $result2 . si la segunda te da null es porque no hay resultados para ese valor. Fijate que el valor que ingresas esta en tu base de datos. Podrias hacer una validacion asi


PHP:
if(count($result2)){

	while(){
		
	}
}else{
	echo "No hay resultados para";
}

Yo te decia que saques los if para que veas que errores te daba pero debes ponerlos para evitar que te muestre errores que una persona comun no entiende. tambien podes hacer uso de mysql_error()
 

iniciopublic

Préstamo
Pi
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
16 Jul 2013
Mensajes
5.060
Hace un var_dump a $result y $result2 . si la segunda te da null es porque no hay resultados para ese valor. Fijate que el valor que ingresas esta en tu base de datos. Podrias hacer una validacion asi


PHP:
if(count($result2)){

	while(){
		
	}
}else{
	echo "No hay resultados para";
}

Yo te decia que saques los if para que veas que errores te daba pero debes ponerlos para evitar que te muestre errores que una persona comun no entiende. tambien podes hacer uso de mysql_error()

uffffff , por fin , me funciono

puse como me dijiste

$sql2="Select seccion FROM secciones WHERE grado='".$row["grado"]."'";

y tambien eliminando los if , creo que lo que impedia eso eran los if


Saludos Y gracias
 

fercba

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
5 Ago 2013
Mensajes
815
uffffff , por fin , me funciono

puse como me dijiste

$sql2="Select seccion FROM secciones WHERE grado='".$row["grado"]."'";

y tambien eliminando los if , creo que lo que impedia eso eran los if


Saludos Y gracias

:encouragement: ademas de eso te recomiendo validar los campos que envies via post para que la consulta sea correcta y te evites inyecciones de codigo malicioso. Saludos
 
Arriba