Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Anibal784

#21
PHP / Re: [?]Para que sirve eval()?
26 Junio 2009, 03:23 AM
eval() es la piedra fundamental de cualquier lenguaje interpretado, todo lo que hace un lenguaje interpretado es llamar a eval(), lisp hace eval(), python hace eval(), ruby hace eval(), perl hace eval() y PHP hace eval(), lee la línea y se la pasa a eval.

No hace mucho, recuerdo haber leído fundamentos de la programación en perl, en la cual hacían un requiere con la función eval, los pasos eran más o menos los siguiente:
tomaban el archivo con código perl
lo abrían
se lo pasaban a eval()
y ya tenía disponible todas las funciones de ese módulo, PHP nace de perl y por lo tanto no dudo que require/include no hagan más o meno eso, y sin eval no existiría ni include ni require, o sea, sería aún más chicloso el código PHP.
#22
entonces, tu sabes nombre_usuario, busca sobre str_replace en lugar de ereg.
#23
a mi me funcionó, no se qué será que te esté pasando.

soy el [url=urldeljugador]nombre_del_jugador[/url] y deseo retarte a duelo

Eso es lo que sale al ejecutar el script
#24
Te contesto porque es feo que nadie lo haga :P
Citar
if (num1<num2) and (num1<num3) then men:=num1 else may:=num3
con el if lo que estás diciendo es que si num1 < num2 y num1 < num3, seguro num1 es el menor de todos, pero no sabes que pasa si eso no se cumple.

Lo que puedes hacer es:

si num1 < num2 entonces
    si num1 < num3 entonces
        num1 es el menor
        si num2 < num3 entonces
            num2 es el que sigue
            num3 es el mayor
        sino
            num3 es el que sigue
            num2 es el mayor
        fin si
    sino
            num3 es menor
            num1 es el siguiente
            num2 es el mayor
    fin si
sino

fíjate que si el primer if se cumple y luego no se cumple que num3 sea mayor que num1, entonces ya todo termina pues num3 < num1 y num1 < num2, es decir ya está todo resuelto, por eso sale por el sino y da todo resuelto, ahora si num3 es efectivamente mayor, entonces primero debes verificar si es menor que num2 o no. Está incompleto, pero podrías seguir una lógica parecida o intentar algo diferente.
#25
¿y el lugar de dónde lo sacaste no tenía un foro para preguntar?, jajaja, voy a ver porque me gustó el ejercicio
#26
Karman, por lo que logro entender sólo quieres listar los archivos de un usuario que aún no son de él, por lo que lo único que necesitas es, o el id del archivo o el nombre del archivo, en ambos casos un distinc en el primer SELECT debería bastar.
Si aún quieres retener todos los campos, podrías usar GROUP BY para agruparlos por DATA y así se te haga más fácil luego el procesamiento (ya que al estar ordenados sería cuestión de agarrar un registro e ignorar mientras sean iguales).
#27
Si es sólo el nombre de archivo Distinct
#28
No entiendo bien qué es lo que quieres, si pueden ser diferentes eid (más de uno, por ejemplo 2, 3 y 4) sería cuestión de generar la consulta mediante el lenguaje. Como estamos en el foro de PHP supongo que debe ser PHP el lenguaje que utilizas, sería mao meno así:
Código (php) [Seleccionar]

<?php
$qry 
"SELECT * FROM tabla WHERE (eid <> ";
foreach(
$eids as $eid){
    
$qry .= $eid;
    if(
Hay siguiente en eids){
        
$qry .= " AND eid <> ";
    }else{
        
$qry .= ") AND (sid = ";
    }
}
$qry .= $sid;

o algo por el estilo, así si por ejemplo $eids = array(2, 3, 4); y $sid = 1 debería generar una consulta mao meno así:

select *
from tabla
where (eid <> 2 AND eid <> 3 AND eid <> 4) AND sid = 1

luego sería cuestión de llamar a una función que te filtre los duplicados... ¿será eso lo que quieres?
#29
Y por qué no sirve ésto:
Código (SQL) [Seleccionar]

SELECT *
FROM tabla
WHERE eid <> aux_eid AND sid = aux_sid

#30
si, es porque Python 3.0 cambiaron pequeños detalles de la sintaxis, en particular ahora print dejó de ser un comando del lenguaje y pasó a ser una función, parece molesto pero gana más potencias, ahora puede pasarse print como parámetro a una función cosa que antes no se podía hacer.

http://docs.python.org/3.0/whatsnew/3.0.html
acá están las diferencias de python 2 y el nuevo python 3000