Foros del Web » Programando para Internet » PHP »

consulta mysql en php

Estas en el tema de consulta mysql en php en el foro de PHP en Foros del Web. Buenos dias queridos amigos. Tengo la siguiente pregunta... Como puedo hacer una consulta genereal en mysql con php y que solo me muestre los datos ...
  #1 (permalink)  
Antiguo 14/05/2012, 09:07
 
Fecha de Ingreso: abril-2012
Mensajes: 58
Antigüedad: 12 años
Puntos: 0
consulta mysql en php

Buenos dias queridos amigos.
Tengo la siguiente pregunta... Como puedo hacer una consulta genereal en mysql con php y que solo me muestre los datos que no estén vacíos?.
Muchas gracias
  #2 (permalink)  
Antiguo 14/05/2012, 09:13
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: consulta mysql en php

depende como tengas la estructura de los datos.. si el campo que no tiene datos esta definido como NULL podes especificar en el SELECT: WHERE campo IS NOT NULL, entonces esa fila no te la va a conciderar.. ahora si tu vacio es no tener nada escrito, podes poner WHERE campo != "" pero te reitero no conozco la estructura de tu tabla.. fijate si algo de esto te funciona..
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 14/05/2012, 09:50
 
Fecha de Ingreso: abril-2012
Mensajes: 58
Antigüedad: 12 años
Puntos: 0
Respuesta: consulta mysql en php

sip lo hice con camp!='''' , gracias por el dato.
Pero tengo otra consulta, como hago hacer una consulta a dos bases de datos yo lo estoy haciendo asi:
<?php
include("conexion.php");
$conexion=mysql_connect($hostname_conexion,$userna me_conexion,$password_conexion)or die ("problema al conectar con el servidor");
mysql_select_db($bd,$conexion) or die ("No se puede conectar con la base de datos");
$nombre=$_POST['nombre'];
$nombr=$_POST['variable'];
$registro=mysql_query("SELECT * FROM bogota WHERE CEDULA ='$nombre' and Fecha='$nombr'");


while($reg=mysql_fetch_array($registro))
{
echo $reg['Fecha']."\n ";
}


?>
<?php
//base2
include("conexion1.php");
$conexion1=mysql_connect($hostname_conexion1,$user name_conexion1,$password_conexion1)or die ("problema al conectar con el servidor");
mysql_select_db($bd1,$conexion1) or die ("No se puede conectar con la base de datos");
$nombre=$_POST['nombre'];
//$nombr=$_POST['variable'];
$registro1=mysql_query("SELECT * FROM odontologia WHERE CEDULA ='$nombre' and Fecha='$nombr'");


while($reg1=mysql_fetch_array($registro1))
{
echo $reg1['Fecha']."\n ";
}
?>



me funciona bien pero como hago para hacer solo un select....
gracias por tu ayuda
  #4 (permalink)  
Antiguo 14/05/2012, 11:19
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: consulta mysql en php

supuestamente haciendo asi SELECT * from db1.table1, db2.table1... te deberia funcionar...
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 14/05/2012, 11:41
 
Fecha de Ingreso: abril-2012
Mensajes: 58
Antigüedad: 12 años
Puntos: 0
Respuesta: consulta mysql en php

sip lo estoy haciendo asi:

<?php
include("conexion.php");
include("conexion1.php");
//database 1
$conexion=mysql_connect($hostname_conexion,$userna me_conexion,$password_conexion)or die ("problema al conectar con el servidor");
mysql_select_db($bd,$conexion) or die ("No se puede conectar con la base de datos");

//database2
$conexion1=mysql_connect($hostname_conexion1,$user name_conexion1,$password_conexion1)or die ("problema al conectar con el servidor");
mysql_select_db($bd1,$conexion1) or die ("No se puede conectar con la base de datos");

//campos
$nombre=$_POST['nombre'];
$nombr=$_POST['variable'];
//consulta general
$registro=mysql_query("SELECT * FROM nominabogota.bogota,nomina.odontologia WHERE CEDULA ='$nombre' and Fecha='$nombr'");



while($reg=mysql_fetch_array($registro))
{
echo $reg['Fecha']."\n ";
}
?>

y me sale un error Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Final1.1\ver.php on line 20

la linea 20 es donde tengo el while
  #6 (permalink)  
Antiguo 14/05/2012, 14:30
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: consulta mysql en php

es que te faltan los campos, ahi estas especificando la basededatos.tabla, te falta basededatos.tabla.campo
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #7 (permalink)  
Antiguo 15/05/2012, 10:20
 
Fecha de Ingreso: abril-2012
Mensajes: 58
Antigüedad: 12 años
Puntos: 0
Respuesta: consulta mysql en php

estoy haciendo la consulta en el phpmyadmin asi
SELECT * FROM nominabogota.nomina, nominaodontologia.nomina
where cedula='11448694'
pero me sale este error

#1052 - Column 'cedula' in where clause is ambiguous
  #8 (permalink)  
Antiguo 16/05/2012, 07:30
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: consulta mysql en php

tenes que especificar de que basededatos.tabla es cedula, la cosa seria asi:

Código MySQL:
Ver original
  1. SELECT * FROM nominabogota.nomina, nominaodontologia.nomina where nominabogota.nomina.cedula='11448694'

Es a modo de ejemplo, fijate vos que tabla es la correcta.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #9 (permalink)  
Antiguo 16/05/2012, 07:56
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: consulta mysql en php

Creo que no es necesario que hagas 2 conexiones si es la misma base de datos, puedes hacer las conexiones sin seleccionar una base de datos especifica, en la consulta que están haciendo no están definiendo cual de las conexiones leer y por lo tanto esta leyendo solo una de esas 2.

Además no tiene NINGUN sentido crear 2 archivos de conexion, llamarlos y sobreescribirlos

include("conexion.php");
include("conexion1.php");
//database 1
$conexion=mysql_connect(...)or die ("problema al conectar con el servidor");
mysql_select_db($bd,$conexion) or die ("No se puede conectar con la base de datos");
//database2
$conexion1=mysql_connect(...)or die ("problema al conectar con el servidor");
mysql_select_db($bd1,$conexion1) or die ("No se puede conectar con la base de datos");

En este fragmento, llamas a ambos archivos de conexión los almacenas en las variables conexion y conexion1 y seleccionas sus BD, luego de esto sobreescribes ambas variables de conexion y conexion1 haciendo que todo lo anterior no sirva de nada, lo correcto sería simplemente:

$conexion=mysql_connect(...)or die ("problema al conectar con el servidor");

nada más, solo una conexión y sin seleccionar BD

Y otra cosa, recuerden que cuando se cruzan tablas (o en este caso bases de datos) los resultados crecen linealmente, o sea que si una tabla tiene 20 datos y la otra 20 tendrán 400 resultados cruzados, para evitar esto hay que poner una condición que indique una similitud entre ambas como filtro, algo así:

SELECT * FROM nominabogota.nomina, nominaodontologia.nomina WHERE nominabogota.nomina.cedula='11448694' AND nominabogota.nomina.cedula=nominaodontologia.nomin a.cedula

Espero me entiendan
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 16/05/2012, 09:57
 
Fecha de Ingreso: abril-2012
Mensajes: 58
Antigüedad: 12 años
Puntos: 0
Respuesta: consulta mysql en php

stramin gracias por su respuesta pero no me muestra en pantalla ningún resultado en pantalla siendo que tengo el dato en una de esas bases

Etiquetas: mysql
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 13:32.