Foros del Web » Programando para Internet » PHP »

SELECT (vadios campos) = multiplica resultados x número de campos

Estas en el tema de SELECT (vadios campos) = multiplica resultados x número de campos en el foro de PHP en Foros del Web. Hola a todos. llego al foro tratando de resolver un problema para el que no encuentro solución: En una búsqueda, cuyos resultados son correctos, me ...
  #1 (permalink)  
Antiguo 05/01/2011, 10:59
Avatar de obispoateo  
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta SELECT (vadios campos) = multiplica resultados x número de campos

Hola a todos. llego al foro tratando de resolver un problema para el que no encuentro solución:

En una búsqueda, cuyos resultados son correctos, me encuentro con que tales resultados los presenta un número de veces igual al número de campos incluidos en el SLECT, y no soy capaz de encontrar el problema de tal suerte que muestre cada resultado una sola vez.
....

EL código es éste, proviene de un cuadro de búsqueda donde ya se efectúa la conexión:

if(isset($_POST['enviar']))
{
$buscar = $_POST['palabra'];
echo "<p><h1>Su búsqueda:</h1><p>";

$query1 = "SELECT products.products_id, products.products_model, products.products_image, products.products_price, products_description.products_id, products_description.products_name FROM products, products_description WHERE products_name like '%$buscar%' AND products.products_id = products_description.products_id ORDER BY products.products_id DESC";

$result3 = mysql_query($query1,$conexion);

$found = false;
while ($row = mysql_fetch_array($result3))

{

$total = mysql_num_rows($result3);
$products_id = $row['products_id'];
$products_name = $row["products_name"];
$products_model = $row["products_model"];
$products_image = $row["products_image"];
$products_price = $row["products_price"];
$products_image_replace = str_replace("./", "/", $products_image);
$found = true;

foreach($row as $buscar => $palabra) {



if(is_int($buscar)){
continue;

}

{
echo "$palabra";
echo "<a href=\"http://$domain_name/$catalog_folder_name/product_info.php?products_id=$products_id\" target=_content style=\"text-decoration: none\"><img src=\"http://$domain_name/$catalog_folder_name/images/$products_image_replace\" width=\"$image_width\" height=\"$image_height\" border=\"0\"><br><font face=\"Verdana, Tahoma\" size=\"-1\" color=\"#007BBD\"><br>$products_name</a> Precio $products_price</br>$total";
}
if(!$found) {

echo "No se encontró la palabra introducida";

}
}}


}
?>

Veo otro fallo más, en el último echo, que no va tampoco.
¿Alguno ve el problema?
  #2 (permalink)  
Antiguo 05/01/2011, 11:41
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: SELECT (vadios campos) = multiplica resultados x número de campos

es claramente un problema de PHP. Pide ayuda en el foro PHP y verás que el lugar del cierre de algunas llaves tienen que ver con el asunto, así como la sintaxis. Explícales claramente el proceso que sigues, me refiero a la razón de ser del foreach y del if.
Respecto al SQL, esta consulta sería, creo, más rápida y clara.
SELECT products.products_id, products.products_model, products.products_image, products.products_price, products_description.products_id, products_description.products_name FROM products INNER JOIN products_description ON products.products_id = products_description.products_id WHERE products_name like '%$buscar%' ORDER BY products.products_id DESC";
  #3 (permalink)  
Antiguo 05/01/2011, 12:07
Avatar de obispoateo  
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: SELECT (vadios campos) = multiplica resultados x número de campos

Muchas gracias, Jurena.
Y también por las pistas y trasladar el hilo. He aplicado tu sugerencia, pero me sale error:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Respecto de los foreros de PHP... pues ya veis mi problema: llevo varios días organizando un buscador y nada, que debe ser que tanto moví las cosas que se me ha debido de descolocar y ahora no soy capaz de atinar con el/los problemas. Agradezco vuestros consejos.

EL objetivo es que ante la búsqueda realizada, obtenga un registro o cuantos registros coincidan con el criterio de búsqueda pero sin que se quintupliquen. Funciona pero ese es el problema: que sale dada registro correcto varias veces duplicado.

Etiquetas: campos, resultados, select
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 22:18.