Foros del Web » Programando para Internet » PHP »

Por favor ayuda para idearme como hacer esto...

Estas en el tema de Por favor ayuda para idearme como hacer esto... en el foro de PHP en Foros del Web. ¡Hola amigos! Verán, deseo crear una... no sé, tipo de FUNCIÓN en PHP que me ayuda a conseguir esto: En un formulario tendria un campo ...
  #1 (permalink)  
Antiguo 12/03/2009, 23:35
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 11 años, 4 meses
Puntos: 1
Pregunta Por favor ayuda para idearme como hacer esto...

¡Hola amigos!

Verán, deseo crear una... no sé, tipo de FUNCIÓN en PHP que me ayuda a conseguir esto:

En un formulario tendria un campo de texto, varias opciones determinadas con los típicos: "<input type=radio>" y su obvio boton de submit, que dando más o menos así:


Código:
[CAMPO DE TEXTO AQUI]

RADIO_OPCION1 // RADIO_OPCION1 // RADIO_OPCION1, ETC

BOTON ENVIAR
Vale, ahora, en el campo de texto máximo se escribirían 7 caracteres.

Bien, digamos que escribo ÚNICAMENTE la letra "A" y envío... entonces, el resultado que yo deseo de regreso es:

Código:
XAX<br>
AXA<br>
AAA<br>
AXA<br>AXA
Y si yo escribiera: B que me regrese esto:

Código:
BBX<br>
BXB<br>
BBX<br>
BXB<br>
BBX
Entonces, por ejemplo, mi predeterminada para A sería:
Código:
XAX
AXA
AAA
AXA
AXA
y para B sería:
Código:
BBX
BXB
BBX
BXB
BBX
pero si existiera una combinacion AB regrese:

Código:
XAXBBX<br>
AXABXB<br>
AAABBX<br>
AXABXB<br>
AXABBX
Obvio, si yo escribiera ABC pues antes del BR escriba la primer linea del A + B + C y despues <BR> y escribiera la segunda linea de A + B +C, etc...


¿Que idea me pudieran dar para resolver este detalle?

Cabe aclarar que la combinacion de AB por ejemplo, puede ser AZ, PA, etc, es decir, que dependiendo la letra tome las lineas a colocar...

¡Muchas gracias de antemano por todas las ideas!
  #2 (permalink)  
Antiguo 12/03/2009, 23:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 7 meses
Puntos: 836
Respuesta: Por favor ayuda para idearme como hacer esto...

¿Y cuál es el "patrón" que deben seguir las combinaciones? Ya que son diferentes combinaciones para A y B (por el ejemplo que pusiste), ¿qué es lo que determina tal diferencia para cada letra?

P.S.: Puedes usar substr() para ir obteniendo las distintas partes de la cadena y procesarlas, luego concatenar para obtener el resultado deseado.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 12/03/2009, 23:40
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 11 años, 6 meses
Puntos: 220
Respuesta: Por favor ayuda para idearme como hacer esto...

Explicate Bien q q te refieres con y de donde sacas esas combinaciones

Cita:
Iniciado por yugaee Ver Mensaje
¡Hola amigos!

Código:
XAX<br>
AXA<br>
AAA<br>
AXA<br>AXA
Y si yo escribiera: B que me regrese esto:

Código:
BBX<br>
BXB<br>
BBX<br>
BXB<br>
BBX
Entonces, por ejemplo, mi predeterminada para A sería:
Código:
XAX
AXA
AAA
AXA
AXA
y para B sería:
Código:
BBX
BXB
BBX
BXB
BBX
pero si existiera una combinacion AB regrese:

Código:
XAXBBX<br>
AXABXB<br>
AAABBX<br>
AXABXB<br>
AXABBX
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #4 (permalink)  
Antiguo 13/03/2009, 00:32
 
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 73
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: Por favor ayuda para idearme como hacer esto...

Por lo que mas o menos puedo entender es que si eliges una opcion de los radio button ya sea opcion 1 u opcion2 u opcion3 deberia de seguir un determinado patron, bien si fuese asi tendrias quehacer una combinacion de caracteres para cada opcion, vale decir, una par la opcion 1 otra para la opcion2 y asi sucesivamente, y ahora el detalle seria como hacer estas funciones te pongo mas o menos el algoritmo:
if(strlen($cadena)==1)
{
echo "x".$cadena."<br>";
echo $cadena."x<br>";
echo $cadena.$cadena."<br>";
}
este algoritmo seria siempre en cuando nuestro patron seria de la siguiente manera:
xA
Ax
AA
Espero te ayude a aclarar tus ideas, y especificar mas tu requerimiento.
  #5 (permalink)  
Antiguo 13/03/2009, 00:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Por favor ayuda para idearme como hacer esto...

Cita:
¿Y cuál es el "patrón" que deben seguir las combinaciones? Ya que son diferentes combinaciones para A y B (por el ejemplo que pusiste), ¿qué es lo que determina tal diferencia para cada letra?
Si, miren, existe una combinación por cada letra escrita, por ejemplo, miren, para la letra A sería así:

XAX<br>
AXA<br>
AAA<br>
AXA<br>
AXA

Las letras X forman como un espacio, y las letras A si les seguimos una linea forman la letra A, lo mismo para B, C, D, etc

Por ejemplo, es como si yo al escribir la letra A, el resultado sea la misma letra A pero formado por más letras, es algo asi como formar figuras con ACII o algo así por el estilo..


Entonces miren, yo determino como se forma cada letra, la cosa es que el PHP lo que quiero que haga es:

1.- Obtener lo escrito en el campo de texto (eso lo hago con con el $_GET), vale, ahora digamos que escribi: HOLA

Entonces, lo que necesito es que separe la palabra por caractéres obteniendo separadamente:

H
O
L
A

entonces, despues de hacer eso, quiero que imprima un valor por cada letra escrita.

Por ejemplo, si se escribiera Letra por letra, se imprimiera este HTML:

Para la letra H que imprimiera 5 LINEAS que forman la H:

HXH<br>
HXH<br>
HHH<br>
HXH<br>
HXH

Para la letra O:

XOOX<br>
OXXO<br>
OXXO<br>
OXXO<br>
XOOX

Para la L:

LXX<br>
LXX<br>
LXX<br>
LXX<br>
LLL

Para la A:

XAX<br>
AXA<br>
AAA<br>
AXA<br>
AXA


Pero miren, si yo escribiera toda la frase completa se escribiera:

HXHXOOXLXXXAX<br>
HXHOXXOLXXAXA<br>
HHHOXXOLXXAAA<br>
HXHOXXOLXXAXA<br>
HXHXOOXLLLAXA


En realidad eso es lo que deseo tratar de hacer, pero no tengo idea de cómo lograrlo... ¿que me pueden sugerir?
  #6 (permalink)  
Antiguo 13/03/2009, 01:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 7 meses
Puntos: 836
Respuesta: Por favor ayuda para idearme como hacer esto...

Para recorrer todos los caracteres sólo tienes que hacer un bucle for:
Código php:
Ver original
  1. $texto = $_GET['texto'];
  2. for($i = 0; $i < strlen($texto); $i++) {
  3.     echo $texto{$i} . '<br />';
  4. }
Lo que podría sugerirte es que cada línea lo tengas en una variable, así, por cada letra vas concatenando todo lo que haya que imprimir en esa línea. Y quizás guardar en algún lado las combinaciones para cada letra, para poder recuperarlos y concatenarlos a la cadena final.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 13/03/2009, 22:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Por favor ayuda para idearme como hacer esto...

Gracias david; con esa opcion ya me adapté para hacer funcionar mi código, aunque por cada linea debo crear un bucle for o_O

Una pregunta, ¿hay forma de reducirlo?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:10.