Foros del Web » Programando para Internet » PHP »

Problema con mysql :S :S :S

Estas en el tema de Problema con mysql :S :S :S en el foro de PHP en Foros del Web. No se porque me esta fallando esto. es algo simple:S. A ver si me pueden ayudar por favor. Hago aca una consulta a la base ...
  #1 (permalink)  
Antiguo 14/01/2010, 19:20
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 16 años
Puntos: 1
Pregunta Problema con mysql :S :S :S

No se porque me esta fallando esto. es algo simple:S. A ver si me pueden ayudar por favor.

Hago aca una consulta a la base de datos

Recorro los resultados
Código PHP:
Ver original
  1. while ($myrow = @mysql_fetch_array($res)) {
  2.          if ($myrow['nombre'] == $_GET['funcion']) {  // si se cumple remarco el resultado
  3.                 echo "<li id='listimage'><a id='funcionc' href='index.php?funcion=".$myrow[nombre]."&id=".$myrow[id_manejo]."'>".$myrow['nombre']."</a></li>";
  4.      }else { // sino se cumple no remarco el resultado
  5.                 echo "<li><a id='funcion' href='index.php?funcion=".$myrow[nombre]."&id=".$myrow[id_manejo]."'>".$myrow[nombre]."</a></li>";
  6.         }
  7. }
Como veran selecciono ciertas funciones, y las pongo como parametro GET, en la variable "funcion",
<a id='funcionc' href='index.php?funcion=".$myrow[nombre]."&id=".$myrow[id_manejo]."'>".$myrow['nombre']."</a>

cuando recorro lo q me arrojo la base de datos con $myrow = @mysql_fetch_array($res)

$myrow[nombre] va a tener un valor q va a estar en $_GET['funcion']
el tema es q cuando hago la comparacion en el IF: if ($myrow['nombre'] == $_GET['funcion']), la copmaracion esta nunca resulta verdadera :S:S, y se supone q una vez va a serlo. Se entiende? es simple, el tema es q no se porque me falla el condicional IF.
  #2 (permalink)  
Antiguo 14/01/2010, 19:34
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: Problema con mysql :S :S :S

La verdad no se entendio muy bien que es lo que estas haciendo...
Ademas asi a simple viste te diste cuenta de que a veces usas las comillas simples y a veces no?

Cita:
while ($myrow = @mysql_fetch_array($res)) {
if ($myrow['nombre'] == $_GET['funcion']) { // si se cumple remarco el resultado
echo "<li id='listimage'><a id='funcionc' href='index.php?funcion=".$myrow[nombre]."&id=".$myrow[id_manejo]."'>".$myrow['nombre']."</a></li>";
}else { // sino se cumple no remarco el resultado
echo "<li><a id='funcion' href='index.php?funcion=".$myrow[nombre]."&id=".$myrow[id_manejo]."'>".$myrow[nombre]."</a></li>";
}
}
Para comprobar imprimi lo que traes por GET, lo que traes en $myrow y compara a ver si no le estas pifiando en eso
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 14/01/2010, 19:42
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 16 años
Puntos: 1
Pregunta Respuesta: Problema con mysql :S :S :S

Hace de cuenta q yo tomo un listado desde la base de datos. y ese listado me queda asi (es una base de datos de funciones q tengo, ahi guardo todo tipo de cosas q encuentro relacionado con determinada funcion de php).

id_listado id_manejo nombre
0 0
1 1 basename
2 1 chgrp
3 1 chmod
4 1 chown
5 1 clearstatcache
6 1 copy

Crea esa base de datos si queres a modo de prueba. Y luego proba este codigo con esa base de datos:
Código PHP:
<?php
$host 
'localhost';
$usuario 'root'
$password 'root';
$base 'base_defunciones';

$conexion mysql_connect("$host""$usuario""$password") or die("Error en la conexion");
$base mysql_select_db("$base") or die("Error en la conexion");

$sql "select * from `listado_funcion` WHERE `id_manejo`= '1' order by nombre asc"
$res mysql_query($sql);


while (
$myrow mysql_fetch_array($res)) {                          
    if (
$myrow[nombre] == 'basename') {
        echo 
'anda';
    }
}
?>
Ves ? simple, se supone q deberia COINCIDIR AL MENOS 1 VEZ
id_listado id_manejo nombre
0 0
1 1 basename
2 1 chgrp
3 1 chmod
4 1 chown
5 1 clearstatcache
6 1 copy

PERO NO ME COINCIDE NUNCA XD SALVO CUANDO LO COMPARO CON EL ULTIMO VALOR XD. OSEA SI YO HAGO ESTO
Código PHP:
Ver original
  1. if ($myrow[nombre] == 'copy') { // copy es el ultimo registro cargado, ahi si anda XD entendes? es raro
  2.         echo 'anda';
  3.     }
ANDA :S jaja no entiendo porque.

Última edición por Fernarey1810; 14/01/2010 a las 19:48

Etiquetas: mysql
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 14:42.