Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con consulta select

Estas en el tema de Problema con consulta select en el foro de PHP en Foros del Web. Hola amigos del foro tengo el siguiente problema. //De una consulta recupero // $d2 = mysql_fetch_assoc($dato2); //luego se imprime en un IMPUT// <input type="text" name="grupo" ...
  #1 (permalink)  
Antiguo 10/01/2014, 13:27
 
Fecha de Ingreso: agosto-2010
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Problema con consulta select

Hola amigos del foro tengo el siguiente problema.


//De una consulta recupero //


$d2 = mysql_fetch_assoc($dato2);

//luego se imprime en un IMPUT//

<input type="text" name="grupo" id="grupo" value="<?php echo $d2[dato2'];?>" />

//Hasta qui todo funciona bien
//ahora usando ese mismo dato necesito hacer otra consulta a otra tabla

$sql=mysql_query("SELECT * FROM tabla WHERE valor='$d2'",$con);

// Pero simplemente no me hace la consulta, ya probé escribiendo directamente la variable un valor y si funciona, también quitando la condición y también funciona, solo cuando condiciono con una variable no me muestra ningún resultado, espero peuda ayudarme se agradece cualquier sugerencia
  #2 (permalink)  
Antiguo 10/01/2014, 13:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Respuesta: Problema con consulta select

Cita:
Iniciado por famjaes Ver Mensaje
//De una consulta recupero //
$d2 = mysql_fetch_assoc($dato2);
//luego se imprime en un IMPUT//
<input type="text" name="grupo" id="grupo" value="<?php echo $d2[dato2'];?>" />

//Hasta qui todo funciona bien
//ahora usando ese mismo dato necesito hacer otra consulta a otra tabla
$sql=mysql_query("SELECT * FROM tabla WHERE valor='$d2'",$con);
Puede pegar el codigo entero (lo relevante), a ver donde pierde el valor.
Y otra cosa por si no sabes, mysql está obsoleto y se debe actualizar a mysqli o pdo.
  #3 (permalink)  
Antiguo 10/01/2014, 13:49
 
Fecha de Ingreso: enero-2014
Mensajes: 75
Antigüedad: 10 años, 3 meses
Puntos: 11
Respuesta: Problema con consulta select

^^ me alegra ver que helen se pasa al maravilloso mundo del mysqli jejej.

El codigo parece que esta bien, haz una cosa, ponlo asi

Código PHP:
Ver original
  1. $sentencia = "SELECT * FROM tabla WHERE valor='$d2'";
  2. if($sql=mysql_query($sentencia,$con)){
  3.    //Aqui puedes poner el codigo que quieras si la consulta está correcta.
  4.     echo "Consulta ejecutada correctamente<br>";
  5. }else{
  6.  echo "ERROR:<br>$sentencia<br>".mysql_error($con);
  7. }
  8. }

Si te da error, dime cual es, si te da consulta ejecutada correctamente, entonces puede ser que no tengas ningun registro en la tabla que corresponda con el condicional que das.

Seguimos investigando.
  #4 (permalink)  
Antiguo 10/01/2014, 14:16
 
Fecha de Ingreso: agosto-2010
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con consulta select

me dice que la consulta se ejecuto correctamente, pero no me muestra ningún valor y si pongo

$sentencia = "SELECT * FROM tabla WHERE valor='1'"; //así si funciona si me muestra los valores y manda el mensaje de que se ejecuto la consulta ///

$sentencia = "SELECT * FROM tabla WHERE valor='$d2'"; // Así no funciona pero si manda el mensaje de que se ejecuto la consulta



A continuación pongo todo el código

<?php
include 'cabecera.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>REBSAMEN</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<link rel="stylesheet" href="css/style.css" type="text/css" />

</head>


<?php
include 'conexion.php';
include 'proceso/funciones.php';
$con = mysql_connect($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname, $con);

$id = $_GET['id'];

//consulta losgrupos

$grado=mysql_query("SELECT grado FROM gradosygrupos WHERE id = $id" ,$con);

$grupo=mysql_query("SELECT grupo FROM gradosygrupos WHERE id = $id" ,$con);

$d1 = mysql_fetch_assoc($grado);
$d2 = mysql_fetch_assoc($grupo);

?>

<body>

<div class="wrapper">
<form id="form1" name="form1" method="post" action="proceso/insertaralumnos.php" enctype="multipart/form-data">
<p>
<?php
error_reporting (E_ALL ^ E_NOTICE);
if($_GET['error']=='1'){
echo '<font color="#FF0000">Campos vacios</font><br/>';
}
?>
<?php

if($_GET['error']=='2'){
echo '<font color="#FF0000">Ya existe un registro </font><br/>';
}
?>

<div class="formtitle">Insertar Alumnos</div>



<div class="input">
<div class="inputtext">Apellido paterno: </div>
<div class="inputcontent">

<input type="text" name="apellidopaterno" id="apellidopaterno" />

</div>
</div>

<div class="input">
<div class="inputtext">Apellido materno: </div>
<div class="inputcontent">

<input type="text" name="apellidomaterno" id="apellidomaterno" />

</div>
</div>

<div class="input">
<div class="inputtext">Nombres: </div>
<div class="inputcontent">


<input type="text" name="nombres" id="nombres" />

</div>
</div>
</p>

<div class="input">
<div class="inputtext">Grado: </div>
<div class="inputcontent">
<input type="text" name="grado" id="grado" value="<?php echo $d1['grado'];?>" />


</div>
</div>
</span>

<div class="input">
<div class="inputtext">Grupo: </div>
<div class="inputcontent">

<input type="text" name="grupo" id="grupo" value="<?php echo $d2['grupo'];?>" />

</div>
</div>
<div class="input">
<div class="inputtext">Grupo: </div>
<div class="inputcontent">

<input type="text" name="id" id="id" value="<?php echo $id;?>" />

</div>
</div>

</span>

<input type=image src="pics/insertar.png" width="25" height="15">
</p>
</form>


<?php


$sentencia="SELECT * FROM alumnos WHERE grado='1'";
if($sql=mysql_query($sentencia,$con)){

//muestra los datos consultados
//haremos uso de tabla para tabular los resultados
?>
<table style="border:1px solid #FF0000; color:#000099;width:400px;">
<tr style="background:#99CCCC;">
<td>Apelldio Paterno</td>
<td>Apellido Materno</td>
<td>Nombres</td>
</tr>

<?php while($mts = mysql_fetch_assoc($sql)) { ?>
<tr>
<td><?php echo $mts['apellidopaterno']; ?></td>
<td><?php echo $mts['apellidomaterno']; ?></td>
<td><?php echo $mts['nombres']; ?></td>

<td><a href="#" onclick="alert(<?php echo $mts['id']; ?>);">Eliminar</a></td>
</tr>
<?php }

echo "Consulta ejecutada correctamente<br>";
}else{
echo "ERROR:<br>$sentencia<br>".mysql_error($con);
}


?>


<script type="text/javascript">
function alert(id) {
if (window.confirm("Aviso:\nDesea eliminar el registro seleccionado?")) {
window.location = "./proceso/eliminar.php?action=del&id="+id;
}
}
</script>
  #5 (permalink)  
Antiguo 10/01/2014, 14:38
 
Fecha de Ingreso: enero-2014
Mensajes: 75
Antigüedad: 10 años, 3 meses
Puntos: 11
Respuesta: Problema con consulta select

Bueno, aqui esta el error

Cita:
$sentencia = "SELECT * FROM tabla WHERE valor='1'"; //así si funciona si me muestra los valores y manda el mensaje de que se ejecuto la consulta ///

$sentencia = "SELECT * FROM tabla WHERE valor='$d2'"; // Así no funciona pero si manda el mensaje de que se ejecuto la consulta
$d2 es un objeto de la clase result, o para que lo entiendas, es un array, no le estas dando ningun valor a la sentencia sql.

Cita:
$d2 = mysql_fetch_assoc($grupo);
Para ello tendrias que poner

$sentencia="SELECT * FROM alumnos WHERE grado='{$d2['el indice que quieres mostrar']}'";

No se si me has entendido, es un error tonto, pero de esos que te puede doler la cabeza buscandolo jejeje.

Saludos, dime si ha funcionado
  #6 (permalink)  
Antiguo 10/01/2014, 14:38
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: Problema con consulta select

Cita:
Iniciado por famjaes Ver Mensaje
Hola amigos del foro tengo el siguiente problema.


//De una consulta recupero //


$d2 = mysql_fetch_assoc($dato2);

//luego se imprime en un IMPUT//

<input type="text" name="grupo" id="grupo" value="<?php echo $d2[dato2'];?>" />

//Hasta qui todo funciona bien
//ahora usando ese mismo dato necesito hacer otra consulta a otra tabla

$sql=mysql_query("SELECT * FROM tabla WHERE valor='$d2'",$con);

// Pero simplemente no me hace la consulta, ya probé escribiendo directamente la variable un valor y si funciona, también quitando la condición y también funciona, solo cuando condiciono con una variable no me muestra ningún resultado, espero peuda ayudarme se agradece cualquier sugerencia
Código:
$sql=mysql_query("SELECT * FROM tabla WHERE valor='$d2'",$con);
$d2 es un array
  #7 (permalink)  
Antiguo 10/01/2014, 14:54
 
Fecha de Ingreso: enero-2014
Mensajes: 75
Antigüedad: 10 años, 3 meses
Puntos: 11
Respuesta: Problema con consulta select

Cita:
Iniciado por luis010182 Ver Mensaje
Código:
$sql=mysql_query("SELECT * FROM tabla WHERE valor='$d2'",$con);
$d2 es un array
Claro que si compañero, es un array o un objeto de la clase result, como quieras llamarlo, pero, sabes que el array, para acceder a sus contenidos, debes indicarle donde mirar, no?

Con la sentencia sql le estas diciendo a la BBDD, "busca todos los valores de la tabla 'tabla' donde valor sea igual a ¿?¿?¿?¿?¿?"

Ahi tienes el error, debes de decirle donde mirar en el array.

Saludos.
  #8 (permalink)  
Antiguo 10/01/2014, 15:07
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: Problema con consulta select

Cita:
Iniciado por razierplus2 Ver Mensaje
Claro que si compañero, es un array o un objeto de la clase result, como quieras llamarlo, pero, sabes que el array, para acceder a sus contenidos, debes indicarle donde mirar, no?

Con la sentencia sql le estas diciendo a la BBDD, "busca todos los valores de la tabla 'tabla' donde valor sea igual a ¿?¿?¿?¿?¿?"

Ahi tienes el error, debes de decirle donde mirar en el array.

Saludos.
A eso me referia. Copie el codigo que puso famjaes, me tenia que aclara bien mi respuesta.
famjaes : No indicaste el elemento o el indice en la consulta y estas buscando un registro que tenga el campo "valor" igual a un objeto.
  #9 (permalink)  
Antiguo 10/01/2014, 21:39
 
Fecha de Ingreso: agosto-2010
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con consulta select

Muchas gracias razierplus2 funciono perfectamente
  #10 (permalink)  
Antiguo 11/01/2014, 03:27
 
Fecha de Ingreso: enero-2014
Mensajes: 75
Antigüedad: 10 años, 3 meses
Puntos: 11
Respuesta: Problema con consulta select

Cita:
Iniciado por luis010182 Ver Mensaje
A eso me referia. Copie el codigo que puso famjaes, me tenia que aclara bien mi respuesta.
famjaes : No indicaste el elemento o el indice en la consulta y estas buscando un registro que tenga el campo "valor" igual a un objeto.
Luis jajaja, creia que eras el autor del post, lo siento, no me di cuenta que estabas aclarando el error.

Un saludo.

Etiquetas: condición, sql
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 00:34.