Foros del Web » Programando para Internet » PHP »

Consulta base de datos

Estas en el tema de Consulta base de datos en el foro de PHP en Foros del Web. Alguien sabe como puedo hacer una consulta a una base de datos, con un list/ menu y que haga una consulta a la base de ...
  #1 (permalink)  
Antiguo 11/05/2009, 19:34
Avatar de Chazam  
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Consulta base de datos

Alguien sabe como puedo hacer una consulta a una base de datos, con un list/ menu y que haga una consulta a la base de datos en un php???

SAludos
  #2 (permalink)  
Antiguo 11/05/2009, 20:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Consulta base de datos

Tema trasladado desde PHP Orientado a Objetos
  #3 (permalink)  
Antiguo 11/05/2009, 20:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consulta base de datos

No entendí muy bien la pregunta.

Ya que puedes enlazar al archivo PHP en el menú (con un <a>)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 11/05/2009, 21:15
Avatar de Chazam  
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Consulta base de datos

La cosa es asi Tengo mi html

Código:
<table width="562" border="1">
  <tr>
    <th width="474" scope="row"><form action="consulta.php" method="post" name="materia" target="_top">
      <div align="left"><span class="style20">Nombre</span><strong>
        <select name="materia" id="select">
            <option>Espa&ntilde;ol</option>
            <option>Matem&aacute;ticas</option>
            <option>Ingles</option>
            <option>Ingenier&iacute;a</option>
            <option>Qu&iacute;mica</option>
            <option>Leyes</option>
            <option>Ciencias_de_la_Salud</option>
            <option>Humanidades_y_Ciencias Sociales</option>
            <option>Negocios</option>
            <option>Literatura</option>
            <option>Historietas_y_Comic</option>
            <option>Novelas</option>
        </select>
        <input type="submit" name="materia" value="Enviar">
        </strong>
y mi php


Código:
<body><HTML>
<HEAD>
<TITLE>consulta.php</TITLE>
</HEAD>
<BODY>
<h1>
  <div align="center">Libros</div>
</h1>
<?
//Conexion con la base
mysql_connect("localhost","usuario","pass")or die('No se pudo conectar a la BD: ' . mysql_error());

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("libros")or die('No se selecciono la BD: ' . mysql_error()); 

//Ejecutamos la sentencia SQL

$result=mysql_query ("SELECT * FORM idcid WHERE materia='".$HTTP_POST_VARS['materia']."'");
//$result=mysql_query("select * from idcid where materia ='".$_POST['materia']."'")or die('ERROR: ' . mysql_error());
//$result=mysql_query("select * from idcid where estado ='1' and materia = '$materia' ")or die('ERROR: ' . mysql_error());
//$result=mysql_query("select * from idcid where materia like '$materia'")or die('ERROR: ' . mysql_error());
//echo $_POST["materia"];

?>

<table border=1 align="center" cellpadding=1 cellspacing=1>
  <tr>
    <td><strong>materia</strong></td>
    <td><strong>autor</strong></td>
    <td><strong>edicion</strong></td>
    <td><strong>editorial</strong></td>
    <td><strong>precio</strong></td>
    <td><strong>extra</strong></td>
    <td><strong>nombre</strong></td>
    <td><strong>email</strong></td>
    <td><strong>telefono</strong></td>
  </tr>
  <tr background="imag/oro.jpg">
    <td height="79" colspan="9"><div align="center"></div></td>
  </tr>
  <?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo '<tr><td>'.$row["materia"].'</td>';
echo '<td>'.$row["autor"].'</td>';
echo '<td>'.$row["edicion"].'</td>';
echo '<td>'.$row["editorial"].'</td>';
echo '<td>'.$row["precio"].'</td>';
echo '<td>'.$row["extra"].'</td>';
echo '<td>'.$row["nombre"].'</td>';
echo '<td>'.$row["email"].'</td>';
echo '<td>'.$row["telefono"].'</td></tr>';
}
mysql_free_result($result)
?>
</table>
<div align="center"></div>

</BODY>
</HTML> 

</body>
</ht
Pero no logro hacer que salga la consulta, nada mas no jala ya probe con varios ejemplo para la consulta pero ni mais, q funciona
  #5 (permalink)  
Antiguo 11/05/2009, 21:20
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consulta base de datos

Estás asignando names ambiguos. Tienes el mismo name para el form, para el select, y para el botón de envío. Cambia los names para el form y para el botón submit.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 11/05/2009, 21:58
Avatar de Chazam  
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Consulta base de datos

Cita:
Iniciado por David el Grande Ver Mensaje
Estás asignando names ambiguos. Tienes el mismo name para el form, para el select, y para el botón de envío. Cambia los names para el form y para el botón submit.
Pues ya los cambie, pero sigue sin funcionar, como ves la consulta esta bien?

$result=mysql_query ("SELECT * FORM idcid WHERE materia='".$HTTP_POST_VARS['materia']."'");

????
SAludos.
  #7 (permalink)  
Antiguo 11/05/2009, 22:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consulta base de datos

A simple vista parece estar bien. Imprime mysql_error() para saber si hay algún problema con la consulta.

Además, es recomendable que uses $_POST en lugar de $HTTP_POST_VARS
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 11/05/2009, 22:27
Avatar de Chazam  
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Consulta base de datos

Cita:
Iniciado por David el Grande Ver Mensaje
A simple vista parece estar bien. Imprime mysql_error() para saber si hay algún problema con la consulta.

Además, es recomendable que uses $_POST en lugar de $HTTP_POST_VARS
jejeje pues primero encontre un error


$result=mysql_query ("SELECT * FORM idcid WHERE materia='".$HTTP_POST_VARS['materia']."'");

Era FROM

pero bueno ya no sale error, he hice el cambio que me comentas $POST_ pero a un no sale la consulta, por cierto como se usa el mysql_error() ??

Por ejemplo:
while ($row=mysql_fetch_array($result)) or die('ERROR: ' . mysql_error())
???

No puedo creer q llevo 3 dias sin poder saber donde esta el error.
  #9 (permalink)  
Antiguo 12/05/2009, 08:43
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Consulta base de datos

para empezar espero ya le hayas cambiado los nombres al form y al submit para que se diferencien del select, ademas los option de tus select no tienen value estan asi

<option>Espa&ntilde;ol</option>
<option>Matem&aacute;ticas</option>

cuando deberia ser asi

<option value="espanol">Espa&ntilde;ol</option>
<option value="matematicas">Matem&aacute;ticas</option>
y asi sucesivamente

y tambien tu variable se recogeria en tu php asi:

$result=mysql_query ("SELECT * FORM idcid WHERE materia='".$_POST['materia']."'");
y de ahi lo demas
espero lo hayas entendido
  #10 (permalink)  
Antiguo 12/05/2009, 09:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Consulta base de datos

Debes usarlo al llamar a la consulta:
Código php:
Ver original
  1. $result = mysql_query('...') or die(mysql_error());
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 12/05/2009, 19:45
Avatar de Chazam  
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Consulta base de datos

Pues antes que todo mil gracias a todos... me tarde 3 dias, ,,

Aqui esta como quedo el codigo final.

Código HTML:
<th width="474" scope="row"><form name="materia" method="post" action="consulta.php">
      <select name="select">
        <option value="Espanol">Espa&ntilde;ol</option>
        <option value="Matematicas">Matem&aacute;ticas</option>
        <option value="Ingles">Ingles</option>
        <option value="Leyes">Leyes</option>
      </select>
      <input name="enviar" type="submit" id="enviar" value="Submit">
    </form></th> 
El error aqui era como bien se menciono me falto el value=
el segundo error, garrafal, fue que el select name=select que deve ser el mismo valor en el php. y yo ponia el form name


Código PHP:
$result=mysql_query ("SELECT * FROM idcid where materia='".$_POST['select']."'")or die('ERROR: ' mysql_error()); 
aqui esta como deve quedar, y como el select, esta en lugar de materia

Bueno por fin hace la consulta,,,, mil gracias a todos
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 05:57.