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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 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.