Foros del Web » Programando para Internet » PHP »

Problema con interpretación de variable php

Estas en el tema de Problema con interpretación de variable php en el foro de PHP en Foros del Web. veamos como el manual dice que si doy elogios me ayudan más entonces ahí les va.. Una pregunta para los mejores programadores del mundo que ...
  #1 (permalink)  
Antiguo 13/03/2012, 00:27
Avatar de ximages  
Fecha de Ingreso: marzo-2012
Ubicación: San Jose
Mensajes: 28
Antigüedad: 12 años, 1 mes
Puntos: 0
Problema con interpretación de variable php

veamos como el manual dice que si doy elogios me ayudan más entonces ahí les va..
Una pregunta para los mejores programadores del mundo que solo se encuentran en foros del web... Bueno al grano.

Estoy creando un upload de imagenes que contiene una base de datos con 3 pequeñas tablas.

1. config: guarda el titulo del sitio, mas el path url del sitio etc.
2. he aqui el dilema inicia: la tabla image_type... aqui solo tengo 2 columnas "Id" "type" // en esta tabla defino solo las extenciones de las imagenes que quiero aceptar como veremos a continuación....

Código PHP:
// PREGUNTA SI LA TABLA IMAGE TYPE EXISTE, EN CASO DE SI LA VACIA
mysql_query('DROP TABLE IF EXISTS image_type');
// CREA LA TABLA QUE CONTENDRÁ LOS TIPOS DE IMAGEN
mysql_query("CREATE TABLE IF NOT EXISTS image_type (
 Id INT(11) NOT NULL AUTO_INCREMENT,
 type VARCHAR(90) NOT NULL DEFAULT '',
 PRIMARY KEY (Id)
 )"
)
 or die(
mysql_error());
 echo 
'</span>';
$type_i "INSERT INTO image_type ( Id, type ) VALUES 
(1, 'jpeg'),
(2, 'jpg'),
(3, 'png'),
(4, 'gif'),
(5, 'tiff'),
(6, 'ico'),
(7, 'bmp'),
(8, 'psd');
 "
//INSERTA LOS VALORES DE TIPOS DE IMAGEN
mysql_query ($type_i$connect_db) or die (mysql_error());
// FINALIZA LA CREACION DE LA TABLA DE IMAGE_TYPE 
hasta ahi todo bien ahora el gran problema es que cuando quiero llamar estas extenciones al archivo php no se como hacerlo... les explico lo ultimo y espero respuestas.

Código PHP:
  $ext = array("bmp","gif","jpg","png","JPG"); 
esa es la variable escrita manualmente.. y a continuacion cuando la ejecuto:

Código PHP:
 if(array_search($extimagen['extension'],$ext)){} else {} 
lo que yo quiero es que en vez de escribir los valores manualmente en $ext solo tenga que incluir otra variable que tome la información desde la tabla correspondiente.

en otras palabras quiero que quede algo asi:

Código PHP:
  $ext = array($toma_extenciones_de_la_tabla_image_type); 
espero haberme explicado bien... ya he intentado hacerlo con while y otras cosas pero no lo consigo :S
  #2 (permalink)  
Antiguo 13/03/2012, 00:29
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problema con interpretación de variable php

Selecciona los valores de la tabla con una query y guardalos en un array. Consulta un tutorial de PHP: https://www.google.com/search?client...w=1440&bih=701
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 13/03/2012, 00:38
Avatar de ximages  
Fecha de Ingreso: marzo-2012
Ubicación: San Jose
Mensajes: 28
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problema con interpretación de variable php

alguien con alguna respuesta mejor explicada o que ayude mas, por favor?
Si me van a mandar a buscar tutoriales como el anterior mejor no respondan, para eso tengo mi enciclopedia de php5 pero no encuentro la respuesta ahi xD o almenos no que yo entienda jajaja.. Help Please
  #4 (permalink)  
Antiguo 13/03/2012, 04:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 19
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Problema con interpretación de variable php

No pues si no sabes que es un array si deberias de ir a buscar tutoriales.. =)
  #5 (permalink)  
Antiguo 13/03/2012, 06:03
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Problema con interpretación de variable php

Nada, no te preocupes.

Te doy una respuesta mejor explicada, y sin tutoriales!

Selecciona los valores de la tabla con una query (consulta) y guardalos en un array.





Espero que te haya servido. Un saludo! :)
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 13/03/2012, 10:41
Avatar de ximages  
Fecha de Ingreso: marzo-2012
Ubicación: San Jose
Mensajes: 28
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problema con interpretación de variable php

Cita:
Iniciado por Eleazan Ver Mensaje
Nada, no te preocupes.

Te doy una respuesta mejor explicada, y sin tutoriales!

Selecciona los valores de la tabla con una query (consulta) y guardalos en un array.


Espero que te haya servido. Un saludo! :)
Gracias por tu ayuda pero me vendría genial un ejemplo xD... Disculpa mi ignorancia se debe a que estoy aprendiendo :D


OK te doy los datos de las tablas para que me ayudes si gustas:

como ejemplo daremos nombre a la base de datos: "dbupload"

La tabla que contiene los tipos de formatos es: "image_type" y sus columnas son: "Id" y [COLOR="rgb(139, 0, 0)"]"type"[/COLOR]


explícame como guardo los valores de la tabla en el array xD he buscado ejemplos en google pero no encuentro algo entendible para un aprendiz...


la idea es que despues de guardarlos en el array los imprima a traves de la variable $types

Gracias :D
  #7 (permalink)  
Antiguo 13/03/2012, 12:21
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Problema con interpretación de variable php

Del primer resultado de la búsqueda de repara2:

[Leer resultados mysql - básico]
http://www.programacion.com/articulo...hp_y_mysql_7/4

[Leer resultados en bucles]
http://www.programacion.com/articulo...hp_y_mysql_7/5

Sólo tenías q leer un poco. Sí, es una crítica. Repara2 te habia dado la solución... si quieres algo en esta vida, (o en programación), lo primero que debes saber hacer es buscarlo tú solo, y luego, si no encuentras la solucion a tu problema, venir aqui con un problema concreto, no queriendo q te hagamos todo el trabajo.

¿Y que es lo q queria repara2? Q aprendieras a usar PHP con MySQL... ¿Pq? No nos cuesta "nada" decirte "Así" y ponerte el código, pero con eso no aprenderías nada. A los 10 minutos estarías aqui con otro problema, y no aprenderías a resolverlos tú solo. Entonces, ¿q prefieres? ¿un trozo de código? ¿o una explicacion de como relacionar php con mysql? Esto último es lo q te estaba dando repara2.

Yo sigo más o menos su misma política, segun vea la pregunta, doy código, una función, o un tutorial. A ti, lo q te hace falta es el tutorial.

No te lo tomes a mal
Un saludo!

PD: Igualmente, cualquier duda, puedes ponerla!
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 13/03/2012, 17:28
Avatar de ximages  
Fecha de Ingreso: marzo-2012
Ubicación: San Jose
Mensajes: 28
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problema con interpretación de variable php

NO quiero que me hagan todo el trabajo.....
Por almenos tu sabes que buscar yo no sabia que buscar exactamente, asi que como vas a buscar algo si no sabes que es o que buscar??????? ¿ilogico no?

Lo que me pasaste en los links me lo se de memoria.. pero no es eso lo que no puedo hacer
mira ejemplo..

Cuando coloco el echo con $types: me imprime la cadena de filas que tengo en la tabla

ejemplo a $types le asigno los valores y listo coloco el echo y me muestra los valores. ej: "png", "jpg", etc..
pero cuando lo coloco types dentro de:

$ext = array($types); no interpreta :S osea la idea es que a la hora que interpretará lo traduciera como esto: $ext = array ("png", "jpg", "gif"); etc...

Bueno si alguien ve que me puede ayudar y Explicarme como se realiza el código.. estoy dispuesto a leer

Aclaro: No puedes aprender matemáticas si primero no te escriben en el pizarron (1+1=2) y te explican cada uno de los valores y como se aplica...

Si ven que no pueden ayudarme por favor cierren el tema que busco en otro lado alguien que tenga la paciencia para explicarme.. Les agradezco a todos

Última edición por ximages; 13/03/2012 a las 17:41
  #9 (permalink)  
Antiguo 14/03/2012, 02:16
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Problema con interpretación de variable php

Cita:
Iniciado por ximages Ver Mensaje
Lo que me pasaste en los links me lo se de memoria.. pero no es eso lo que no puedo hacer
Veamos. Según entendí, tu `problema` es que no sabes cómo obtener en una variable los "tipos" de una tabla de tu bbdd.... Es decir, de la tabla SQL image_type quieres obtener los valores de type

¿Es así? ¿Te he entendido bien?
__________________
>> Eleazan's Source
>> @Eleazan
  #10 (permalink)  
Antiguo 14/03/2012, 13:34
Avatar de ximages  
Fecha de Ingreso: marzo-2012
Ubicación: San Jose
Mensajes: 28
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problema con interpretación de variable php

No... eso si lo se hacer :S

te voy a dejar un ejemplo de lo que intento a ver que estoy haciendo mal :S
Código PHP:
<?php require_once('core/config.php'); ?>
<?php 
$sql3
="SELECT * FROM image_type ORDER BY Id";
$sql4=mysql_query($sql3);
{
?>
<?php  
// AHORA PROCEDO A LLAMAR EL CAMPO TYPE
    
while ($db2=mysql_fetch_array($sql4)) {
       
$format $db2['type']; // FORMAT ES IGUAL AL LAS FILAS DE LAS COLUMNA TYPE

echo $format// AQUI EL ME IMPRIME LOS VALORES DE LA FILA CORRECTAMENTE

// AQUI VIENE LO QUE NO PUEDO HACER
// ACTUALMENTE ADMINISTRO LOS TIPOS DE EXTENSIÓN MANUALMENTE A TRAVES DE UN ARRAY.. TE MUESTRO A CONTINUACIÓN.

$ext = array ("jpg""png","gif"); // esta es la forma manual de definir extensiones luego le doy un if asi.

if(array_search($extimagen['extension'],$ext)){
}
else {
}

// Pero lo que yo quiero hacer es que: en vez de esta linea $ext = array ("jpg", "png","gif");

//yo pueda hacerlo asi: 
$ext = array ($format); // y que tome las extensiones que defino en la tabla.

//pero cuando lo hago me da error o solo me muestra el ultimo valor :S
// osea mi problema no es conectar con la db o la tabla. es que no logro que la variable $ext tome las extensiones asignadas a $format


?>

<?php }?>

Si alguno gusta me puede agregar a skype: soporte.susitio les estará muy agradecido :D (Nota: no se preocupen xD no los estaré molestando cada momento con preguntas :P)
  #11 (permalink)  
Antiguo 14/03/2012, 14:02
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Problema con interpretación de variable php

1. Colocas demasiadas etiquetas de apertura y cierre de php (<?php) sin sentido, lo cual entorpece la lectura de tu código.


2. Si entendí bien, quieres tener dentro de $ext un arreglo con la lista de extensiones válidas, sin embargo, dicha lista que tienes en $format la obtienes de la base de datos, y por tanto, dicha lista NO es un arreglo, por lo cual falla. Si en la bd tienes la lista de extensiones separada por comas (digamos jpg,png,gif) no significa que sea un arreglo, si no una cadena. Para pasarla a arreglo la debes partir, supongo que donde tienes
$format = $db2['type'];
podrías hacer $format = explode(',',$db2['type']);
dependiendo de cómo esté formada la cadena dentro de $db2['type']
  #12 (permalink)  
Antiguo 14/03/2012, 15:10
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Problema con interpretación de variable php

Más fácil aún:

Código PHP:
while ($db2=mysql_fetch_array($sql4)) { 
       
$format[] = $db2['type']; //Así guardas esa info en un ARRAY directamente... en su posicion numerica (0,1,2,3,4,5) q primero esté libre! ;) 
Y $format sería lo q manualmente creas como $ext ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #13 (permalink)  
Antiguo 14/03/2012, 15:13
Avatar de ximages  
Fecha de Ingreso: marzo-2012
Ubicación: San Jose
Mensajes: 28
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problema con interpretación de variable php

Cita:
Iniciado por ocp001a Ver Mensaje
1. Colocas demasiadas etiquetas de apertura y cierre de php (<?php) sin sentido, lo cual entorpece la lectura de tu código.


2. Si entendí bien, quieres tener dentro de $ext un arreglo con la lista de extensiones válidas, sin embargo, dicha lista que tienes en $format la obtienes de la base de datos, y por tanto, dicha lista NO es un arreglo, por lo cual falla. Si en la bd tienes la lista de extensiones separada por comas (digamos jpg,png,gif) no significa que sea un arreglo, si no una cadena. Para pasarla a arreglo la debes partir, supongo que donde tienes
$format = $db2['type'];
podrías hacer $format = explode(',',$db2['type']);
dependiendo de cómo esté formada la cadena dentro de $db2['type']

1. Excelente.. Gracias por tu consejo sobre las etiquetas php son errores de un aprendiz.. te lo agradezco trataré de corregir eso.

2. La cadena la tengo forma dentro de $db2['$type']; de la siguiente forma

si yo hiciera esto: echo $db2['$type']; la impresion según como estan el la db seria así: jpgpnggifpdfico etc.. todo pegado sin separación de comas ni comillas ... ademas cada valor corresponde a una fila es decir: F1 - jpg F2 - png F3 -gif... etc.

weno vere que puedo hacer talvez si redusco las etiquetas como me dices se me haga mas facil solucionar esto.. ya he utilizado explode(); pero lo intentare otra vez. gracias.. si alguien tiene alguna otra ayuda soy todo ojos :P
  #14 (permalink)  
Antiguo 14/03/2012, 15:41
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Problema con interpretación de variable php

si no tienen ningún carcater separador necesias partir por tamaño, prueba con str_split()
  #15 (permalink)  
Antiguo 15/03/2012, 22:37
Avatar de ximages  
Fecha de Ingreso: marzo-2012
Ubicación: San Jose
Mensajes: 28
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Problema con interpretación de variable php

Eleazan y ocp001a Recontra gracias me salvarón la vida "Literalmente" :P lo conseguí, sin embargo tengo un pequeño fallo xD

La tabla image_type tiene en este momento 8 filas... el ultimo de ellos
es la fila que contiene la extención psd

resulta que ahora no me reconoce la extención de la ultima fila xD

les muestro el codigo:
Código PHP:
 <?php
error_reporting
(0);
while (
$r2=mysql_fetch_array($ti2)) { 
       
$ext[] = $r2['type'];
        
// GUARDO LOS VALORES EN UN ARRAY
           
}
if(
array_search($extimagen['extension'],$ext)) //LO LLAMO A TRAVES DE $EXT 
?>
Ese es

resulta que todo esta funcionando genial la variable $ext me esta reconociendo 7 de los 8 tipos de extencion... ya probe añadi 4 extenciones mas en la tabla y siempre deja por fuera a la que este de ultima xD....

Busque un poco mas de info sobre arrays en google y lei un poco en mis libros pero por el echo de ser novato hay cosas que no entiendo... XD

Bueno gracias y espero ayuda :)

Última edición por ximages; 15/03/2012 a las 22:54

Etiquetas: imagenes, mysql, sql, tabla, variables
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 13:19.