Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2009, 04:43
Samou
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 14 años, 10 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.