Foros del Web » Programando para Internet » PHP »

como evitar la redundancia de resultados?

Estas en el tema de como evitar la redundancia de resultados? en el foro de PHP en Foros del Web. hola, miren este codigo y les explico <?php $in_familia_cod = $_GET[in_familia_cod]; switch($_GET[in_familia_cod]) { case "3": echo "Medicina"; break; case "104": echo "Quimica"; break; case "45": ...
  #1 (permalink)  
Antiguo 18/01/2010, 06:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 15 años
Puntos: 1
como evitar la redundancia de resultados?

hola,

miren este codigo y les explico

<?php

$in_familia_cod = $_GET[in_familia_cod];
switch($_GET[in_familia_cod]) {
case "3": echo "Medicina";
break;
case "104": echo "Quimica";
break;
case "45": echo "Test";
break;
default: echo "Cualquier Área";break;
}
$con = mysql_connect("localhost","root","exxxxxx");
$db = mysql_select_db("based");
if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}

$qry=mysql_query("SELECT * FROM `inventario` WHERE `in_familia_cod` = $in_familia_cod
ORDER BY `in_titulo` ASC limit 0,5");

while($row=mysql_fetch_assoc($qry)){

$num_resultados = mysql_num_rows($qry);

echo "<p>Número de libros encontrados: ".$num_resultados."</p>";

for ($i=0; $i <$num_resultados; $i++)
{

echo "<br>";
echo "<p><strong>".($i+1).". Título: ";
echo "<strong><a href='indetalle.php?in_id=".$row['in_id']."'>".$row['in_titulo']."</a><br>";
echo "</strong><br>Autor: ";
echo stripslashes($row["in_autor"]);
echo "<br>ISBN: ";
echo stripslashes($row["in_ISBN"]);
echo "<br>Precio: ";
echo stripslashes($row["in_venta_iva"]);
echo "<br>Editorial: ";
echo stripslashes($row["in_editor2"]);
echo "<br>Año Edición: ";
echo stripslashes($row["in_edicion"]);
echo "</p>";
}
}
?>




//efectivamente este codigo funciona... pero
luego de mostrar los 5 titulos, muestra otro titulo repetido 5 veces,y luego 5 veces mas....¿como corregirlo?
  #2 (permalink)  
Antiguo 18/01/2010, 07:33
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: como evitar la redundancia de resultados?

¿Qué tal si pones el mysql_num_rows antes del while?
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 18/01/2010, 07:49
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 15 años
Puntos: 1
Respuesta: como evitar la redundancia de resultados?

sigue el problema..spider boy.
  #4 (permalink)  
Antiguo 18/01/2010, 08:05
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: como evitar la redundancia de resultados?

A ver...

Intenta lo siguiente

Código PHP:
Ver original
  1. $num_resultados = mysql_num_rows($qry);
  2. $i = 0;
  3. while($row=mysql_fetch_assoc($qry)){
  4.  
  5. echo "<p>Número de libros encontrados: ".$num_resultados."</p>";
  6.  
  7. echo "<br>";
  8. echo "<p><strong>".($i+1).". Título: ";
  9. echo "<strong><a href='indetalle.php?in_id=".$row['in_id']."'>".$row['in_titulo']."</a><br>";
  10. echo "</strong><br>Autor: ";
  11. echo stripslashes($row["in_autor"]);
  12. echo "<br>ISBN: ";
  13. echo stripslashes($row["in_ISBN"]);
  14. echo "<br>Precio: ";
  15. echo stripslashes($row["in_venta_iva"]);
  16. echo "<br>Editorial: ";
  17. echo stripslashes($row["in_editor2"]);
  18. echo "<br>Año Edición: ";
  19. echo stripslashes($row["in_edicion"]);
  20. echo "</p>";
  21. $i++;
  22. }

Si te fijas eliminé el bucle for. Me avisas cualquier cosa...

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 18/01/2010, 08:29
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 15 años
Puntos: 1
Respuesta: como evitar la redundancia de resultados?

se elimino la redundancia, pero....los 5 titulos tienen numeracion identica:

1.-el principito
1.-el gigante egoista

etc...
  #6 (permalink)  
Antiguo 18/01/2010, 08:38
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 11 meses
Puntos: 89
Respuesta: como evitar la redundancia de resultados?

La verdad me extraña. Debería funcionar correctamente...

Prueba esto, debería funcionar D:!!

Código PHP:
Ver original
  1. $i = 0;
  2. while($row=mysql_fetch_assoc($qry)){
  3.     echo $i+1;
  4.     $i++;
  5. }

Si te funciona pegas el resto de código dentro del while...
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #7 (permalink)  
Antiguo 18/01/2010, 08:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 15 años
Puntos: 1
Respuesta: como evitar la redundancia de resultados?

así comoenza a contar desde el 2

2.-
3.-
etc.

Cita:
$num_resultados = mysql_num_rows($qry);

$i = 0;

echo "<p>Número de libros encontrados: ".$num_resultados."</p>";

while($row=mysql_fetch_assoc($qry)){

$i++;
  #8 (permalink)  
Antiguo 18/01/2010, 08:52
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: como evitar la redundancia de resultados?

Es increible que hayas vuelto a postear che... Sinceramente! O sea, cuando no te anda que haces? directamente agarras copias y pegas aca y listo? Te sentas a esperar una respuesta? No se te ocurre minimamente cambiar algo de lugar a ver que pasa?

A ver analicemos... "El primer numero que sale es mas grande que el que yo quiero" entonces? que solucion matematica habra?.... restar 1 al comienzo? Funcionara? Pruebo o espero a que me contesten el post?
__________________
HV Studio
Diseño y desarrollo web
  #9 (permalink)  
Antiguo 18/01/2010, 08:55
 
Fecha de Ingreso: octubre-2009
Mensajes: 357
Antigüedad: 15 años
Puntos: 1
Respuesta: como evitar la redundancia de resultados?

resuelto antes del post de jackson,,


$num_resultados = mysql_num_rows($qry);

$i = 1;

echo "<p>Número de libros encontrados: ".$num_resultados."</p>";

while($row=mysql_fetch_assoc($qry)){

//quitar el 1 de aqui abajo

echo "<br>";
echo "<p><strong>".($i++).". Título: ";
echo "<strong><a href='indetalle.php?in_id=".$row['in_id']."'>".$row['in_titulo']."</a><br>";
echo "</strong><br>Autor: ";
echo stripslashes($row["in_autor"]);
echo "<br>ISBN: ";
echo stripslashes($row["in_ISBN"]);
echo "<br>Precio: ";
echo stripslashes($row["in_venta_iva"]);
echo "<br>Editorial: ";
echo stripslashes($row["in_editor2"]);
echo "<br>Año Edición: ";
echo stripslashes($row["in_edicion"]);
echo "</p>";

Etiquetas: redundancia, resultados
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 10:25.