Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - KateLibby

#51
He encontrado una forma, aunque no es la solución que buscaba (más bien es una chapuza), pero funciona. Así que la comento por si a alguien le puede servir.

Al final lo que he hecho ha sido usar la misma consulta que propuso el-brujo, en la que me devuelve todos los object_id que tienen alguno de los term_taxonomy_id que le pasamos a través del formulario de filtro. Y para hacer que solo muestre los que coinciden todos los parámetros, he creado una función que me devuelva cierto si ese object_id tiene todos esos parámetros (en lugar de cualquier de ellos, que es lo que me devolvía la consulta SQL).

Entonces queda así:

Código (php) [Seleccionar]
$parametres = "'".$_GET['edat']."','".$_GET['pes']."','".$_GET['estatura']."'";

$sql = "SELECT DISTINCT wp.post_title, wp.ID FROM wp_posts wp, wp_term_relationships wtr WHERE wp.post_parent = '".$tipus[$i]."' AND wp.post_type = 'page' AND wp.ID = wtr.object_id AND wtr.term_taxonomy_id IN ($parametres)";

$sql_pagines_tipus = mysql_query($sql);

while ( $pagina = mysql_fetch_array($sql_pagines_tipus) ) {

if ( mostrarPagina($pagina['ID'], $_GET['edat'], $_GET['pes'], $_GET['estatura']) == true ) { ?>
<li><?php echo $pagina['post_title'?><input type="checkbox" name="comparar[]" value="<?php echo $pagina['ID']; ?>"></li>
<?php 
}


Y la función:

Código (php) [Seleccionar]
function mostrarPagina($pagina_id, $edat, $pes, $estatura)
{
   
    if ( $pes == '' ) {
        $trobat_pes = true;
    }else{
        $trobat_pes = false;
    }
   
    if ( $edat == '' ) {
        $trobat_edat = true;
    }else{
        $trobat_edat = false;
    }
   
    if ( $estatura == '' ) {
        $trobat_estatura = true;
    }else{
        $trobat_estatura = false;
    }   

    $sql_tags = mysql_query("SELECT term_taxonomy_id FROM wp_term_relationships WHERE object_id = '$pagina_id'");
   
    while ( $row = mysql_fetch_array($sql_tags) ) {

        if ( $row[0] == $edat && $trobat_edat == false ) { $trobat_edat = true;}
        if ( $row[0] == $estatura && $trobat_estatura == false ) { $trobat_estatura = true; }
        if ( $row[0] == $pes && $trobat_pes == false ) { $trobat_pes = true; }
    }
   
   
    if ( $trobat_edat && $trobat_estatura && $trobat_pes) {
        return true;
    }else{
        return false;
    }
}


#52
Es que lo que quiero hacer es un poco rebuscado, porque estoy intentando integrar un programa hecho en PHP al Wordpress, aprovechando las funciones y la estructura de la base de datos de este. Entonces, lo que he tenido que hacer es apañarme con las Etiquetas para que el cliente pueda asignar un Peso, Estatura y Edad a una página (cada Peso, Edad y Estatura pueden tener más de un valor).

Total, que lo que tengo es una tabla en la que el object_id es el identificador de la página y, el term_texonomy_id la Etiqueta que tiene asociada. Por ejemplo:

object_id       term_taxonomy_id
----------       ----------------------
  1                    7  
  1                    8  
  1                    9  
  2                    8  
  3                    5  
  3                    10
etc...

Teniendo en cuenta la tabla:

term_taxonomy_id    name
---------------------    --------
  7                            3 Kg
  8                            2 años
  9                            4 Kg
  5                            1 Kg
 10                           0.72m

Cada object_id puede tener varios valores de Kg, Edad y Estatura.

Por esta razón me interesa que me devuelva el object_id=1 cuando desde el formulario que uso para filtrar los resultados seleccione 3 Kg y 2 años.
#53






object_id   term_taxonomy_id
    1        7
    1        8
    2        8
    3        5

El caso es que teniendo esta tabla que he planteado al principio, si hago la consulta

Código (sql) [Seleccionar]
SELECT DISTINCT object_id
FROM wp_term_relationships
WHERE term_taxonomy_id IN ('7', '8')


...me devuelve 1 y 2. En esto estamos de acuerdo. Pero mi pregunta es:

¿Cómo puedo hacerlo para que solamente me devuelva 1?
#54
Vaya, ahora que lo he probado he encontrado una pega.

Si no me equivoco, esta consulta devuelve los object_id que en el campo term_taxonomy_id tienen el valor 7 OR 8. ¿Hay alguna forma de hacer que me devuelva los que tienen el valor 7 AND 8?

Código (sql) [Seleccionar]
SELECT object_id
FROM wp_term_relationships
WHERE term_taxonomy_id IN ('7', '8')


Gracias.
#55
Perfecto! Muchísimas gracias  ;-)
#56
Hola, tengo la siguiente tabla con el nombre wp_term_relationships:







object_id   term_taxonomy_id
    1        7
    1        8
    2        8
    3        5

He hecho la siguiente consulta,

Código (sql) [Seleccionar]

SELECT object_id FROM wp_term_relationships WHERE term_taxonomy_id = '7' AND term_taxonomy_id = '8'


Lo que me interesa es que me devuelva los valores que cumplen las dos condiciones, pero supongo que la consulta no se puede hacer de esta forma, ya que no me devuelve ningún registro.

¿Cómo puedo hacerla de forma correcta, de manera que me devuelva el object_id = 1?

Gracias de antemano.
#57
Cita de: -- KiLiaN -- en 10 Marzo 2012, 17:12 PM
Mira a ver si te sirve esto:
Busca y edita: /boot/grub/menu.lst

Buscas estas lineas:

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
Y en donde dice howmany=all, dejalo asi: howmany=1 y la descomentas y listo, solo te pondra el kernel mas reciente.

Cuando acabes haz un update-grub (necesitaras ser root) y solo aparecera la primera o almenos deberia xD.

Puede ser que no tenga el archivo menu.lst?? Porque lo edito y me sale en blanco. Si hago un ls del directorio grub tampoco veo que esté allí  :huh:
#58
Hola, pues mi problema es que cada vez que actualizo mi ubuntu aparece la nueva actualización más todas las anteriores, en la lista del grub.

Lo que he ido haciendo hasta ahora es editar el archivo /boot/grub/grub.cfg y comentar o eliminar estas líneas de los SO que no quiero que aparezcan. Pero cada vez que actualizo, además de añadirse a la lista la nueva actualización, de nuevo vuelven a aparecer todas las que había borrado antes, haciendo que la lista del grub sea enorme.

¿Podríais decirme qué hago mal? Antes lo hacía así y sólo me aparecía la última actualización  :-\

Gracias
#59
PHP / Re: Capturar idioma navegador (codeigniter)
24 Noviembre 2011, 09:14 AM
 >:( Nada, tampoco me funciona así.

También intenté hacer una chapuza. Me fui a views/index.php y allí redireccioné hacia el idioma, de esta manera:

<script>
location.href="URL";
</script>


El resultado que obtuve es que parecía que hacía un bucle redireccionándose todo el rato.
#60
PHP / Re: Capturar idioma navegador (codeigniter)
23 Noviembre 2011, 10:29 AM
Haciéndolo como propuso madpitbull_99 y redireccionándolo, por ejemplo, a www.google.es me funciona. Sin embargo, si lo redirecciono tal cual pero a la URL de mi web, el navegador me da el error de que no se está redireccionando correctamente. ¿Alguna idea?

Esto es lo que he añadido al controlador home.php



$this->load->library('user_agent');
           
if ($this->agent->accept_lang('en'))
{
    redirect("http://www.midominio.com");