Problema con filtrado de valores en declaración SQL

  • Autor Autor javierc77
  • Fecha de inicio Fecha de inicio
J

javierc77

Delta
Buenas,

estoy tratando de realizar una sentencia SQL y no me sale. El tema es en la declaración WHERE. Si pongo el valor igual a 4 me muestra los valores, pero si pongo 4.6 no me muestra nada. (logicamente hay datos con este valor). Os pongo el código:

Insertar CODE, HTML o PHP:
        global $wpdb;
	$table_name = $wpdb->prefix . "rg_lead_detail";;
	$active_rows = $wpdb->get_results(
		"SELECT * FROM {$table_name} WHERE field_number='4.6'"
	);

	echo "<ul>";
	foreach ($active_rows as $active_row){
		echo "<li>";
		echo $active_row->value;
		echo "</li>";
	}
	echo "</ul>";
	}

Gracias
 
Buenas,

estoy tratando de realizar una sentencia SQL y no me sale. El tema es en la declaración WHERE. Si pongo el valor igual a 4 me muestra los valores, pero si pongo 4.6 no me muestra nada. (logicamente hay datos con este valor). Os pongo el código:

Insertar CODE, HTML o PHP:
        global $wpdb;
	$table_name = $wpdb->prefix . "rg_lead_detail";;
	$active_rows = $wpdb->get_results(
		"SELECT * FROM {$table_name} WHERE field_number='4.6'"
	);

	echo "<ul>";
	foreach ($active_rows as $active_row){
		echo "<li>";
		echo $active_row->value;
		echo "</li>";
	}
	echo "</ul>";
	}

Gracias

Hola [MENTION=687]aisa[/MENTION],

¿Puedes mostrarme un pantallazo de la estructura de la tabla donde aparezca al menos un resultado con la ID o campo en cuestión?.
Aun así, antes de eso, prueba a guardar el número en una variable y escápalo.

PHP:
        global $wpdb;
        $num = "4.6";
	$table_name = $wpdb->prefix . "rg_lead_detail";;
	$active_rows = $wpdb->get_results(
		"SELECT * FROM {$table_name} WHERE field_number='".$num."'"
	);

	echo "<ul>";
	foreach ($active_rows as $active_row){
		echo "<li>";
		echo $active_row->value;
		echo "</li>";
	}
	echo "</ul>";
	}

Prueba y nos cuentas!.

Un saludo,
Ángel.
 
Puede ser por el tipo de campo... si es un number o un varchar, ahí puede estar el problema
 
Hola

Aqui os dejo la estructura por si ayuda. La opcion que comentabas AngelSamuel no funciona tampoco

1 id bigint(20) UNSIGNED No Ninguna AUTO_INCREMENT Cambiar Eliminar Más
2 lead_id int(10) UNSIGNED No Ninguna Cambiar Eliminar Más
3 form_id mediumint(8) UNSIGNED No Ninguna Cambiar Eliminar Más
4 field_number float No Ninguna Cambiar Eliminar Más
5 value varchar(200) latin1_german2_ci Sí NULL Cambiar Eliminar Más

a ver que se os ocurre

Muchas gracias
 
¿Has probado sin comillas en el 4.6?

Las comillas son para cadenas de texto y ese campo es un float.
 
Atrás
Arriba