Autor
|
Tema: [Solucionado] ciclo for arrojo combinaciones, ¿?para que se almacene en la BD (Leído 4,269 veces)
|
~V
Desconectado
Mensajes: 40
Recien Integrandome : D
|
Buenas, Bueno, Tengo que arrojar todas las combinaciones posibles sin repetir. segun un conjuto X de numeros. Yo quise hacerlo estatico, con 10 numeros -> {0,1,2,3,4,5,6,7,8,9} sacar todas las combinaciones posibles sin repetir y de menor a mayor. Osea la forma para lograrlo es a travez de un ciclo for <?
for($a=0;$a<=7;$a++) { for($b=$a+1;$b<=8;$b++) { for($c=$b+1;$c<=9;$c++) { print("$a-$b-$c<br>\n");
}
}
}?>
--> Bien con ello arrojo todas las combinaciones posibles y en orden MENOR a MAYOR. ( es solo cosa de agregarle un printf ("$a -$b-$c"); ) AHORA, como hago para que se me guarden todas las combinaciones arrojadas (120) , en la base de datos ? PD: tambien lo podria hacer mas Didactico, que el usuario me diga las combinaciones totales .. segun el string que el me diga, pero priemro hacerlo con este . gracias... Esto porque , pense hacerlo estatico total, preguntando en este tema, pero me causa mucho comflicot de esperas, y hay que actualizar a ratos, y con metodo de condicionales tengo que actualizar mucho porque se repiten "121", gracias por leer http://foro.elhacker.net/php/asesoria_iquest_quiero_que_me_arroje_3_numeros_aleatorios_pero-t296442.0.html
|
|
« Última modificación: 16 Junio 2010, 21:31 pm por ~V »
|
En línea
|
|
|
|
Falso Positivo
|
Hola,
El proceso sería mas o menos el siguiente:
1. Reemplace print("$a-$b-$c<br>\n"); por $resultado = "$a-$b-$c<br>\n";
2. Busque en google como crear una base de datos y la creas.
3. Busque en google como crear una tabla y la creas.
4. Busque en google como crear un campo y lo creas.
5. Busque en google como establecer una conexión a la base de datos creada en 1. y lo codificas
6. Busque en google como hacer un INSERT y lo codificas, luego la variable a guardar es $resultado.
7. Busque en google como hacer un SELECT para traerte la información almacenada y lo codificas.
8. Haces un echo del resultado obtenido de la consulta del SELECT y te debería mostrar lo mismo que te está mostrando con el print("$a-$b-$c<br>\n");
Saludos.
|
|
|
En línea
|
Don't worry, be hacked....
|
|
|
~V
Desconectado
Mensajes: 40
Recien Integrandome : D
|
EDITO: Eh, una duda, si yo pruebo remplazando el "printf", por --> $resultado pues el ciclo for " MUERE" ,porque esto ? ya que decidi probar y mostrar en pantalla con echo. y solo me muestra los valores ultimos que estan por defecto --> 7 -8-9 for($a=0;$a<=7;$a++) { for($b=$a+1;$b<=8;$b++) { for($c=$b+1;$c<=9;$c++) { $resultado = ("$a-$b-$c<br>\n");
}
}
}
echo "$resultado";
Entonces al momento de ingresar a la Base de datos, , solo me ingresa 1 fila, con el 7-8-9.
|
|
« Última modificación: 15 Junio 2010, 06:35 am por ~V »
|
En línea
|
|
|
|
Falso Positivo
|
EDITO:
Eh, una duda,
si yo pruebo remplazando el "printf", por --> $resultado
pues el ciclo for " MUERE" ,porque esto ?
No muere, error mío debe ser así: $resultado .= $a-$b-$c."<br />"; Debes observar el punto antes del signo igual, con ello indicas que concatenas lo que tenía almacenado la variable $resultado con $a-$b-$c."<br />"; Saludos!
|
|
|
En línea
|
Don't worry, be hacked....
|
|
|
~V
Desconectado
Mensajes: 40
Recien Integrandome : D
|
Ahh, mira Haciendo eso que me dices, claro me las ingresa, pero en una sola fila. ID --- |-------|-------|- 160| 0-1-2 0-1-3 0-1-4 etc..... Entonces lo que hice fue, Incluir el mysql_query("insert into prueba (Nombre) values ('$resultado')",$link); dentro del ciclo for, considerando el echo de ir guardando cada registro, y a la vez ir almacenando. Y en ese caso, cumple con lo que se queria. EDITO Listo ahora ya me arroja las combinaciones aleatorias. gracias les dejare el codigo, quizás mas de alguien lo necesite. <?php // pretendemos mostrar una sola combinación que ya esta ingresada.
include("conex.php"); $link=Conectarse(); $sql = "SELECT * FROM prueba"; //colocasla base de datos if ($result = mysql_query($sql)) { $randval = rand(0, mysql_num_rows($result) - 1); $link = mysql_result($result, $randval, "Nombre");//colocas el nombre del campo donde se almaceno los datos mysql_close(); echo $link;
} ?>
|
|
« Última modificación: 16 Junio 2010, 22:50 pm por ~V »
|
En línea
|
|
|
|
Falso Positivo
|
Buenas,
Claro, pensé que querías todo en un solo campo, y es correcta la solución, si necesitabas los resultados en campos distintos el INSERT puede ir dentro del for anidado.
Me alegro que te sirva mi colaboración, mucha suerte.
|
|
|
En línea
|
Don't worry, be hacked....
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Nessus arrojo esto
Hacking
|
sircam666
|
0
|
1,967
|
30 Julio 2011, 02:36 am
por sircam666
|
|
|
¿detectar combinaciones de teclas con ventana minimizada? [solucionado]
Java
|
p4nd4criss
|
6
|
6,787
|
2 Julio 2012, 16:25 pm
por Proteus1989
|
|
|
Ideas para combinaciones?
Programación C/C++
|
StrikeOne
|
3
|
3,109
|
17 Junio 2012, 12:49 pm
por engel lex
|
|
|
Router proxy que almacene webs visitadas
Hacking
|
madrid272001
|
7
|
5,414
|
20 Enero 2014, 12:51 pm
por engel lex
|
|
|
[Solucionado] Problema en ciclo infinito
Programación C/C++
|
Mario Olivera
|
5
|
2,791
|
26 Julio 2014, 05:10 am
por leosansan
|
|