FAQ
Hola a todos,

en una página tengo una búsqueda:

$sql = "SELECT * FROM projects WHERE claveproy = \"" . $location ."\";";

Mi pregunta es la siguiente: ¿cómo puedo hacer otra búsqueda me busque
el objeto anterior y posterior a $location?

Supongo que sería algo así como $location+1 y $location-1, pero
$location es alfanumérico y no tiene que tener ninguna relación el
anterior con el posterior (p.ej., una serie puede ser akata35, bodeg50,
pigy2...).

Gracias y saludos,


Pablo

Search Discussions

  • Jesús Fernández at Jan 13, 2006 at 11:07 am
    Lo primero que a mí se me ocurre es sacar todos los proyectos,
    recorrer el array guardando en el que te encuentras en un array
    temporal y cuando encuentres el que buscas, en el array temporal
    deberías tener el anterior y el siguiente sería simplemente avanzar un
    paso en el array de todos los proyectos.
    Aunque probablemente hacerlo así es más costoso y hay mejores maneras
    de hacerlo.
  • carlos Medina at Jan 13, 2006 at 11:36 am
    Hola Pablo,

    ya que la pregunta se especializa en SQL cierro el Thread.
    Dependiendo de como este constituido tu base de datos (sobretodo que
    tipo de dependencies tiene) puedes hacer lo siguiente:
    Sacando el ID de la primera busqueda te organizas una busqueda alterna
    que haga dos cosas:
    primero que te busque la id anterior a la que tienes (solo tienes que
    cambiar el query despues del WHERE statement
    luego le mandas la ID que viene.

    Esto depende por supuesto, como he dicho, de como hayas hecho tu tabla.

    Saludos

    Carlos

    Pablo Rodríguez wrote:
    Hola a todos,

    en una página tengo una búsqueda:

    $sql = "SELECT * FROM projects WHERE claveproy = \"" . $location ."\";";

    Mi pregunta es la siguiente: ¿cómo puedo hacer otra búsqueda me busque
    el objeto anterior y posterior a $location?

    Supongo que sería algo así como $location+1 y $location-1, pero
    $location es alfanumérico y no tiene que tener ninguna relación el
    anterior con el posterior (p.ej., una serie puede ser akata35, bodeg50,
    pigy2...).

    Gracias y saludos,


    Pablo
  • Javier Aquino H. at Jan 13, 2006 at 1:13 pm
    Hola Pablo,

    La solución a tu problema lo tienes haciendo un buen planteamiento. Por
    ejemplo:

    Si quiero obtener el valor anterior al dato que estoy buscando lo que debo
    hacer es consultar el maximo valor que sea menor al dato. Por consiguiente
    si quiero el obtener el valor siguiente debo consultar el minimo valor que
    sea mayor al al dato que tengo actualmente.

    Si no se entiende bien ... aqui va la respuesta:

    Obtener la clave anterior al dato que le mandas como parámetro

    $sql = "SELECT MAX(claveproy) FROM projects WHERE claveproy < \"" .
    $location ."\";";

    Obtener la clave siguiente al dato que le mandas como parámetro

    $sql = "SELECT MIN(claveproy) FROM projects WHERE claveproy > \"" .
    $location ."\";";

    Listo .... problema resuelto.

    Saludos,

    Javier.

    ----- Original Message -----
    From: "Pablo Rodríguez" <oinos@web.de>
    To: <php-es@lists.php.net>
    Sent: Friday, January 13, 2006 7:55 AM
    Subject: [PHP-ES] encontrar un objeto anterior y posterior

    Hola a todos,

    en una página tengo una búsqueda:

    $sql = "SELECT * FROM projects WHERE claveproy = \"" . $location ."\";";

    Mi pregunta es la siguiente: ¿cómo puedo hacer otra búsqueda me busque el
    objeto anterior y posterior a $location?

    Supongo que sería algo así como $location+1 y $location-1, pero $location
    es alfanumérico y no tiene que tener ninguna relación el anterior con el
    posterior (p.ej., una serie puede ser akata35, bodeg50, pigy2...).

    Gracias y saludos,


    Pablo

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Gustavo Lescano at Jan 13, 2006 at 3:50 pm
    Lo que plantea Javier lo podrías simplificar de la siguiente manera:

    $sql = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    limit (0,1);";


    $sql = "SELECT * FROM projects WHERE claveproy > \"" . $location ."\"
    limit (0,1);";

    La función LIMIT te "limita" el resultado a un determinado Nro de Registros.

    Saludos

    Gustavo
  • Javier Aquino H. at Jan 13, 2006 at 4:00 pm
    Nunca he usado la funcion limit() pero según lo comentado limita el
    resultado a un numero determinado de registros .... el problema es .... como
    se que el registro que me devuelve es el que necesito realmente ?.

    Slds,

    Javier.

    ----- Original Message -----
    From: "Gustavo Lescano" <gustavolescano@sinectis.com.ar>
    To: <php-es@lists.php.net>
    Sent: Friday, January 13, 2006 12:50 PM
    Subject: Re: [PHP-ES] encontrar un objeto anterior y posterior

    Lo que plantea Javier lo podrías simplificar de la siguiente manera:

    $sql = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    limit (0,1);";


    $sql = "SELECT * FROM projects WHERE claveproy > \"" . $location ."\"
    limit (0,1);";

    La función LIMIT te "limita" el resultado a un determinado Nro de
    Registros.

    Saludos

    Gustavo

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Gustavo Lescano at Jan 13, 2006 at 4:41 pm
    supongamos que tenes los registros que en ese campo tienen:

    aba
    ugl
    gig
    pep
    abj

    Para que se entienda mejor, voy a ordenar los datos:

    aba
    abj
    gig <= REGISTRO ACTUAL
    pep
    ugl

    Para ver el anterior, tendrias que obtener los de menor valor que serían:

    aba
    abj

    si limitas el resultado a 1 solo valor, obtendrías: aba (no es el que
    queres... despues vemos como...)

    Para el posterior, tendrías que obtener los de mayor valor, que serían:

    pep
    ugl

    si limitas el resultado a 1 solo valor, obtendrías pep que es el que te
    interesa.

    La select para el resultado PROXIMO entonces quedaría como:

    $sql = "SELECT * FROM projects WHERE claveproy > \"" . $location ."\"
    order by claveproy asc limit (0,1);";

    Fijate que en este caso, le puse que te lo ordene en forma ascendente
    (que es como te lo ordena por defecto si solamente pones el nombre del
    campo).

    Ahora resta por ver como solucionamos el tema del VALOR ANTERIOR...
    Veamos que pasa si ordeno los resgistros en forma descendente:

    ugl
    pep
    gig <= REGISTRO ACTUAL
    abj
    aba


    Ahora si obtengo los registros que son mayores, me quedarían:

    abj
    aba

    si limitas el resultado a 1 solo valor, obtendrías abj que es el que te
    interesa.

    La select para el resultado ANTERIOR entonces quedaría como:

    $sql = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    order by claveproy desc limit (0,1);";

    Problema solucionado!

    Saludos

    Gustavo
  • Gustavo Lescano at Jan 13, 2006 at 4:49 pm
    Acá me equivoqué en una palabra... para no confundir a nadie aclaro...

    --------------- TEXTO ANTERIOR -------------------

    Ahora resta por ver como solucionamos el tema del VALOR ANTERIOR...
    Veamos que pasa si ordeno los resgistros en forma descendente:

    ugl
    pep
    gig <= REGISTRO ACTUAL
    abj
    aba


    Ahora si obtengo los registros que son mayores (<----- debería decir
    menores), me quedarían:

    abj
    aba

    si limitas el resultado a 1 solo valor, obtendrías abj que es el que te
    interesa.

    La select para el resultado ANTERIOR entonces quedaría como:

    $sql = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    order by claveproy desc limit (0,1);";
  • Javier Aquino H. at Jan 13, 2006 at 5:02 pm
    Sip ... ahora si ya quedó.

    Solo una acotacion: la funcion limit no es una funcion standard en todas las
    bases de datos, por ende puede funcionar en alguna y en otras no.

    Slds,

    Javier.

    ----- Original Message -----
    From: "Gustavo Lescano" <gustavolescano@sinectis.com.ar>
    To: <php-es@lists.php.net>
    Sent: Friday, January 13, 2006 1:41 PM
    Subject: Re: [PHP-ES] encontrar un objeto anterior y posterior

    supongamos que tenes los registros que en ese campo tienen:

    aba
    ugl
    gig
    pep
    abj

    Para que se entienda mejor, voy a ordenar los datos:

    aba
    abj
    gig <= REGISTRO ACTUAL
    pep
    ugl

    Para ver el anterior, tendrias que obtener los de menor valor que serían:

    aba
    abj

    si limitas el resultado a 1 solo valor, obtendrías: aba (no es el que
    queres... despues vemos como...)

    Para el posterior, tendrías que obtener los de mayor valor, que serían:

    pep
    ugl

    si limitas el resultado a 1 solo valor, obtendrías pep que es el que te
    interesa.

    La select para el resultado PROXIMO entonces quedaría como:

    $sql = "SELECT * FROM projects WHERE claveproy > \"" . $location ."\"
    order by claveproy asc limit (0,1);";

    Fijate que en este caso, le puse que te lo ordene en forma ascendente (que
    es como te lo ordena por defecto si solamente pones el nombre del campo).

    Ahora resta por ver como solucionamos el tema del VALOR ANTERIOR...
    Veamos que pasa si ordeno los resgistros en forma descendente:

    ugl
    pep
    gig <= REGISTRO ACTUAL
    abj
    aba


    Ahora si obtengo los registros que son mayores, me quedarían:

    abj
    aba

    si limitas el resultado a 1 solo valor, obtendrías abj que es el que te
    interesa.

    La select para el resultado ANTERIOR entonces quedaría como:

    $sql = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    order by claveproy desc limit (0,1);";

    Problema solucionado!

    Saludos

    Gustavo

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Hari Seldon at Jan 13, 2006 at 5:30 pm
    Efectivamente LIMIT es "no-standard", y puede no funcionar con otras
    bases de datos.

    Pero aquí viene PEAR DB al rescate:

    http://pear.php.net/manual/en/package.database.db.db-common.limitquery.php

    De todos modos, a mi la solución que proponeis de usar el > ó < no
    me gusta nada, porque indexar una tabla por caracteres alfanuméricos, como
    ese campo sea un poco grande, me da que va a ser una consulta leeeeenta.

    Pero bueno... Si, es una forma de resolverlo.

    Saludos.
    -----Mensaje original-----
    De: Javier Aquino H.
    Enviado el: viernes, 13 de enero de 2006 18:02
    Para: php-es@lists.php.net; Gustavo Lescano
    Asunto: Re: [PHP-ES] encontrar un objeto anterior y posterior

    Sip ... ahora si ya quedó.

    Solo una acotacion: la funcion limit no es una funcion
    standard en todas las
    bases de datos, por ende puede funcionar en alguna y en otras no.

    Slds,

    Javier.

    ----- Original Message -----
    From: "Gustavo Lescano" <gustavolescano@sinectis.com.ar>
    To: <php-es@lists.php.net>
    Sent: Friday, January 13, 2006 1:41 PM
    Subject: Re: [PHP-ES] encontrar un objeto anterior y posterior

    supongamos que tenes los registros que en ese campo tienen:

    aba
    ugl
    gig
    pep
    abj

    Para que se entienda mejor, voy a ordenar los datos:

    aba
    abj
    gig <= REGISTRO ACTUAL
    pep
    ugl

    Para ver el anterior, tendrias que obtener los de menor
    valor que serían:
    aba
    abj

    si limitas el resultado a 1 solo valor, obtendrías: aba (no es el que
    queres... despues vemos como...)

    Para el posterior, tendrías que obtener los de mayor valor,
    que serían:
    pep
    ugl

    si limitas el resultado a 1 solo valor, obtendrías pep que
    es el que te
    interesa.

    La select para el resultado PROXIMO entonces quedaría como:

    $sql = "SELECT * FROM projects WHERE claveproy > \"" .
    $location ."\"
    order by claveproy asc limit (0,1);";

    Fijate que en este caso, le puse que te lo ordene en forma
    ascendente (que
    es como te lo ordena por defecto si solamente pones el
    nombre del campo).
    Ahora resta por ver como solucionamos el tema del VALOR ANTERIOR...
    Veamos que pasa si ordeno los resgistros en forma descendente:

    ugl
    pep
    gig <= REGISTRO ACTUAL
    abj
    aba


    Ahora si obtengo los registros que son mayores, me quedarían:

    abj
    aba

    si limitas el resultado a 1 solo valor, obtendrías abj que
    es el que te
    interesa.

    La select para el resultado ANTERIOR entonces quedaría como:

    $sql = "SELECT * FROM projects WHERE claveproy < \"" .
    $location ."\"
    order by claveproy desc limit (0,1);";

    Problema solucionado!

    Saludos

    Gustavo

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php


    __________ Información de NOD32 1.1363 (20060112) __________

    Este mensaje ha sido analizado con NOD32 antivirus system
    http://www.nod32.com
  • Pablo Rodríguez at Jan 15, 2006 at 3:35 pm
    Gracias, Javier, Gustavo y Hari, por vuestras respuestas.

    La opción propuesta por Gustavo parece que es la que funciona mejor,
    pero tengo dos problemas.
    $sql = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    limit (0,1);";
    Al limitar la búsqueda a un único resultado, o la lista de elementos es
    de último a primero (que no sé cómo se hace), o el resultado siempre
    será el primer elemento de la lista, porque el resultado se muestra de
    primero a último.

    Y otro problema es que si el elemento es el primero o el último, no sé
    por qué extraña razón, la página php no se muestra sin dar ningún error.

    El código “conflictivo” es el siguiente:

    $sqlant = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    LIMIT 0,1;" or die(mysql_error());
    $claveant = mysql_query($sqlant, $link);
    $datosant = mysql_fetch_row($claveant) or die(mysql_error());

    $sqlpost = "SELECT * FROM projects WHERE claveproy > \"" . $location
    ."\" LIMIT 0,1;" or die(mysql_error());
    $clavepost = mysql_query($sqlpost, $link);
    $datospost = mysql_fetch_row($clavepost) or die(mysql_error());

    Hay un "print $datosant[0];" y "print $datospost[0]" en el html que
    genera la página. Supongo que el error estará en que si $claveant o
    $clavepost resulta vacío impide la generación de la página, porque
    $datosant[11] o $datospost[11] no existen.

    Para evitar eso, he reformulado la última variable como una condicional:

    if ($claveant == "") {$anterior = 0;} else {$datosant =
    mysql_fetch_row($claveant) or die(mysql_error());}

    if ($clavepost == "") {$posterior = 0;} else {$datospost =
    mysql_fetch_row($clavepost) or die(mysql_error());}

    y luego añado (para que no haya html si no el valor está vacío:

    if ($anterior == 0) {print "\n";} else {print <<<fin
    <a href="/proyectos/$datosant[0]">$datosant[11]</a>
    fin;}

    if ($posterior == 0) {print "\n";} else {print <<<fin
    <a href="/proyectos/$datospost[0]">$datospost[11]</a>
    fin;}

    No sé qué es lo que hago mal, pero al intentar procesar el php me da
    error en la línea 188 (y el archivo tiene 187 líneas). ¿Alguna idea de
    qué hago mal?

    Muchas gracias y saludos,


    Pablo
  • Pablo Rodríguez at Jan 16, 2006 at 12:55 pm
    Desde el mensaje anterior, he descubierto algo que me ha sorprendido.
    Tengo el siguiente código:

    $sqlant = "SELECT * FROM projects WHERE claveproy < \"" . $location ."\"
    LIMIT 0,1;" or die(mysql_error());
    $claveant = mysql_query($sqlant, $link) or die(mysql_error());
    if ($claveant = "") {$cuantosant = 0;} else {$cuantosant =
    mysql_num_rows($claveant) or die(mysql_error());
    $datosant = mysql_fetch_row($claveant) or die(mysql_error());}

    Me da error en todas las páginas:

    "mysql_num_rows(): supplied argument is not a valid MySQL result resource"

    ¿Cómo tengo que hacer el condicional para que si $claveant no tiene
    salida funcione y para que mysql_num_rows y my_fetch_row no me den error?

    Muchas gracias,


    Pablo
  • Jose Antonio Rios at Jan 16, 2006 at 1:25 pm

    El fallo lo tienes en:

    if ($claveant = "") {$cuantosant = 0;} else {$cuantosant =
    con ($clavenat = "") no estás haciendo una comparación, sino una asignación,
    por lo que a partir de esa instrucción $claveant "siempre" contiene "".
    Deberías usar == o ===, aunque esa condición nunca se cumpliría, ya que
    mysql_query sólo devuelve un "recurso" o una variable lógica (true o false)
    nunca una cadena vacía.

    --
    Un Saludo
    __________________________________________________

    Jose Antonio Rios - mailto:jarios@twa.es
    Linux registered user: #365633

    Cosas de Ranas - http://www.cosasderanas.com

    TheWebAnimals, S.L. - http://www.twa.es
    Internet, Hosting, Webs, Programacion, Diseño,
    Multimedia, Publicidad...
    __________________________________________________
  • Pablo Rodríguez at Jan 17, 2006 at 9:32 am
    Gracias, Jose Antonio, tienes razón en las dos cosas.

    ¿Cómo tengo que escribir la condición para cuando mysql_query no
    encuentra nada? (No sé qué es lo que devuelve mysql_query.)

    Gracias de nuevo,


    Pablo

    Jose Antonio Rios wrote:
    El fallo lo tienes en:
    if ($claveant = "") {$cuantosant = 0;} else {$cuantosant =
    con ($clavenat = "") no estás haciendo una comparación, sino una asignación,
    por lo que a partir de esa instrucción $claveant "siempre" contiene "".
    Deberías usar == o ===, aunque esa condición nunca se cumpliría, ya que
    mysql_query sólo devuelve un "recurso" o una variable lógica (true o false)
    nunca una cadena vacía.
  • LaRanaBudWeisEr at Jan 17, 2006 at 10:06 am
    Hola de nuevo,

    El Martes 17 Enero 2006 10:33, Pablo Rodríguez escribió:
    Gracias, Jose Antonio, tienes razón en las dos cosas.

    ¿Cómo tengo que escribir la condición para cuando mysql_query no
    encuentra nada? (No sé qué es lo que devuelve mysql_query.)
    mysql_query devuelve "false" (valor lógico) siempre que el query falle, un
    "recurso" en el caso de que el query lanzado devuelva datos (SELECT, SHOW...)
    o "true" (también valor lógico) en el caso de que el query funcione y sea una
    consulta que no deba devolver datos (INSERT, UPDATE, DELETE...)

    Pero intuyo que tú lo que quieres saber es el número de registros devueltos,
    para eso debes usar la función mysql_num_rows:

    http://www.php.net/manual/es/function.mysql-num-rows.php

    Creo que quizás deberías revisarte un poco esa sección del manual.

    Un Saludo
    __________________________________________________

    Jose Antonio Rios
    Linux registered user: #365633

    Cosas de Ranas - http://www.cosasderanas.com

    TheWebAnimals, S.L. - http://www.twa.es
    Internet, Hosting, Webs, Programacion, Diseño,
    Multimedia, Publicidad...
    __________________________________________________
  • Hari Seldon at Jan 13, 2006 at 3:02 pm
    Para que eso funcione bien, deberías de hacer los INSERT de forma
    ordenada, de tal forma que al obtener un ID correspondiente a la clave de
    proyecto que especifiques, puedas a partir de ese ID saber cuál es el
    siguiente y el anterior; sino, tal y cómo planteas el problema (y sin saber
    más de la base de datos...) lo veo complicado.

    ¿"claveproy" es la key principal de esa tabla? Si es así, y es un
    alfanumérico, creo que es una elección bastante mala; yo particularmente,
    aunque tenga un campo que puede ser key, por ser único (o bien por código, o
    lo que sea), siempre suelo utilizar un autonumérico para la key...
    Precisamente para poder indexar con facilidad.

    Si el problema reside en que los vas metiendo de forma "aleatoria",
    y si tienes un id autoincremental, pero ese id te dice, evidentemente, el
    orden en el que se van agregando registros...

    Veamos, supongamos que tu tabla es:
    proyectos:
    id (autonumérico) claveproy (varchar 50) nombreproy (varchar 100) ....

    Si quieres un proyecto concreto por su clave, haras un SELECT * FROM
    proyectos WHERE claveproy = "elquequieres"

    Si quieres tener una lista ordenada por claveproy, harás un SELECT *
    FROM proyectos ORDER BY claveproy ASC

    Se me ocurren dos soluciones; una, que cada vez que hagas un INSERT,
    calcules el anterior y el siguiente, y lo añadas en campos o bien en esa
    tabla, o bien en una tabla relacionada, del tipo

    proyectos_orden:
    idProyecto (integer 11) idOrden (integer 11)

    Esta tabla de proyectos_orden, en cada insert, tendrás que
    refrescarla, para tener todos los proyectos ordenados de forma alfabética, y
    poder averiguar el anterior y el siguiente a partir de esta misma tabla.

    La otra, más sencilla de implementar, es lo que te comentan en otro
    correo, hacer un

    SELECT * FROM proyectos ORDER BY claveproy ASC

    Recorrer el resulset de resultados, hasta que encuentres la
    claveproy que buscas; y después coger el id del anterior y del siguiente en
    el resulset resultado de esta consulta.

    Un saludo.

    -----Mensaje original-----
    De: oinos@web.de
    Enviado el: viernes, 13 de enero de 2006 11:55
    Para: php-es@lists.php.net
    Asunto: [PHP-ES] encontrar un objeto anterior y posterior

    Hola a todos,

    en una página tengo una búsqueda:

    $sql = "SELECT * FROM projects WHERE claveproy = \"" .
    $location ."\";";

    Mi pregunta es la siguiente: ¿cómo puedo hacer otra búsqueda
    me busque
    el objeto anterior y posterior a $location?

    Supongo que sería algo así como $location+1 y $location-1, pero
    $location es alfanumérico y no tiene que tener ninguna relación el
    anterior con el posterior (p.ej., una serie puede ser
    akata35, bodeg50,
    pigy2...).

    Gracias y saludos,


    Pablo

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php


    __________ Información de NOD32 1.1363 (20060112) __________

    Este mensaje ha sido analizado con NOD32 antivirus system
    http://www.nod32.com
  • Rafael at Jan 14, 2006 at 7:03 pm
    No sé qué tan grande sea tu base/tabla, pero para recuperar "todos los
    registros", guardarlos, ubicar el que necesitas, y a partir de éste
    encontrar el anterior y siguiente inmediatos, me parece poco óptimo
    (aunque podría ser más sencillo de implementar, eso lo decides tú)

    Desde mi punto de vista, la combinación de las sugerencias de Javier y
    Gustavo, con las acotaciones de Hari, son lo que necesitas. Sólo
    agregaré un comentario más... si quieres ubicar los registros anterior y
    siguiente al que encontraste (por cualquier medio), es por que ya tienes
    definido "qué" es lo que origina que un registro sea el "anterior" o el
    "siguiente" a otro, es decir, ya tienes ese patrón o característica
    (alguna relación con otra tabla, la fecha en que se efectuó alguna
    operación, etc.) Partiendo de esto, ubicar estos registros debería ser
    "pan comido", tal vez en 3 consultas en lugar de una sola, pero no
    debería existir mayor dificultad.

    Si es encontrando el patrón o característica que indica que un registro
    antecede o sigue a otro donde tienes problemas, creo que entonces la
    pregunta está mal formulada; además, quien puede responderla eres tú,
    por ser quien conoce la estructura de la base de datos y la lógica del
    sistema y/o la relación de los datos.

    Pablo Rodríguez wrote:
    en una página tengo una búsqueda:

    $sql = "SELECT * FROM projects WHERE claveproy = \"" . $location ."\";";

    Mi pregunta es la siguiente: ¿cómo puedo hacer otra búsqueda me busque
    el objeto anterior y posterior a $location?

    Supongo que sería algo así como $location+1 y $location-1, pero
    $location es alfanumérico y no tiene que tener ninguna relación el
    anterior con el posterior (p.ej., una serie puede ser akata35, bodeg50,
    pigy2...).
    --
    Atentamente,
    J. Rafael Salazar Magaña
    Innox - Innovación Inteligente
    Tel: +52 (33) 3615 5348 ext. 205 / 01 800 2-SOFTWARE
    Cel: +52 (33) 1042 8382
    rsalazar@innox.com.mx
    http://www.innox.com.mx

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedJan 13, '06 at 10:53a
activeJan 17, '06 at 10:06a
posts17
users9
websitephp.net

People

Translate

site design / logo © 2021 Grokbase