Jump to content

Busquedas en tablas MySQL


tirengarfio
 Share

Recommended Posts

Saludos,

 

tengo la siguente tabla MySQL:

 

----------------------

nombre | apellido

----------|-----------

Juan | Mendez

Juan | Garcia

---------------------

 

Tengo además el siguiente codigo, que pretendo que saque en la ventana de mi navegador las dos filas que contengan "Juan" en el campo "nombre", pero no lo hace... Me saca las dos veces la primera fila (Juan Mendez)

 

alguna idea?

 

<html> 
<head> 

</head> 

<body> 


<?php 

// nos conectamos al servidor mysql. 
mysql_connect("localhost", "root", "") OR die(mysql_error()); 

// seleccionamos la base de datos "ejemplo". 
mysql_select_db("ejemplo") OR die(mysql_error());  


$result = mysql_query("select * from clientes where nombre='Juan'") OR die(mysql_error()); 

$row = mysql_fetch_array($result); 

echo $row["nombre"]; 
echo "<br>";  
echo $row["apellido"]; 


$result = mysql_query("select * from clientes where nombre='Juan'") OR die(mysql_error()); 

$row = mysql_fetch_array($result); 

echo $row["nombre"]; 
echo "<br>";  
echo $row["apellido"]; 


?> 

</body> 
</html>

 

Ciao

Javi

Link to comment
Share on other sites

porque repites:

 

$result = mysql_query("select * from clientes where nombre='Juan'") OR die(mysql_error());

$row = mysql_fetch_array($result);

echo $row["nombre"];

echo "<br>";

echo $row["apellido"];

 

??????

 

A parte, no te recomiendo que hagas la tipica (y facilona) busqueda con un "*"

Pone mejor: Select nombre, apellido from clientes where nombre='juan'

Link to comment
Share on other sites

Hola,

 

 

porque repites:

 

$result = mysql_query("select * from clientes where nombre='Juan'") OR die(mysql_error());

$row = mysql_fetch_array($result);

echo $row["nombre"];

echo "<br>";

echo $row["apellido"];

 

??????

 

repito esa parte para poder poder imprimir tanto "Juan Mendez" como "Juan Garcia". Si lo pongo una vez (ese trocito de codigo) me imprimia "Juan Mendez" asi que pense, que si lo ponia una segunda vez me imprimiria "Juan Mendez" y "Juan Garcia".

 

 

A parte, no te recomiendo que hagas la tipica (y facilona) busqueda con un "*"

Pone mejor: Select nombre, apellido from clientes where nombre='juan'

 

¿Por que dices lo de "facilona"? ¿Es mejor la busqueda sin el asterisco que con el asterisco?¿en que?

Edited by tirengarfio
Link to comment
Share on other sites

Hola,

Antes de imprimir, deberías contar el número de filas que coinciden con la búsqueda

y luego con un while imprimes todas las filas

 

 

// nos conectamos al servidor mysql.

mysql_connect("localhost", "root", "") OR die(mysql_error());

 

// seleccionamos la base de datos "ejemplo".

mysql_select_db("ejemplo") OR die(mysql_error());

 

 

$result = mysql_query("select * from clientes where nombre='Juan'") OR die(mysql_error());

 

$num_filas = mysql_num_rows($result) or die ("No se encuentran datos");

 

$cont_filas = 0;

while ($cont_filas++ < $num_filas) {

$row = mysql_fetch_array($result);

if ($row) {

 

echo $row["nombre"];

echo " | ";

echo $row["apellido"];

echo "<br>";

}

}

 

 

 

saludos!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.