Cita:
Iniciado por DarkXNightmare :D:D:D! Ya aprendí como crear las consultas SQL con LIMIT a ODBC. Ojo con este Script...
Código PHP:
<?php
$conn = odbc_connect("mybase", "xxxxx", "xxxxx");
$sql = "SELECT * FROM clients";
if (preg_match("/LIMIT/", $sql))
{
preg_match("/^SELECT(.*?)(LIMIT ([0-9]+)[, ]*([0-9]+)*)?$/", $sql, $limits);
$result = odbc_exec($conn, "SELECT" . $limits[1]);
$show = $limits[4] + $limits[3];
$limits[3]++;
for ($i = $limits[3]; $i <= $show; $i++)
{
$row = odbc_fetch_array($result, $i);
echo $row['nombre'] . "<br />\r\n";
}
}else{
$result = odbc_exec($conn, $sql);
while ($row = odbc_fetch_array($result))
{
echo $row['nombre'] . "<br />\r\n";
}
}
odbc_close($conn);
Ese es el Script y me funciona de maravilla ;D...
Espero que les ayude este Script a los que tienen mi duda ;)...
Atte... DarkXNightmare
mmm .. Si bien "funciona" .. a mi en lo personal no me gusta para nada "mezclar" conceptos como así lo hace el código que propones.
Es decir, .. por un lado te deja "creer" que en el SQL para conexiones ODBC (de cualquier tipo) puedes usar LIMIT .. Pero, lo que hace realmente es buscar esa "frase" y quitarlo de la consulta SQL para ejecutar una más simple .. tomar los "parámetros" del "LIMIT" especificado y trabajar la consutla SQL con "código PHP" (ejecutando consultas SQL bajo ese bucle for ..)
Veo por mi parte más "claro" usa una capa de abstracción de BBDD y usar un SQL más básico (Si es que tu aplicación PHP va a tener que funcionar con vários motores de BBDD) o un SQL más concreto para el motor de BBDD que uses.
Un saludo,