Ver Mensaje Individual
  #10 (permalink)  
Antiguo 28/04/2013, 08:37
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: crear query desde un array

Cita:
Iniciado por ghost_darknet Ver Mensaje
Como bien dices gnzsoloyo, necesito hacer una consulta con las variables llamada "Serie" que ingrese anteriormente. probe tu Codigo y me aparece la consulta vacia ($lista)...

SELECT [SCI].[dbo].[asignacion].[serie], [SCI].[dbo].[asignacion][rut], [SCI].[dbo].[asignacion][abm] FROM [SCI].[dbo].[asignacion] WHERE serie IN() OREDER BY abm DESC

en fin
Pues entonces, no se si te das cuenta, pero lo que hiciste es copiar y pegar sin percatarte de que la función que te puse no era la correcta...

Eso es una prueba didáctica: si no lo notabas, es porque ni siquiera lo estás leyendo.

Lo siento, pero no pasaste la prueba.



Bueno, yendo a lo concreto, deberías haber notado ese error y buscado en el manual de PHP (que puedes consultar on-line), y habrías visto que la función correcta es implode(), no explode().
Cita:
mplode

(PHP 4, PHP 5)

implode — Une elementos de un array en un string
Descripción
Código PHP:
string implode string $glue , array $pieces )
string implode ( array $pieces 
Une elementos de un array en un string con glue (pegamento).
con lo que el código quedaría:
Código PHP:
$cantidad_serie count ($serie); //cuento las variables en un array (lo siento, no me gusta la palabra "arreglo", en todo caso "vector" o "array")
$indice=0;
 
$lista implode(", "$serie);
 
$qry "SELECT ";
$qry .= "[SCI].[dbo].[asignacion].[serie], ";
$qry .= "    [SCI].[dbo].[asignacion][rut],  ";
$qry .= "    [SCI].[dbo].[asignacion][abm]  ";
$qry .= " FROM [SCI].[dbo].[asignacion]  ";
$qry .= "WHERE serie IN($lista)  ";
$qry .= "ORDER BY abm DESC";
$ya_asignado1=mssql_query($qry$conexion); 
desde el momento en que la consulta te queda así:
Código SQL:
Ver original
  1. WHERE serie IN()
deberías haber deducido que la variable estaba vacía y haber analizado por qué.

Por cierto, el SQL también contenia un error (de tipeo en este caso), porque no es OREDER sino ORDER. Eso tampoco lo viste.

En resumen: No copies y pegues. Analiza.
De nada te va a servir en el futuro que te de la solución servida, si no comprendes por qué tienes el problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 28/04/2013 a las 08:55