Tengo una pagina en la cual subo articulos y selecciono la categoria del mismo.
El problema es que al usar un buscador para buscar el articulo X en X categoria, me aparece el articulo bien pero al hacerle click me manda a otro articulo diferente.
Me he dado cuenta que el ID del articulo es el 1 y el de la categoria correspondiente es el 5, y me muestra el titulo del articulo 1 pero al hacerle click se abre el articulo 5.
las tablas son:
Articulo Categoria
id id
titulo nombre
id_categ
cuando subo un articulo, al seleccionar la categoria del mismo, en id_categoria se guarda el numero del id de la categoria correspondiente, ya que hay un enlace entre el desplegable con las categorias y la bdd. el problema es que en vez de tomarme el id de Articulo me toma el id_categoria de Articulo y me abre el articulo con el id igual a ese numero.
Ejemplo
Articulo Categoria
id: 1 id: 5
titulo: Pan nombre: Comida
id_categ: 5
Y cuando busco Pan en la categoria Comida, el link para mostrarme el articulo se ve asi:
articulo.php?id=5
Cuando en realidad se tendria que ver asi:
articulo.php?id=1
Este es el codigo:
Código PHP :
<?php $sql = "SELECT * FROM Articulos, Categorias WHERE Articulos.Id_categ = Categorias.Id "; if (isset($_POST['txtBusqueda'])) { $sql .= " AND Articulos.Titulo LIKE '%" . $_POST['txtBusqueda'] . "%' "; if (intval($_POST['selCategorias']) > 0) { $sql .= " AND Articulos.Id_categ = '" . intval($_POST['selCategorias']) . "'"; } } $sql .= " ORDER BY Articulos.Id ASC"; $tabla = mysql_query($sql); while ($registro = mysql_fetch_array($tabla)) { ?> <tr> <td width="334"> </td> </tr> <?php } mysql_free_result($tabla); ?> <?php $buscar = $_POST['txtBusqueda']; $result = mysql_query($sql); $total = mysql_num_rows($result); // Imprimimos los resultados if ($row = mysql_fetch_array($result)){ echo "Resultados para: <b>$buscar</b>"; do { ?> <p><b><a href="articulo.php?Id=<?=$row['Id'];?>"> <?=$row['Titulo'];?> </a></b></p> <? } while ($row = mysql_fetch_array($result)); echo "<p>Resultados: $total</p>"; } else { // En caso de no encontrar resultados echo "No se encontraron resultados para: <b>$buscar</b>"; } ?>
¿Alguien me puede dar una solucion?