Foros del Web » Programando para Internet » PHP »

Como puedo mostrar el resultado de la consulta?

Estas en el tema de Como puedo mostrar el resultado de la consulta? en el foro de PHP en Foros del Web. Hola a todos. Resulta que estoy haciendo un script para mostrar un listado mediante una variable que recojo después con $POST. Es decir, tengo una ...
  #1 (permalink)  
Antiguo 23/01/2008, 10:30
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Como puedo mostrar el resultado de la consulta?

Hola a todos. Resulta que estoy haciendo un script para mostrar un listado mediante una variable que recojo después con $POST. Es decir, tengo una página principal en la que introduzco un "numero" y al pulsar el botón me lleva a otro script que supuestamente me debería de listar los resultados.
Pues bien, no se que estoy haciendo mal...que no me muestra nada, solo me saca una página en blanco. Os pongo el código:


listado.php
Código PHP:
<html>
<
body>
<
font color="red"><h1><center> - Listado de empresas por modelo - </h1></font>
<
bIntroduce el modelo deseado para listar todas las empresas que están obligadas a hacerlo<form method="POST"
action="imprime.php">
<
table border=0>

<
tr>

</
tr>
<
tr>
<
td>Modelo a consultar:</td>
<
td><input type=text name="numero"
value="" </td>

<
tr align="center"
<
td>
<
input type="submit" value="Obtener listado">
</
td>

</
body>
</
html
imprime.php

Código PHP:
<?php
$referencia
=$_POST['numero'];

// Conexión a la base de datos

$bd_host "localhost";
$bd_usuario "root";
$bd_password "";
$bd_base "base10";

$con mysql_connect($bd_host$bd_usuario$bd_password);

if(!
$con){
    echo 
"Error al conectar a la Base de Datos.";
}

mysql_select_db($bd_base$con) or die("No pudo seleccionarse la Base de Datos.");
?>

<?php


  $sql 
"SELECT nombre,num_modelo 
          FROM modelos_empresa,sociedades,modelos 
          WHERE id_soci=id_empresa
          and id_mod=id_modelo
          and obligado="
si"
        and num_modelo="
.$referencia;
   

      
$rs mysql_query($sql$con) or die("Error al consultar datos: ".mysql_error());

 
   
$row mysql_fetch_assoc($rs);
            
?> <b><h2> <?php echo 'Las empresas que tienen que presentar el modelo son:'?> &nbsp&nbsp&nbsp&nbsp 
         <font color="red"> <?php 
        
echo $row[0]; 
            
   
mysql_close($con);
  
?>
Yo pienso que no se mostrar de forma correcta el resultado. Me podrías echar una mano ? Muchas gracias.
  #2 (permalink)  
Antiguo 23/01/2008, 10:50
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

Trata de imprimir tu variable referencia antes de entrar al query para ver ke valor tiene echo $referencia; y tambien en tu query intenta ponerlo de la siguiente forma:


Código:
$sql ="SELECT nombre,num_modelo  
          FROM modelos_empresa,sociedades,modelos  
          WHERE id_soci=id_empresa 
          and id_mod=id_modelo 
          and obligado="si" 
        and num_modelo='$referencia'";
salu2
__________________
"Eres grande por que caminas entre gigantes"
  #3 (permalink)  
Antiguo 23/01/2008, 10:57
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como puedo mostrar el resultado de la consulta?

Buenas ferbux. He probado a poner la consulta como me has dicho y he puesto el "echo $referencia;" justo debajo de doned intento recojer el $_POST. No me muestra nada, es como si no tomara el valor que le paso por parametro. El caso es que me estoy volviendo loco porque no se que le pasa. Tiene que ser una tonteria seguro.

Gracias de nuevo.
  #4 (permalink)  
Antiguo 23/01/2008, 11:03
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

cierra tu form </form>, es algo raro pero pruebalo
__________________
"Eres grande por que caminas entre gigantes"
  #5 (permalink)  
Antiguo 23/01/2008, 11:06
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

y en tu codigo php pon esto:

Código:

<?php 

if( strtoupper( $_SERVER['REQUEST_METHOD'] ) == "POST" ) {
$referencia=$_POST['numero']; 

// Conexión a la base de datos 

$bd_host = "localhost"; 
$bd_usuario = "root"; 
$bd_password = ""; 
$bd_base = "base10"; 

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); 

if(!$con){ 
    echo "Error al conectar a la Base de Datos."; 
} 

mysql_select_db($bd_base, $con) or die("No pudo seleccionarse la Base de Datos."); 
?> 

<?php 


  $sql = "SELECT nombre,num_modelo  
          FROM modelos_empresa,sociedades,modelos  
          WHERE id_soci=id_empresa 
          and id_mod=id_modelo 
          and obligado="si" 
        and num_modelo=".$referencia; 
    

      $rs = mysql_query($sql, $con) or die("Error al consultar datos: ".mysql_error()); 

  
   $row = mysql_fetch_assoc($rs); 
            ?> <b><h2> <?php echo 'Las empresas que tienen que presentar el modelo son:'; ?> &nbsp&nbsp&nbsp&nbsp  
         <font color="red"> <?php  
        echo $row[0];  
             
   mysql_close($con); 
}//fin de if( strtoupper( $_SERVER['REQUEST_METHOD'] ) == "POST" ) {
   
?>
__________________
"Eres grande por que caminas entre gigantes"
  #6 (permalink)  
Antiguo 23/01/2008, 11:12
Avatar de cfranco  
Fecha de Ingreso: enero-2008
Ubicación: Barcelona - España
Mensajes: 182
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

Es verdad falta cerrar tu formulario, lo probé y ese es el error
  #7 (permalink)  
Antiguo 23/01/2008, 11:16
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como puedo mostrar el resultado de la consulta?

Gracias por la respuesta, pero no hay manera de que muestre nada macho. Sigue igual,mostrando imprime.php en blanco. El caso es que es muy raro... porque estoy utilizando el mismo script para otro listado y si me muestra las cosas, pero con este no se que cojones le pasa.
  #8 (permalink)  
Antiguo 23/01/2008, 11:21
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

INTENTA ESTO:

$referencia=$_POST["numero"];

CON COMILLAS DOBLES, SALU2
__________________
"Eres grande por que caminas entre gigantes"
  #9 (permalink)  
Antiguo 23/01/2008, 11:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como puedo mostrar el resultado de la consulta?

Ni con esas tampoco fenómeno. Estoy por cortarme la picha.
  #10 (permalink)  
Antiguo 23/01/2008, 11:37
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

pruebalo asi:



codigo html
Código:
<html> 
<body> 
<font color="red"><h1><center> - Listado de empresas por modelo - </h1></font> 
<b> Introduce el modelo deseado para listar todas las empresas que están obligadas a hacerlo

<FORM   name=form ACTION="imprime.php" METHOD="POST"> 
<table border=0> 

<tr> 

</tr> 
<tr> 
<td>Modelo a consultar:</td> 
<td><input type=text name="numero" 
value="" </td> 

<tr align="center">  
<td> 
<input type="submit" value="Obtener listado"> 
</td> 
</form>
</body> 
</html>
código php

Código:
<?php 

if( strtoupper( $_SERVER['REQUEST_METHOD'] ) == "POST" ) {
$referencia=$_POST["numero"]; 

// Conexión a la base de datos 

$bd_host = "localhost"; 
$bd_usuario = "root"; 
$bd_password = ""; 
$bd_base = "base10"; 

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); 

if(!$con){ 
    echo "Error al conectar a la Base de Datos."; 
} 

mysql_select_db($bd_base, $con) or die("No pudo seleccionarse la Base de Datos."); 
?> 

<?php 


  $sql = "SELECT nombre,num_modelo  
          FROM modelos_empresa,sociedades,modelos  
          WHERE id_soci=id_empresa 
          and id_mod=id_modelo 
          and obligado="si" 
        and num_modelo=".$referencia; 
    

      $rs = mysql_query($sql, $con) or die("Error al consultar datos: ".mysql_error()); 

  
   $row = mysql_fetch_assoc($rs); 
            ?> <b><h2> <?php echo 'Las empresas que tienen que presentar el modelo son:'; ?> &nbsp&nbsp&nbsp&nbsp  
         <font color="red"> <?php  
        echo $row[0];  
             
   mysql_close($con); 
} 
?>
__________________
"Eres grande por que caminas entre gigantes"
  #11 (permalink)  
Antiguo 23/01/2008, 11:47
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como puedo mostrar el resultado de la consulta?

Aunque no te lo creas ferbux... sigue igual, mostrando el blanco la página. No entiendo nada, como puede ser que el mismo listado hacia otra base de datos funcione y este mismo listado hacia otra base de datos con sus respectivas tablas y todo...y no funcione. No me lo explico.

Si hago la consulta en el phpmyadmin me devuelve resultados, o sea que la consulta esta bien.
  #12 (permalink)  
Antiguo 23/01/2008, 11:52
Avatar de cfranco  
Fecha de Ingreso: enero-2008
Ubicación: Barcelona - España
Mensajes: 182
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

Pues amigo la consulta está fallando ya que debes de poner un alias a cada tabla

$sql = "SELECT me.nombre,me.num_modelo
FROM modelos_empresa me,sociedades s,modelos m
WHERE me.id_soci=s.id_empresa
and m.id_mod=me.id_modelo
and m.obligado='si'
and m.num_modelo='$referencia';

Se entiende?
  #13 (permalink)  
Antiguo 23/01/2008, 12:20
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

ahi esta tu error en tu caja de texto no esta cerrado:

<td><input type=text name=numero value=""> </td>
__________________
"Eres grande por que caminas entre gigantes"
  #14 (permalink)  
Antiguo 23/01/2008, 12:22
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como puedo mostrar el resultado de la consulta?

Perfecto, era eso!! Pero ahora tengo otro pequeño problema... resulta que solo me muestra el primero que encuentra en la base de datos, todos los demas no los lista. Es decir si tengo 7 empresas que tienen el modelo "300", solamente me muestra 1 de las 7.
  #15 (permalink)  
Antiguo 23/01/2008, 12:28
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 17 años
Puntos: 6
Re: Como puedo mostrar el resultado de la consulta?

Prueba poner tu codigo php asi:

Código:
 <?php 

if( strtoupper( $_SERVER['REQUEST_METHOD'] ) == "POST" ) {
$referencia=$_POST["numero"]; 

// Conexión a la base de datos 

$bd_host = "localhost"; 
$bd_usuario = "root"; 
$bd_password = ""; 
$bd_base = "base10"; 

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); 

if(!$con){ 
    echo "Error al conectar a la Base de Datos."; 
} 

mysql_select_db($bd_base, $con) or die("No pudo seleccionarse la Base de Datos."); 
?> 

<?php 


  $sql = "SELECT nombre,num_modelo  
          FROM modelos_empresa,sociedades,modelos  
          WHERE id_soci=id_empresa 
          and id_mod=id_modelo 
          and obligado="si" 
        and num_modelo=".$referencia; 
    

      $rs = mysql_query($sql, $con) or die("Error al consultar datos: ".mysql_error()); 

  
  // $row = mysql_fetch_assoc($rs); 
            ?> <b><h2> <?php echo 'Las empresas que tienen que presentar el modelo son:'; ?> &nbsp&nbsp&nbsp&nbsp
       $i=0;  
        while($row = mysql_fetch_array($rs) ){
            <font color="red"> <?php  
             print_r( $row[0]);  
         }    
   mysql_close($con);
asi te mostrara todos los
__________________
"Eres grande por que caminas entre gigantes"

Última edición por ferbux; 23/01/2008 a las 12:30 Razón: me equivique
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 01:34.