Página 1 de 3

Búsqueda en concreto

NotaPublicado: 2006-08-17 04:47 @241
por redsimonred
Hola buenas. Miren, yo estoy haciendo una base de datos muy simple, meter datos y que los muestre. Ahora bien, lo que yo quiero hacer es que me muestre datos en concreto; por ejemplo yo quiero que me muestre todas las marías de Madrid que hay en mi base de datos, ¿¿cómo lo haría??

Esto es donde muestra los datos de la base de datos:
Código: Seleccionar todo
<?
include "config.php";
$resp=mysql_query("SELECT nombre, fecha, edad, pais, ciudad, email, comentarios FROM formulario ORDER BY nombre",
  $conectar);

echo"<table width=300 border=1>
<tr>
<td><b>Nombre</b></td><td><b>Fecha</b></td><td><b>Edad</b></td><td><b>Pais</b></td><td><b>Ciudad</b></td><td><b>E-mail</b></td><td><b>Comentario</b></td>
</tr>";
while($datos=mysql_fetch_array($resp)){
  echo"<tr>
    <td>$datos[nombre]</td>
    <td>$datos[fecha]</td>
    <td>$datos[edad]</td>
    <td>$datos[pais]</td>
    <td>$datos[ciudad]</td>
    <td>$datos[email]</td>
    <td>$datos[comentarios]</td>
      </tr>";
}
echo"</table>";
?>

NotaPublicado: 2006-08-17 08:53 @412
por explorer
Agrega una claúsula WHERE a la sentencia SELECT.

NotaPublicado: 2006-08-17 09:51 @452
por kidd
Hola:

Puedes usar el LIKE para hacer búsquedas aproximadas, y con el % puedes poner comodines.

Por ejemplo:

Código: Seleccionar todo
SELECT nombre, fecha, edad, pais, ciudad, email, comentarios FROM formulario WHERE nombre LIKE 'maria%' ORDER BY nombre


Al usar el maria% Mysql retornará todas aquellas entradas cuyo nombre inicien con maria.

Ahora, si vas a realizar muchas búsquedas de texto, lo que te recomiendo es que hagas un índice FULLTEXT para realizar las búsquedas, para detalles de como funciona checa la siguiente liga:
http://mysql.com/doc/refman/4.1/en/fulltext-search.html


Saludos

NotaPublicado: 2006-08-18 02:34 @148
por redsimonred
Ante todo gracias por responder. Pensé que no sería tan rápido, pero me están siendo de gran ayuda. La cosa es que yo quiiero que me muestre la búsqueda de dos campos en concreto, por ejemplo del nombre Maria y de la ciudad Madrid. ¿¿ Igual seria así??
SELECT nombre, fecha, edad, pais, ciudad, email, comentarios FROM formulario WHERE nombre LIKE 'maria%' or ciudad LIKE 'madrid' ORDER BY nombre

Ya me diréis si lo he hecho bien. Bueno, voy a probarlo a ver, jeje, pero si eso ayúdenme :-) gracias

NotaPublicado: 2006-08-18 04:00 @208
por redsimonred
no me sale :-S pos que me muestra todos los resultados, yo lo que kiero es que me enseñe el registro que coincida con lo que busco, en fin seguire buscando :(

NotaPublicado: 2006-08-18 06:28 @311
por explorer
redsimonred escribiste:que muestre la búsqueda de dos campos en concreto, por ejemplo del nombre Maria y de la ciudad Madrid, ¿¿igual sería así??
Código: Seleccionar todo
SELECT nombre, fecha, edad, pais, ciudad, email, comentarios
FROM formulario
WHERE nombre LIKE 'maria%' AND ciudad = 'madrid'
ORDER BY nombre;
De esta forma obtienes los usuarios cuyo nombre comienza por maria y estén en la ciudad de madrid.

Cuidado... a María (con acento) no la encontrarás...

NotaPublicado: 2006-08-18 07:04 @336
por redsimonred
Muchas, muchas gracias, seguro que para ti esto son cosillas sin importancia, pero yo soy un pricipiante y se agradece que la gente te preste su ayuda para cosas así. Gracias

otra duda

NotaPublicado: 2006-08-22 02:49 @159
por redsimonred
una cosa, como podria cambiar es aspecto de los resultados de la base de datos. aber si me explico. si alguien escribe algo largo en el formulario queda todo mu estrecho y hace que quede todo como muy desigual. un ejemplo
Nombre Fecha Edad Pais Ciudad E-mail Comentario
maria 22-08-2006 25 españa madrid [email protected] hola el
comentario
me quedaria
asi, y me
gustaria
que tubiera
un aspecto
mas ancho
mas bonito
de ver
entendeis
lo que
quiero
decir??


<?
include "config.php";
$resp=mysql_query("SELECT nombre, fecha, edad, pais, ciudad, email, comentarios FROM formulario ORDER BY nombre",
$conectar);

echo"<table width=300 border=1>
<tr>
<td><b>Nombre</b></td><td><b>Fecha</b></td><td><b>Edad</b></td><td><b>Pais</b></td><td><b>Ciudad</b></td><td><b>E-mail</b></td><td><b>Comentario</b></td>
</tr>";
while($datos=mysql_fetch_array($resp)){
echo"<tr>
<td>$datos[nombre]</td>
<td>$datos[fecha]</td>
<td>$datos[edad]</td>
<td>$datos[pais]</td>
<td>$datos[ciudad]</td>
<td>$datos[email]</td>
<td>$datos[comentarios]</td>
</tr>";
}
echo"</table>";
?>

NotaPublicado: 2006-08-22 03:00 @166
por explorer
Pues aumenta el ancho de la tabla. Ahora lo tienes puesto a 300 puntos. O no le dés ancho a la tabla principal y sólo se lo das a la columna de los comentarios. O le das un ancho a la tabla y otro a la celda de la columna. O usar estilos CSS para definir los anchos...

NotaPublicado: 2006-08-22 03:09 @173
por redsimonred
ahmmmmmmmmmm ya lo vi jeje que mamon soy jaja no vi lo de 300. bueno otra dudilla que tengo, en en formulario, kiero poner agregar otro campo, para que la gente ponga un enlace de una foto, como haria para que se mostrase la foto en la pagina ??