Título: [Solucionado] ciclo for arrojo combinaciones, ¿?para que se almacene en la BD Publicado por: ~V en 14 Junio 2010, 20:24 pm 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 (http://foro.elhacker.net/php/asesoria_iquest_quiero_que_me_arroje_3_numeros_aleatorios_pero-t296442.0.html) Título: Re: Con ciclo for arrojo combinaciones, como hago para que se almacene en la BD Publicado por: Falso Positivo en 14 Junio 2010, 22:34 pm 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. Título: Re: Con ciclo for arrojo combinaciones, como hago para que se almacene en la BD Publicado por: ~V en 15 Junio 2010, 04:09 am 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. Título: Re: Con ciclo for arrojo combinaciones, como hago para que se almacene en la BD Publicado por: Falso Positivo en 16 Junio 2010, 06:58 am EDITO: Eh, una duda, si yo pruebo remplazando el "printf", por --> $resultado pues el ciclo for " MUERE" ,porque esto ? No muere, error mío :P 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! Título: Re: Con ciclo for arrojo combinaciones, como hago para que se almacene en la BD Publicado por: ~V en 16 Junio 2010, 21:27 pm 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; } ?> Título: Re: [Solucionado] ciclo for arrojo combinaciones, ¿?para que se almacene en la BD Publicado por: Falso Positivo en 20 Junio 2010, 18:48 pm 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. |