Foros del Web » Programando para Internet » PHP »

Necesito ayuda Urgente!! Los IFs me stan volviendo Loko

Estas en el tema de Necesito ayuda Urgente!! Los IFs me stan volviendo Loko en el foro de PHP en Foros del Web. Hola amigos, tengo un problema muuuuuy raro, veran este es el codigo de mi mini aplicacion: <html> <body> <?php $com="com"; mysql_connect('localhost', 'root', '') or die("Could ...
  #1 (permalink)  
Antiguo 10/07/2009, 04:43
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 10 años, 9 meses
Puntos: 0
Necesito ayuda Urgente!! Los IFs me stan volviendo Loko

Hola amigos, tengo un problema muuuuuy raro, veran este es el codigo de mi mini aplicacion:
<html>
<body>



<?php

$com="com";
mysql_connect('localhost', 'root', '') or die("Could not connect: " . mysql_error());
mysql_select_db('dominios');

$palabra = htmlentities ($_REQUEST['palabra'], ENT_QUOTES, 'UTF-8');
$a=0;
$k=0;
$resultado=array();
$valor_com=array();
$dominios=$_POST["dominio"];
$zonas=$_POST["zona"];
$finddos = '$';
$pos2 = stripos($palabra, $finddos);//siempre estara en la ultima posicion


if($pos2 !== false){//Con el $ devuelve las direcciones que acaben con la palabra de entrada


$palabra=substr ($palabra, 0, strlen($cad) - 1);
//echo "akiii";

for ($i=0;$i<count($dominios);$i++){
//echo "<br> Dominio " . $i . ": " . $dominios[$i];
$tabla= $dominios[$i];
$result = mysql_query("SELECT Direccion FROM $tabla where Direccion LIKE '%".$palabra."'");
//$result = mysql_query("SELECT Direccion FROM com where Direccion );

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$resultado[$k]= $row['Direccion'].".".$tabla."<br/>";//.".".$tabla."<br/>"
$k++;
}
}
for ($j=0;$j<count($zonas);$j++){
//echo "<br> Dominio " . $i . ": " . $dominios[$i];
$tabla2= $zonas[$j];
$result2 = mysql_query("SELECT Direccion FROM $tabla2 where Direccion LIKE '%".$palabra."'") or die (mysql_error());
//$result = mysql_query("SELECT Direccion FROM com where Direccion );

while ($row = mysql_fetch_array($result2, MYSQL_ASSOC)) {
$resultado[$k]= $row['Direccion'].".".$tabla2."<br/>";//ICIIIIII .".".$tabla."<br/>"
$k++;
}
}
//echo gettype($resultado);
print_r($resultado);
foreach($resultado as $key => $value){
$valor=explode(".",$value);
print_r($valor);
print_r($valor[1]);
$compara= trim($valor[1]);
print_r($compara);
if($compara==null){
echo "error";
}
if($valor[0]=="google")
{
echo "dentro";
}
if($valor[1]!=="google")
{
echo "fuera";
}
if($compara!==$com)
{
echo "fuera2";
}
print_r($valor[1]);
if($compara==$com)
{
echo "aki com"."<br/>";
$valor_com[$a]=$value;
$a++;
}

}
print_r($valor_com);
echo count($valor_com);
//echo count($valor_org);
//echo count($valor_ma);
}



mysql_free_result($result);
mysql_free_result($result2);
?>


<h3>La busqueda realizada ha sido: <?php echo $palabra; ?> </h3>

<h4>LOS RESULTADOS DE LA BUSQUEDA SON: </h4>

<BLOCKQUOTE>
<table border="1">
<tr>
<th>Dominio</th>
<th>Numero resultados totales</th>
<th>Seleccionar</th>
<th>Coste</th>
</tr>

<tr>
<td><h6>Dominio: <?php echo "com"?></h6></td>
<td><h6>Num_Resultados: <?php echo count($valor_com);?></h6></td>
<td><h6>Seleccionar: <?php?></h6> </td>
<td><h6>Coste: <?php echo X; ?></h6></td>
</tr>

<tr>
<td><h6>Dominio: <?php echo "ma"?></h6></td>
<td><h6>Num_Resultados: <?php echo count($valor_ma);?></h6></td>
<td><h6>Seleccionar: <?php?></h6> </td>
<td><h6>Coste: <?php echo X; ?></h6></td>
</tr>
<tr>
<td><h6>Dominio: <?php echo "org"?></h6></td>
<td><h6>Num_Resultados: <?php echo count($valor_org);?></h6></td>
<td><h6>Seleccionar: <?php?></h6> </td>
<td><h6>Coste: <?php echo X; ?></h6></td>
</tr>

</body>
</html>

Lo q se pretende es que una vez recibida una palabra por la entrada, buscarla en la tabla correspondiente de la BD y almaceno el resultado en un vector resultados; al imprimir el contenido de este vector realmente contiene los resultados esperados, y entonces paso al foreach para hacer una clasifcacion/diferenciacion de los resultados obtenidos, esto es para cada tabla almaceno los valores encontrados en una variable del mismo nombe (es para luego poder presentar mejor la informacion). Pero es ahi donde empiezo a tener serios problemas q no alcanzo a entender:
pq $valor me da q es = a [0] => google [1] => com; lo cual es correcto segun los datos de la tabla com de la BD; y al imprimir los valores de $valor[0] me da que es google y el de valor[1] me da q es com; sin embargo al hacer if($valor[1]=="com") nunca me entra en esa condicion, es mas siempre me entra en esta otra de if($valor!=="com"). Y como les decia me choca mucho porque estoy seguro de que el valor de $valor[1] es com pero no entiendo pq no entra en la condicion correspondiente.
Agradeceria muchissimo su ayuda pq me encuentro bloqueado y sin poder avanzar.
  #2 (permalink)  
Antiguo 10/07/2009, 09:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 50
Antigüedad: 11 años
Puntos: 0
Respuesta: Necesito ayuda Urgente!! Los IFs me stan volviendo Loko

Que tal Samou, pues efectivamente parece extraño el caso segun lo describes, sin embargo en tu codigo veo que no estas haciendo la comparacion: if($valor[1]=="com"), sino que estas comparando :if($valor[1]==$com) y no veo que declares la variable $com en ninguna parte, tal vez ya lo probaste, no lo se, pero noto eso en tu codigo.

Un consejo, la proxima vez borra todas las lineas que tienes comentadas (debugging) para que sea mas facil de leer tu codigo y mas facil de ayudarte.
__________________
Saludos
Carlos Hocker
www.quelohagaungeek.com - Tu diseñas, nosotros codificamos.
  #3 (permalink)  
Antiguo 10/07/2009, 10:01
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 18 años, 1 mes
Puntos: 29
Respuesta: Necesito ayuda Urgente!! Los IFs me stan volviendo Loko

Y con un switch no te será más fácil?
http://us2.php.net/manual/es/control...res.switch.php
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 12/07/2009, 02:22
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Necesito ayuda Urgente!! Los IFs me stan volviendo Loko

Hola gracias por vuestras respuestas, pero estuve mirando el codigo, y vi que el error me viene al capturar la variable $valor[1], ya que al imprimirla en pantalla veo que imprime "com", pero al compararla con el string "com" me dice que la variable devuelta por $valor[1] es mayor que el string "com", pero ya os digo en pantalla se ven exactamente igual. Entonces probe de utilizar la funcion similar_text() que me devuelve un porcentaje del parecido entre ambas variables pero me devuelve que hay un parecido del 54.54% lo que me choca bastante ya que visualmente son exactamente iguales, pero probe de utilizar la funcion trim() y parece que no me hace nada, ya que he probado de hacer una prueba como esta:
$senegal="sene gal";
echo $senegal."<br/>";
$patata= trim($senegal);
echo $patata."<br/>";
y no me elimina el espacio en blanco, por lo que supuse que tampoco me esta eliminando los simbolos raros que pueda haber en $valor[1].

Os agradeceria que me echaseis una mano con lo que puede estar pasando para que $valor[1] y "com" no sean lo mismo siendo visualmente iguales.
Gracias de antemano.

PD: Gracias por lo del switch chulosoy se me habia olvidado que existia XDD
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 02:35.