Foros del Web » Programando para Internet » PHP »

escribe "array"

Estas en el tema de escribe "array" en el foro de PHP en Foros del Web. Saludos... Pues resulta que tengo el siguiente combox en php, llamado desde una base de datos: Código PHP: ? php  for ( $y  =  1 ;  ...
  #1 (permalink)  
Antiguo 25/07/2008, 04:34
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
escribe "array"

Saludos...

Pues resulta que tengo el siguiente combox en php, llamado desde una base de datos:

Código PHP:
?php 
for ($y 1$row mysql_fetch_row($resultado); ++$y)     
{ echo 
"\t<option value=\"'$row[0]'\">$row[0]</option>\n";

?> 
En la página puedo seleccionar la información sin ningún problema y se leen perfectamente los valores. Desafortunadamente en la base de datos MySQL no me incluye los valores, solo me incluye la palabra "array".

Cuál podría ser la solución a este problemilla?

Gracias por vuestra ayuda.
__________________
Andrew :P
  #2 (permalink)  
Antiguo 25/07/2008, 05:29
 
Fecha de Ingreso: mayo-2007
Ubicación: Valencia
Mensajes: 13
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: escribe "array"

Prueba a cambiar el echo por esto:

echo "\t<option value=\".$row[$y].\">$row[$y]</option>\n";

No pongas cero, pon $y pq sino siempre te saldra el primer valor que lea de la base de datos. Fijate que en un echo con "" las variables ($row[...]) deben ir parseadas con un punto (.)

Saludos,
Victor.
  #3 (permalink)  
Antiguo 25/07/2008, 05:46
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: escribe "array"

Xelavi gracias por tu respuesta.

De hecho el problema es al entrar los datos en la base de datos, no me imprime los valores y solo me imprime la palabra 'array'.

Lo que me has aconsejado me trae, precisamente, el primer valor de los datos de la BD y no la lista completa. La lista completa en el combox la tengo y la leo bien, lo que no puedo conseguir es guardarlas en mi BD.

Saludos!
__________________
Andrew :P
  #4 (permalink)  
Antiguo 25/07/2008, 05:57
 
Fecha de Ingreso: mayo-2007
Ubicación: Valencia
Mensajes: 13
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: escribe "array"

Puedes copiar y pegar aquí las sentencias de insercion en la base de datos?? asi vemos que ocurre exactamente...

Saludos.
  #5 (permalink)  
Antiguo 25/07/2008, 06:07
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: escribe "array"

Xelavi,

La sentencia es la típica INSER INTO `database`(`loquesea`) VALUES (`$esto`);

De hecho antes de ingresarla imprimolas variables en la pantalla y es cuando puedo verificar que no me trae los valores y que tan solo me trae el valor "array".

De hecho, no sé por qué todo lo que contiene _POST['datos[]']; no deja que imprima sus valores al final, solo imprime la palabra array.

Creo que el problema es esos corchetes en negrita, pero no los puedo eliminar porque no me trae más que un valor.
__________________
Andrew :P
  #6 (permalink)  
Antiguo 25/07/2008, 06:25
 
Fecha de Ingreso: mayo-2007
Ubicación: Valencia
Mensajes: 13
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: escribe "array"

Vamos a ver... el combobox tendra un nombre (<select name="combo"> por ejemplo)

para recuperar el valor que estas poniendo en el combo deberás hacer un _POST[] como bien haces, pero de la siguiente forma:

$valor_del_combo = $_POST['combo']:

Fijate que pongo el nombre del combo entre comillas, si pones una variable array (datos[]) es normal que te salga como valor la palabra Array ya que esta vacio...
  #7 (permalink)  
Antiguo 25/07/2008, 07:36
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: escribe "array"

prueba con algo asi

Código PHP:
     for ( $i=$i++ ) {
        
$ing_itm INSERT INTO `database`(`loquesea`) VALUES (`$esto`);
         
$ret db_query($ing_itm) or die(db_error());
     } 
saludos
  #8 (permalink)  
Antiguo 25/07/2008, 08:28
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: escribe "array"

Que tal andrewp, primero que todo checa que la consulta con la cual poblas el select este correcta, prueba de esta forma para llenar el select:
Código PHP:
<?php
echo "<select name = 'seleccion'>";  
while( 
$row mysql_fetch_row($resultado)){ 
echo 
"\t<option value=\$row[0]\>$row[0]</option>\n"; }  
echo 
"</select>";?>
Ahora como estas rescatando el valor del select en la página donde realizas la rutina de INSERT?, verifica que la consulta este correcta.

Otra cosa porque dices que no puedes eliminar los corchetes puesto que no te traerá mas que un valor?, acaso es un multiselect?, verifica todo esto.


Saludos.
  #9 (permalink)  
Antiguo 25/07/2008, 09:20
Avatar de Fogox  
Fecha de Ingreso: abril-2008
Mensajes: 59
Antigüedad: 16 años
Puntos: 0
Respuesta: escribe "array"

tira un var_dump($row);
salute
  #10 (permalink)  
Antiguo 28/07/2008, 06:03
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: escribe "array"

Muchas greacias por vuestros comentarios. Han sido de gran utilidad para solucionar el problema del array. De hecho he tomado parte de lo que escribisteis y he modificado una función en la cabecera de mi php. Con esto y con un 'implode' ahora puedo ver y escribir las variables en mi base de datos.

Saludos y gracias nuevamente por vuestra ayuda
__________________
Andrew :P
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 00:56.