elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 75
291  Programación / Desarrollo Web / Re: filtrar contenido con jquery en: 18 Noviembre 2015, 17:40 pm
Pues ahora que lo dices, al principio se imprimia el \n, pero porque se me olvido cambiar las comillas normales '\n' a dobles "\n". Ahora imprime el salto de linea, ¿eso no debe dar ningún error no? Si se ponen saltos de linea sin variables y no pasa nada. (Lo he quitado y nada, el mismo error sin saltos de linea)

Acaba de encontrar un supuesto error:

Código
  1. SELECT t1.id, t2.*
  2. FROM for_sale t1
  3. INNER JOIN property t2 ON t2.id = t1.id
  4. WHERE t2.USE = 1
  5. AND t2.TYPE = 2
  6. OR t2.TYPE = 3
  7. NULL
  8. NULL
  9. NULL
  10. NULL
  11. LIMIT ?, ?

Podria ser por las variables que se imprimen como NULL, sin embargo le acaba de poner else unset() a los IFs y sigue tirando el mismo error. Ya no sé que más probar...

Código
  1. if ($filter_type != NULL) {
  2.    foreach ($filter_type as $type=>$value) {
  3.        if ($type === 0) {
  4.            $type_cond = 'AND t2.type = ' . $value;
  5.        } else {
  6.            $type_cond .= $type_cond . "\n OR t2.type = " . $value;
  7.        }
  8.    }
  9. } else unset($filter_status); // Ya no imprime NULL dentro del prepare()
  10.  

EDITO: Que extraño, al marcar 3 checkboxes se repite el primero... Puede ser el foreach (que lo dudo) o el array...

Código
  1. MySQLi failed: You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 't2.type = 1
  2. OR t2.type = 2AND t2.type = 1AND t2.type = 1
  3. OR t2.type = 2
  4. OR t2' at line 5<br><br />

Esos dos AND despues del primer OR están de más... ¿Como es posible que se este imprimiendo asi?

Al parecer lo del NULL no tiene nada que ver, no se llega a imprimir, asi que esos unset() están de más.
292  Programación / PHP / Re: Tabla de doble entrada en: 17 Noviembre 2015, 22:16 pm
Es muy facil :)

Solo los de maestro y médico:

Código
  1. SELECT DISTINCT(A.Provincia), B.Maestro, B.Medico FROM tabla1 AS A
  2. LEFT JOIN (
  3. SELECT Provincia,
  4. COUNT(CASE WHEN Funcion='Maestro' THEN 1 ELSE NULL END) AS Maestro,
  5. COUNT(CASE WHEN Funcion='Medico' THEN 1 ELSE NULL END) AS Medico
  6. FROM tabla1 GROUP BY Provincia
  7. ) AS B ON A.Provincia=B.Provincia
  8.  

Por columnas

Código
  1. SELECT DISTINCT(A.Funcion), B.Valencia, B.Alicante FROM tabla1 AS A
  2. LEFT JOIN (
  3. SELECT Funcion,
  4. COUNT(CASE WHEN Provincia='Valencia' THEN 1 ELSE NULL END) AS Valencia,
  5. COUNT(CASE WHEN Provincia='Alicante' THEN 1 ELSE NULL END) AS Alicante
  6. FROM tabla1 GROUP BY Funcion
  7. ) AS B ON A.Funcion=B.Funcion

Añade los demás igual que los dos ejemplos que tienes.

Para hacerlo en php tienes que hacer una consulta (como te dije antes en tu otro mensaje, con mysqli).

Normalmente si buscas un poco en google verás que la mayoria de las preguntas que tienes ya han sido respondidas miles de veces :) http://stackoverflow.com/a/10201105/4067132

Edito: error al copiar y pegar
293  Programación / Desarrollo Web / Re: filtrar contenido con jquery en: 17 Noviembre 2015, 21:44 pm
Pues podría ponerlos como radio, pero me gustaría dar la opción de que elijan más de un tipo a la vez.

EDITO: Si que funciona lo de meter arrays en el serializeArray() con el $.param: https://jsfiddle.net/19avm4rb/1/ En PHP se cogen como si fuera un post normal, pero tengo un problema para crear las condiciones OR. La primera (AND) funciona bien, pero ya las demás da error:

Código
  1. if ($filter_type != NULL) {
  2.    foreach ($filter_type as $type=>$value) {
  3.        if ($type === 0) {
  4.            $type_cond = 'AND t2.type = ' . $value;
  5.        } else {
  6.            $type_cond .= $type_cond . "\n OR t2.type = " . $value;
  7.        }
  8.    }
  9. }
  10.  

Citar
MySQLi failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't2.type = 2
 OR t2.type = 3

                                           LIMIT ?,' at line 5<br><br />

Debe ser un error al crear las variables o al imprimirlas dentro del prepare(), ya que están bien:

Código
  1. SELECT t1.id, t2.*
  2. FROM for_sale t1
  3. INNER JOIN property t2 ON t2.id = t1.id
  4. WHERE t2.USE = 1
  5. AND t2.TYPE = 2
  6. OR t2.TYPE = 1
  7. OR t2.TYPE = 3
  8. AND t2.STATUS = 0
  9. OR t2.STATUS = 1
  10. OR t2.STATUS = 2
  11. AND t2.bhk = 3
  12. OR t2.bhk = 1
  13. OR t2.bhk = 2
Algo así es lo que quiero que haga. Lo he ejecutado y funciona perfectamente.

¿Abro mejor una pregunta en el subforo PHP?
294  Programación / Desarrollo Web / Re: Nos mas dominos tk en: 17 Noviembre 2015, 15:58 pm
Unos sucios es lo que son hahaha.

Yo los voy a dejar de usar, prefiero usar un dns no-ip para las pruebas y un dominio real (aunque haya que pagar un poco).
295  Programación / Desarrollo Web / Re: Nos mas dominos tk en: 17 Noviembre 2015, 15:34 pm
Vamos a ver, los dominios dot.tk son gratis para usar, pero no los posees legalmente. Está en los terminos y condiciones.

Si hospedas tu página en el mismo sitio donde registraste el dominio, es posible que lo hayan hecho legalmente (pero debe venir en las clausulas legales o condiciones de uso donde registraste el dominio y el hosting que aceptamos todos al registrar).

Si no la hospedas en el mismo sitio, los que te proporcionaron el dominio no pueden meter sus manazas legalmente en el hosting que tengas contradado (gratis o de pago), como dije arriba, tiene que ser la misma empresa.

Si lo tienes en un hosting ajeno a dot.tk lo único que se me ocurre es que se hayan pasado por el forro los dns de tu hosting y hayan hecho una simple redirección, incluyendo su propio código (como has comentado). Es despreciable, pero es gratis y nadie está obligado a usarlo (por suerte...).

Yo tambien uso .tk para mis páginas aun en desarrollo, pero ni loco las alojo en un hosting de esos trampa. Si uso un hosting gratuito, es de los más conocidos (como hostinger), en el que nadie más que tú tiene acceso legalmente.

Si, tienes razón en lo que dijiste, son unos sucios.

Hace poco habia una oferta muy buena, en 1and1.es vendian dominios por 1 euro (el primer año) ya sea .com o .es (y otros creo que tmb). Si quieres entrar a mirar, la verdad es que no son muy caros.
296  Programación / Bases de Datos / Re: myadmin sentencia en: 17 Noviembre 2015, 12:00 pm
Supongo que te refieres a MySQLi.

Es muy sencillo, con este ejemplo seguro que lo entiendes facilmente, además te propongo empezar a usar prepare.

Código
  1. // si tienes un framework mejor crear la clase e instanciarla
  2. $mysqli = new mysqli('127.0.0.1', 'username', 'password', 'dbname');
  3.  
  4. if ($stmt = $mysqli->prepare('SELECT * FROM table WHERE column = ? AND column2 = ?')) {
  5.    $stmt->bind_param('is', $variable, $variable2); // i -> integer, s -> string
  6.    $stmt->execute();
  7.  
  8.    // todo el código que dependa de la consulta aquí dentro
  9.  
  10.    if (isset($stmt->error))
  11.        echo 'Statement failed: ' . $stmt->error . '<br>';
  12. } else {
  13.    echo 'MySQLi failed: ' . $mysqli->error . '<br>';
  14. }

Sobre la segunda pregunta, si no me equivoco se trata de "FOREIGN KEY", solo lo usé una vez y no recuerdo muy bien como funciona. Pero lee la documentación, creo que es solo vincularlas. Yo uso SQLyog y en la interfaz simplemente pones el nombre de la columna y se actualiza automaticamente.

Sobre la tercera pregunta, sé que MySQL tiene consola, pero desconozco esa opción de la que hablas, en google seguro que encuentras algo!
297  Programación / PHP / Re: Tabla de doble entrada en: 17 Noviembre 2015, 11:12 am
Contar en MySQL es muy facil:

Código
  1. SELECT COUNT(idregistro) FROM tabla WHERE provincias = ?

y lo mismo para las funciones:

Código
  1. SELECT COUNT(idregistro) FROM tabla WHERE funciones = ?

y para los totales:

Código
  1. SELECT COUNT(idregistro) FROM tabla

Simplemente añade la condición WHERE y AND para la segunda condición, por ejemplo si quieres contar cuantos maestros hay en valencia:

Código
  1. SELECT COUNT(idregistro) FROM tabla WHERE funciones = ? AND provincias = ?
298  Programación / PHP / Re: mostrar imagenes en php en: 17 Noviembre 2015, 10:37 am
Por favor, da un poco más de información: 1º Qué estas intentando hacer y 2º Cual es tu problema.

Y ordena un poco tu código: aplicale un estilo básico y envuelvelo en las etiquetas de código php o no podremos enterarnos de que estás intentando hacer.
299  Programación / Desarrollo Web / Re: filtrar contenido con jquery en: 16 Noviembre 2015, 22:11 pm
Ah vale ya lo entiendo mejor. Pero si tengo más de un checkbox con el mismo nombre luego en php como hago? Por ejemplo name type, un checkbox tiene el valor 1 y otro 2, ¿como manejo eso en php? Luego con IFs compruebo si se ha recibido el filtro y incluyo una condición AND al prepare, pero si son dos como hago?

Código
  1. $filter_type    = isset( $_POST['type'] ) ? (int) $_POST['type'] : NULL;
  2. if ($filter_type != NULL) {
  3.    $filter_type = 'AND t2.type = ' . $filter_type;
  4.    // si se marcaron dos checkboxes de nombre type, como hago la otra condición OR?
  5. }
  6. if ($stmt = $mysqli->prepare(' SELECT t1.id, t2.*
  7.                               FROM ' . $table . ' t1
  8.                               INNER JOIN property t2 ON t2.id = t1.id
  9.                               WHERE t2.use = ?
  10.                               ' . $filter_type
  11.                                 . $filter_status
  12.                                 . $filter_bhk
  13.                                 . $filter_city
  14.                                 . $filter_zone . '
  15.                               LIMIT ?, ?'))
  16.  

Para do y page usaré lo que me dijiste, el data.push.

Muchas gracias!

EDITO: Ya casi lo tengo:

Código
  1. $('body').on('click', '.click, :checkbox, .pag_link', function() {
  2.  
  3.    var self = this;
  4.  
  5.    if (!$(':radio').is(':checked')) {
  6.        $('p.error').show();
  7.        die();
  8.    }
  9.  
  10.    var data = $('input, select').serializeArray(),
  11.        mode = getUrlParameter('do'),
  12.        page = 1;
  13.  
  14.    if ($(self).is('.pag_link')) {
  15.        if ($(self).text() == '«')
  16.            page = (parseInt($('.active').text()) - 1);
  17.        else if ($(self).text() == '»')
  18.            page = (parseInt($('.active').text()) + 1);
  19.        else
  20.            page = parseInt($(self).text());
  21.    }
  22.  
  23.    data.push({ name : 'do',   value : mode});
  24.    data.push({ name : 'page', value : page});
  25.  
  26.    $.ajax({
  27.        method: 'POST',
  28.        url: '/search',
  29.        data: $.param(data)
  30.    }).done(function (data) {
  31.        if ($( '#search' ).is(':visible'))
  32.            $( '#search' ).hide();
  33.  
  34.        if ($(self).is(':checkbox')) {
  35.            var new_content = $(data).find( '#scroll-to-list' );
  36.            $( '#scroll-to-list' ).replaceWith( new_content );
  37.        }
  38.        else {
  39.            var new_content = $(data).find( '#search-filters, #scroll-to-list' );
  40.            $( '#results' ).html( new_content );
  41.            $( 'html, body' ).animate({
  42.                scrollTop: $( '#scroll-to-list' ).offset().top
  43.            }, 1000);
  44.        }
  45.  
  46.    });
  47. });
  48.  

¿Se podrá optimizar todavía más? : :)
300  Programación / Desarrollo Web / Re: filtrar contenido con jquery en: 16 Noviembre 2015, 16:45 pm
Si, estoy usando radio button para esos dos id.

¿Te refieres a cada checkbox ponerle el atributo name?

$('input[class^="filter"]') Esto añade solo los checkboxes que estén marcados no?

Entonces los ifs que tengo creados no sirven? Como sé que número de página pasar o que valor de los radio button pasar? Para todo en general, como hago eso??

Y luego en php como cojo los datos del post? Actualmente lo estaba haciendo asi:

Código
  1. $use            = isset( $_POST['use'] ) ? (int) $_POST['use'] : '';        // int AJAX
  2. $filter_type    = isset( $_POST['type'] ) ? (int) $_POST['type'] : '';      // int AJAX
  3. $filter_status  = isset( $_POST['status'] ) ? (int) $_POST['status'] : '';  // int AJAX
  4. $filter_bhk     = isset( $_POST['bhk'] ) ? (int) $_POST['bhk'] : '';        // int AJAX
  5. $filter_city    = isset( $_POST['city'] ) ? (int) $_POST['city'] : 0;       // int AJAX
  6. $filter_zone    = isset( $_POST['zone'] ) ? (int) $_POST['zone'] : 0;       // int AJAX
  7. $page_number    = isset( $_POST['page'] ) ? (int) $_POST['page'] : '';      // int AJAX

Lo siento, no me entero.
Páginas: 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 75
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines