Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/07/2005, 15:26
iarrieta
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
este es el codigo de la pagina directorio.php Al pulsar el en lace va a la otra pagina resultados.php

Código PHP:
<?
echo "<table><tr><td width=216 align=left valign=top>"

$conexion mysql_connect("localhost","XXX","XXX") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("principal",$conexion) or die("No se puede seleccionar BD");

$consulta "SELECT DISTINCT id_categoria,categoria FROM categorias ORDER BY categoria ASC";
$res=mysql_query($consulta); 

$counter=0
while(
$row=mysql_fetch_array($res)){ 

if(
$counter%70==&& $counter!=0){ 
echo 
"</td><td width=216 align=left valign=top>"


echo 
"<font color=#2278BB>•&nbsp<a href='categorias.php?id_categoria=$row[id_categoria]'>".$row[categoria]."</a><br>"

$counter++; 


echo 
"</td></tr></table>";
?>

sta es la pagina de resultados, funciona todo muy bien excepto eso, si hay coincidencia de caracteres en el nombre o el id o lo que sea, lo toma como parte de la categoria

Código PHP:
<?
$conexion 
mysql_connect("localhost","XXX","XXX") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("principal",$conexion) or die("No se puede seleccionar BD"); 
   
//$link=Conectarse(); 

//inicializo el criterio y recibo cualquier cadena que se desee buscar 
$criterio ""
$txt_criterio "";
if (isset(
$id_categoria)){
 
$txt_criterio=$id_categoria;
 
$criterio " where id_categoria like '%" $txt_criterio "%' or categoria like '%" $txt_criterio "%' or subcategoria like '%" $txt_criterio "%'"
}
 else{ 
if (
$_GET["criterio"]!=""){ 
   
$txt_criterio $_GET["criterio"]; 
   
$criterio " where id_categoria like '%" $txt_criterio "%' or categoria like '%" $txt_criterio "%' or subcategoria like '%" $txt_criterio "%'"
}
else
  if (
$_POST){ 
   
$txt_criterio $_POST["palabra"]; 
   
$criterio " where id_categoria like '%" $txt_criterio "%' or categoria like '%" $txt_criterio "%' or subcategoria like '%" $txt_criterio "%'"
   }
}
 
$sql="SELECT * FROM clientes".$criterio
$res=mysql_query($sql); 
$numeroRegistros=mysql_num_rows($res); 
if(
$numeroRegistros<=0)

    echo 
"<br><br><br><div align='center'>"
    echo 
"<font face='arial' class='texto'>Aún no tenemos clientes registrados en la categoría seleccionada.</font>"
    echo 
"</div>"
}else{ 
    
//////////elementos para el orden 
    
if(!isset($orden)) 
    { 
       
$orden="nombre"
    } 
    
//////////fin elementos de orden 

    //////////calculo de elementos necesarios para paginacion 
    //tama&ntilde;o de la pagina 
    
$tamPag=4

    
//pagina actual si no esta definida y limites 
    
if(!isset($_GET["pagina"])) 
    { 
       
$pagina=1
       
$inicio=1
       
$final=$tamPag
    }else{ 
       
$pagina $_GET["pagina"]; 
    } 
    
//calculo del limite inferior 
    
$limitInf=($pagina-1)*$tamPag

    
//calculo del numero de paginas 
    
$numPags=ceil($numeroRegistros/$tamPag); 
    if(!isset(
$pagina)) 
    { 
       
$pagina=1
       
$inicio=1
       
$final=$tamPag
    }else{ 
       
$seccionActual=intval(($pagina-1)/$tamPag); 
       
$inicio=($seccionActual*$tamPag)+1
       if(
$pagina<$numPags
       { 
          
$final=$inicio+$tamPag-1
       }else{ 
          
$final=$numPags
       } 
       if (
$final>$numPags){ 
          
$final=$numPags
       } 
    } 
//////////fin de dicho calculo 

//////////creacion de la consulta con limites 
$sql="SELECT * FROM clientes ".$criterio." ORDER BY ".$orden.",nombre ASC LIMIT ".$limitInf.",".$tamPag
$res=mysql_query($sql); 
//////////fin consulta con limites 

/// estadisticas/////
echo "<br><br><br><div align='center'>"
echo 
"<font face='arial' class='texto'>Existen ".$numeroRegistros." clientes registrados en nuestra base de datos para ésta categoría.<br>";
echo 
"Los resultados se mostrarán en " $numPags " páginas<br><br>";

?>
<div align="center"><img src="imagenes/linea_google.gif" width="450" height="10"></div>
<?

/// mostrar los resultados encontrados//////
while($registro=mysql_fetch_array($res)) 

echo 
"<br><div align='left'>";
echo 
"<br><br><b><a href=".$registro[url]."  target=_blank>".$registro[nombre]."</a></b><br>";
echo 
"".$registro[descripcion]."<br><br>";
echo 
"Direcci&oacute;n: ".$registro[direccion]."<br>";
echo 
"Tel&eacute;fonos: ".$registro[telefonos]."<br>";
echo 
"Correo electr&oacute;nico: <a href='correo_usuario.php?email=".$registro[email_uno]."'>".$registro[email_uno]."</a> ";
if (!empty(
$registro[email_dos])){
echo 
"- <a href='correo_usuario_dos.php?email=".$registro[email_dos]."'>".$registro[email_dos]."</a><br>";
echo 
"Ubicaci&oacute;n: ".$registro[barrio]."<br><br>";
echo 
"Categor&iacute;a: ".$registro[categoria]."";
if (!empty(
$registro[subcategoria])){
echo 
" - ".$registro[subcategoria]."<br><br><br>";

}
}
}
//fin while     

//////////a partir de aqui viene la paginacion 
?>
He estado investigando lo de las expresiones regulares pero no encuentro solucion. Todas lo que hacen es comparar no limitar igualdades.