Foros del Web » Programando para Internet » PHP »

Cantidad de Flores en PHP

Estas en el tema de Cantidad de Flores en PHP en el foro de PHP en Foros del Web. Tengo esto para editar pero solo quiero mostrar 3 campos de flores mas adelante si quiero mostrar mas, cambio el numero de flores, en una ...
  #1 (permalink)  
Antiguo 16/02/2010, 14:24
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Mensaje Cantidad de Flores en PHP

Tengo esto para editar pero solo quiero mostrar 3 campos de flores
mas adelante si quiero mostrar mas, cambio el numero de flores,
en una tabla tengo los numeros de flores que quiero mostrar ejemplo
Código PHP:

<?
//
//
//
$numero_flores "$numero_flores" // Aqui en el DB le he puesto 5 por ejemplo.
//
//
//
//
//
?>
Cantidades de flores para mostrar: 5

entonces aqui me debe mostrar solo 5
<form action="" method="post">
<input name="flores1" type="text" value="<? echo $flores1 ?>" />
<input name="flores2" type="text" value="<? echo $flores2 ?>" />
<input name="flores3" type="text" value="<? echo $flores3 ?>" />
<input name="flores4" type="text" value="<? echo $flores4 ?>" />
<input name="flores5" type="text" value="<? echo $flores5 ?>" />
</form>


Pero no solo tengo 5 campos de textos tengo mas de 5 por lo menos 50, ejemplo: flores1, flores2, flores3, etc..
entonces desde el "$numero_flores" desde ahi quiero asignar el numero de campos para mostrar,
como seria entonces la solucion, espero su ayuda gracias.
  #2 (permalink)  
Antiguo 16/02/2010, 14:45
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 17 años
Puntos: 25
Pregunta Respuesta: Cantidad de Flores en PHP

que tal va esto???
Código HTML:
<?
	$cantidad = 50;
?>
<form action="" method="post">
<? for($i=1; $i<=$cantidad; $i++){ ?>
<input name="flores<?=$i?>" type="text" value="flores<?=$i?>" /><br>
<? } ?>
</form> 
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #3 (permalink)  
Antiguo 16/02/2010, 17:07
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

Cita:
Iniciado por hector2c Ver Mensaje
que tal va esto???
Código HTML:
<?
	$cantidad = 50;
?>
<form action="" method="post">
<? for($i=1; $i<=$cantidad; $i++){ ?>
<input name="flores<?=$i?>" type="text" value="flores<?=$i?>" /><br>
<? } ?>
</form> 

De esa forma hay las cantidades asignadas,
pero en cada campo tengo contenido del DB
y si uso de esta forma



<input name="flores<?=$i?>" type="text" value="$flores1" />
<input name="flores<?=$i?>" type="text" value="$flores2" />


el resultado correcto es asi

<form action="" method="post">
<input name="flores1" type="text" value="ROSAS" />
<input name="flores2" type="text" value="ORQUIDEAS" />
</form>


y si uso asi



<input name="flores<?=$i?>" type="text" value="flores<?=$i?>" />


el resultado es asi
<form action="" method="post">
<input name="flores1" type="text" value="flores1" />
<input name="flores2" type="text" value="flores2" />
<input name="flores3" type="text" value="flores3" />
</form>


y ahi no aparece el contenido que debo modificar por que el contenido dice por ejemplo ROSAS y en otro campo ORQUIDEAS ETC..
  #4 (permalink)  
Antiguo 16/02/2010, 23:35
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Cantidad de Flores en PHP

Lo mejor es que muestres como obtienes esos datos de la base de datos, en un ejemplo muy general podrias hacer algo asi

Código PHP:
Ver original
  1. $conexion = mysql_connect();
  2.  
  3. $sql = mysql_query('select * from tabla_flores') or die mysql_error();
  4.  
  5. $numFile = 1;
  6. while($rows = mysql_fetch_assoc($sql)) {
  7.          echo '<input name="flores'.$numFile.'" type="text" value="'.$rows['tipo_flor'].'" />';
  8.          $numFile++;
  9. }

Claro, asumiendo que utilizas mysql como base de datos y que existe alguna tabla con los tipos de flores, sin mas informacion no hay como ayudarte =/
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 17/02/2010, 00:04
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

entiendo esta es mi tabla


CREATE TABLE flores (
idflor int(11) NOT NULL auto_increment,
numero_flores varchar(20) NOT NULL default '',
PRIMARY KEY (idflor)
);


CREATE TABLE tipos (
tipoid int(11) NOT NULL auto_increment,
flores1 varchar(50) NOT NULL default '',
flores2 varchar(50) NOT NULL default '',
flores3 varchar(50) NOT NULL default '',
flores4 varchar(50) NOT NULL default '',
flores5 varchar(50) NOT NULL default '',
flores6 varchar(50) NOT NULL default '',
flores7 varchar(50) NOT NULL default '',
flores8 varchar(50) NOT NULL default '',
flores9 varchar(50) NOT NULL default '',
flores10 varchar(50) NOT NULL default '',
flores11 varchar(50) NOT NULL default '',
flores12 varchar(50) NOT NULL default '',
flores13 varchar(50) NOT NULL default '',
flores14 varchar(50) NOT NULL default '',
flores15 varchar(50) NOT NULL default '',
flores16 varchar(50) NOT NULL default '',
flores17 varchar(50) NOT NULL default '',
flores18 varchar(50) NOT NULL default '',
flores19 varchar(50) NOT NULL default '',
flores20 varchar(50) NOT NULL default '',
flores21 varchar(50) NOT NULL default '',
flores22 varchar(50) NOT NULL default '',
flores23 varchar(50) NOT NULL default '',
flores24 varchar(50) NOT NULL default '',
flores25 varchar(50) NOT NULL default '',
flores26 varchar(50) NOT NULL default '',
flores27 varchar(50) NOT NULL default '',
flores28 varchar(50) NOT NULL default '',
flores29 varchar(50) NOT NULL default '',
flores30 varchar(50) NOT NULL default '',
flores31 varchar(50) NOT NULL default '',
flores32 varchar(50) NOT NULL default '',
flores33 varchar(50) NOT NULL default '',
flores34 varchar(50) NOT NULL default '',
flores35 varchar(50) NOT NULL default '',
flores36 varchar(50) NOT NULL default '',
flores37 varchar(50) NOT NULL default '',
flores38 varchar(50) NOT NULL default '',
flores39 varchar(50) NOT NULL default '',
flores40 varchar(50) NOT NULL default '',
flores41 varchar(50) NOT NULL default '',
flores42 varchar(50) NOT NULL default '',
flores43 varchar(50) NOT NULL default '',
flores44 varchar(50) NOT NULL default '',
flores45 varchar(50) NOT NULL default '',
flores46 varchar(50) NOT NULL default '',
flores47 varchar(50) NOT NULL default '',
flores48 varchar(50) NOT NULL default '',
flores49 varchar(50) NOT NULL default '',
flores50 varchar(50) NOT NULL default '',
PRIMARY KEY (tipoid)
);

Última edición por pilucho; 17/02/2010 a las 00:05 Razón: ortogr
  #6 (permalink)  
Antiguo 17/02/2010, 00:08
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

La idea que plantea hector es buena pero como es el caso de actualizar el db

<?
$cantidad = 50;
?>
<form action="" method="post">
<? for($i=1; $i<=$cantidad; $i++){ ?>
<input name="flores<?=$i?>" type="text" value="flores<?=$i?>" /><br>
<? } ?>
</form>
  #7 (permalink)  
Antiguo 17/02/2010, 00:09
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Cantidad de Flores en PHP

WoW!!! son muchos campos, una pregunta, como utilizas la tabla tipos, vamos, como guardas la informacion en la tabla, no quiero pensar que cada vez que ingresas un tipo de flor, agregas un campo mas a la tabla tipo, porque si es asi, dejame decirte que tienes un problema de concepto, pero no me adelanto, es mejor primero ver como guardas tus datos en la tabla, y ver que pasa si de pronto tienes un nuevo tipo de flor...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 17/02/2010, 00:26
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

Cita:
Iniciado por Nemutagk Ver Mensaje
WoW!!! son muchos campos, una pregunta, como utilizas la tabla tipos, vamos, como guardas la informacion en la tabla, no quiero pensar que cada vez que ingresas un tipo de flor, agregas un campo mas a la tabla tipo, porque si es asi, dejame decirte que tienes un problema de concepto, pero no me adelanto, es mejor primero ver como guardas tus datos en la tabla, y ver que pasa si de pronto tienes un nuevo tipo de flor...
estos campos quedan fijos ya no se aumentan mas pero como veras son como sanP..ta de campos por eso al momento de editar solo deben aparecer el numero asignado me pidieron 50 pero no se usaran todo, yo creo que la mitad, se que esta dificil por eso acudo aqui a ver si alguien con mejor capacidad de programacion me de una mano ya que yo re100 camino....
  #9 (permalink)  
Antiguo 17/02/2010, 00:37
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Cantidad de Flores en PHP

Sí, pero no me respondiste la pregunta, así como expones la información no veo como relacionas las dos tablas, "flores" cuenta las flores del mismo tipo que hay en “tipos", ejemplo, en la tabla "tipos" se repiten en 2 entradas "Flor de China", entonces en la tabla "flores" guardas que hay 2 flores del tipo "Flor de China", es así, o como, explica como relacionas las tablas, pon un ejemplo, posiblemente podremos darle una mejor lógica...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #10 (permalink)  
Antiguo 17/02/2010, 02:51
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

Cita:
Iniciado por Nemutagk Ver Mensaje
Sí, pero no me respondiste la pregunta, así como expones la información no veo como relacionas las dos tablas, "flores" cuenta las flores del mismo tipo que hay en “tipos", ejemplo, en la tabla "tipos" se repiten en 2 entradas "Flor de China", entonces en la tabla "flores" guardas que hay 2 flores del tipo "Flor de China", es así, o como, explica como relacionas las tablas, pon un ejemplo, posiblemente podremos darle una mejor lógica...
La union de las dos tablas seria asi como un simple ejemplo si eso te refieres y puedes dar con la solucion de lo que necesito ayuda pues bien, nose adonde quieres llegar pero te seguire el juego

Código PHP:
<? 
//Conexion blabla....
$SQL "SELECT * from flores INNER JOIN tipos ON flores.idflor=tipos.idflor where flores.idflor='$idflor'";
//
  #11 (permalink)  
Antiguo 17/02/2010, 09:05
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Cantidad de Flores en PHP

Mmmm, la razon por la que te lo preguntaba es porque a mi parecer, estas haciendo un mal uso de la tabla tipos, así como expones la relacion entre tablas no entiendo la razon de tantos campo, podriamos simplificar tu tabla de esta manera

Código SQL:
Ver original
  1. CREATE  TABLE  `new_tipos` ( `id` INT NOT  NULL  AUTO_INCREMENT ,
  2.  `idFlor` INT( 11  )  NOT  NULL ,
  3.  `tipo` VARCHAR( 50  )  NOT  NULL ,
  4.  PRIMARY  KEY (  `id`  )
  5. ) TYPE  =  MYISAM ;

y relacionar las tablas asi
Código PHP:
Ver original
  1. $sql = 'select * from flores INNER JOIN (flores.idflores = new_tipos.idFlor) where flores.idflores = "'.$idflor.'"';

con lo anterior ya se te facilitan las cosas para hacer lo que en un comienzo te causaba problemas con:

Código PHP:
Ver original
  1. $sql = 'select * from flores INNER JOIN (flores.idflores = new_tipos.idFlor) where flores.idflores = "'.$idflor.'"';
  2.  
  3. $query = mysql_query($sql,$conexion) or die mysql_error();
  4.  
  5. $numFile = 1;
  6. while($row = mysql_fetch_assoc($query)) {
  7.        echo '<input name="flores'.$numFile.'" type="text" value="'.$row['tipo'].'" />';
  8.        $numFile++;
  9. }

En la tabla tipo los datos se guardarian de la siguiente manera

Código:
Id | idFlor | Tipo
1 | 1 | Azucenas
2 | 1 | Orquideas
No se si asi te funcione para lo que lo necesites, al menos es una forma de hacerlo como te entendi
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #12 (permalink)  
Antiguo 17/02/2010, 09:16
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 17 años
Puntos: 25
Respuesta: Cantidad de Flores en PHP

definitivamente, la regla básica, tabla padre y detalle n.n... típica regla de normalización
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #13 (permalink)  
Antiguo 17/02/2010, 13:00
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

Vale Nemutagk por la aclaración pero no es lo que necesito amigo, ya que ahí se crean más campos y se llama por el id y se estaría creando mas líneas, la idea es que se mantenga en una sola línea como todo esos campos, lo que necesito, más arriba esta los detalles.

Como es la forma de mostrar los campos ya creados asignado por un número si tengo 5 deben solo mostrar 5 y si más adelante quiero mostrar 10 cambio el 5 por el 10 y al momento de editar aparezcan los 10, más lo anterior que eran 5, y asi continuamente. Esta difícil, claro como explica Héctor es una buena idea pero el problema está solo al momento de editar no aparecen los datos de la tabla.
  #14 (permalink)  
Antiguo 17/02/2010, 13:06
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 17 años
Puntos: 25
Pregunta Respuesta: Cantidad de Flores en PHP

mm,m ejecuta esta linea en tu mysql (o phpmyadmin), te da los resultados correctos???

Código PHP:
select from flores INNER JOIN (flores.idflores new_tipos.idFlorwhere flores.idflores 12 
nota: reemplaza el 12 por algun id de flor
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #15 (permalink)  
Antiguo 17/02/2010, 14:14
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

Cita:
Iniciado por hector2c Ver Mensaje
mm,m ejecuta esta linea en tu mysql (o phpmyadmin), te da los resultados correctos???

Código PHP:
select from flores INNER JOIN (flores.idflores new_tipos.idFlorwhere flores.idflores 12 
nota: reemplaza el 12 por algun id de flor
Hector gracias pero no es lo que necesito, el primer ejemplo que me diste es el correcto, lo unico es que no edita
  #16 (permalink)  
Antiguo 17/02/2010, 14:20
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: Cantidad de Flores en PHP

como explica el amigo de esta forma tiene que crearse los campos


Cita:

Id | idFlor | Tipo
1 | 1 | Azucenas
2 | 1 | Orquideas
la idea es sea simple

Cita:

Id | flores1 | flores2 | flores3
1 | Azucenas | Rosas | Orquideas


esto funciona pero no edita

Código PHP:
<?
    $cantidad 
50;
?>
<form action="" method="post">
<? for($i=1$i<=$cantidad$i++){ ?>
<input name="flores<?=$i?>" type="text" value="flores<?=$i?>" /><br>
<? ?>
</form>
al momento de editar sale asi

<form action="" method="post">
<input name="flores1" type="text" value="flores1" />
<input name="flores2" type="text" value="flores2" />
<input name="flores3" type="text" value="flores3" />
</form>

si cambio de esta forma si edita pero ahi ya la numeracion no funciona

<form action="" method="post">
<input name="flores1" type="text" value="<? echo $flores1 ?>" />
<input name="flores2" type="text" value="<? echo $flores2 ?>" />
<input name="flores3" type="text" value="<? echo $flores3 ?>" />
<input name="flores4" type="text" value="<? echo $flores4 ?>" />
<input name="flores5" type="text" value="<? echo $flores5 ?>" />
</form>
  #17 (permalink)  
Antiguo 17/02/2010, 14:53
 
Fecha de Ingreso: enero-2010
Mensajes: 62
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Cantidad de Flores en PHP

algo así?

Código PHP:
 $querycons=mysql_query("SELECT * FROM flores");  

 
$tipos_de_flores =mysql_fetch_array($querycons); 
 echo 
'<select name="tipo_flores">';
     foreach(
$tipos_de_flores as $key => $val)  
        {echo 
"<option value=" $key ">" $val "</option>";}
 echo 
"</select>"
  #18 (permalink)  
Antiguo 17/02/2010, 14:58
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Cantidad de Flores en PHP

Sinceramente aun asi pienso que la manera que te recomende es la mejor, menos lineas de codigo, mas semantica, y muchisima mas logica en la relacion de tablas, y en el futuro te ayudaria muchísimo al darle mantenimiento, pero bueno, espero que tus razones sean de peso para seguir por donde vas

Bueno, solo me queda una solucion

Código PHP:
Ver original
  1. $numero_de_campos = 50;
  2.  
  3. while($row = mysql_fetch_assoc($query)) {
  4.        for($i=1; $i<=$numero_de_campos; $i++) {
  5.               $nameField = 'flores'.$i;
  6.               echo '<input name="flores'.$i.'" type="text" value="'.$row[$nameField].'" />';
  7.        }
  8. }

Esto funciona, y hace lo que quieres, pero te repito, no es por el mejor camino =/
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #19 (permalink)  
Antiguo 17/02/2010, 17:23
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
De acuerdo Respuesta: Cantidad de Flores en PHP

Cita:
Iniciado por Nemutagk Ver Mensaje
Sinceramente aun asi pienso que la manera que te recomende es la mejor, menos lineas de codigo, mas semantica, y muchisima mas logica en la relacion de tablas, y en el futuro te ayudaria muchísimo al darle mantenimiento, pero bueno, espero que tus razones sean de peso para seguir por donde vas

Bueno, solo me queda una solucion

Código PHP:
Ver original
  1. $numero_de_campos = 50;
  2.  
  3. while($row = mysql_fetch_assoc($query)) {
  4.        for($i=1; $i<=$numero_de_campos; $i++) {
  5.               $nameField = 'flores'.$i;
  6.               echo '<input name="flores'.$i.'" type="text" value="'.$row[$nameField].'" />';
  7.        }
  8. }

Esto funciona, y hace lo que quieres, pero te repito, no es por el mejor camino =/
Se que no es el mejor camino y lo que explicas tiene logica, pero me han pedido de esa forma ya que lo tienen programado asi, y programar todo de nuevo ufff toma tiempo tienen mas tablas con otras mas tablas, una ensalada parece, la verdad que el codigo que esta ahi, si funciona pero lo cambie asi.

Código PHP:

<?
    $numero_de_campos 
50;
?>
<form action="" method="post">
<? for($i=1$i<=$numero_de_campos$i++){ 
 
$nameField 'flores'.$i;
?>
<input name="flores<?=$i?>" type="text" value="<?=$$nameField?>" /><br>
<? ?>
</form>
Gracias a todos por su ayuda
  #20 (permalink)  
Antiguo 17/02/2010, 17:26
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: Cantidad de Flores en PHP

Un apunte, no utilices "<?=$variable?>", ya que al parecer en futuras versiones de PHP esto puede dejar de funcionar, PHP recomienda utilizar la estructura original "<?php echo $variable; ?>"
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: cantidad, flores
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 18:58.