Foros del Web » Programando para Internet » PHP »

Like de una Cifra que no me funciona

Estas en el tema de Like de una Cifra que no me funciona en el foro de PHP en Foros del Web. Que tal, Voy a intentar explicarlo lo más entendible posible. Esta consulta me devuelve un número como por ejemplo: 2020 Código PHP: mysql_connect ( $host ...
  #1 (permalink)  
Antiguo 24/10/2005, 09:46
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 12 años, 2 meses
Puntos: 0
Like de una Cifra que no me funciona

Que tal,

Voy a intentar explicarlo lo más entendible posible.

Esta consulta me devuelve un número como por ejemplo: 2020

Código PHP:
mysql_connect($host,$user,$password); 
$resultado mysql_db_query("mi_bd","select number from invoice where id='".$_GET['id']."'"); 
while(
$row mysql_fetch_array($resultado)) 
{
$valor=$row["number"];
}
?> 

En la BD existen otros valores como 2020-1, 2020-2 y Quiero tomar el valor de 2020-2 (Osea el máximo de 2020-X) y sumarle 1.

Entonces tomo $valor=2020 y tomo el mayor haciendo el Like.

Código PHP:
<?
$resultado2 
mysql_db_query("mi_bd","select number from invoice where id=(select Max(id) from 
invoice WHERE number LIKE '$valor%')"
); 
while(
$row2 mysql_fetch_array($resultado2)) 
{
$valor2=$row2["number"];
echo 
$valor2;
}

El problema es que en el echo siempre me sale 2020 y no 2020-3 Por que?

Estoy utilizando mal el Like? Creo que la lógica es correcta, tomar el valor de number (Campo de los 2020-x) que tenga el Máximo id, ya que el id es un consecutivo.


Gracias de Antemano.

Saludos.
  #2 (permalink)  
Antiguo 24/10/2005, 20:18
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Como tenés armada la tabla de la base? osea.... que campos la componen, que datos guardas en cada uno, etc?

Por otro lado debeias comprobar que la version de tu mysql soporte consultas anidadas (o como se llamen.)

Lo que podes probar es cambiar la segunda consulta por la siguiente:

Código PHP:
$resultado2 mysql_db_query("mi_bd","SELECT number FROM invoice WHERE number LIKE '$valor%' ORDER BY id DESC LIMIT 0,1"); 
__________________
oohh... quisiera ser godines!!!
  #3 (permalink)  
Antiguo 25/10/2005, 08:43
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 12 años, 2 meses
Puntos: 0
Hola, que tal, la verdad funcionaba bien era solo un problema del paso de un parámetro. Tengo mysql 4.19 y soporta los selects anidados, Funciona Ok.

Gracias.
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 20:24.