Foros del Web » Programando para Internet » PHP »

Como hacer esto en php?

Estas en el tema de Como hacer esto en php? en el foro de PHP en Foros del Web. hola soy nuevo no se si esto bien poner esto. pero me gustaria que alguien me explicara como poner Imagenes de una carpeta por media ...
  #1 (permalink)  
Antiguo 25/03/2012, 16:41
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Como hacer esto en php?

hola soy nuevo no se si esto bien poner esto. pero me gustaria que alguien me explicara como poner Imagenes de una carpeta por media de php... vere si me puedo explicar.

en Mysql tengo unos datos que son estos

6000
6001
6002
6003
6004.....

hazta llegar al 6016, me gustaria que por otro ejemplo

6001 sea una imagen en php y 6002 sea otra imagen, bueno no me se explicar pero algo como esto es lo que quiero



de antemano graxias
  #2 (permalink)  
Antiguo 25/03/2012, 17:54
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Respuesta: Como hacer esto en php?

Y que tal si a cada uno de esos registros en el mysql le agregas una columna "imagen" varchar, y que allí puedas colocar la imagen que deseas que tenga dicha carpeta. Entonces puedes poner por cada registro la imagen que quieras.

Me explico?
Saludos!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #3 (permalink)  
Antiguo 25/03/2012, 18:20
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: Como hacer esto en php?

serviria? si por ejemplo como esto es un mmorpg si un usuario se registra y se crea una clase de nombre Alchemist. tiene la opcion de crear el Homunculus que son los dibujos de arriba. io en base a lo que esta arriba cree el php de esta manera

Código PHP:
<?php
session_start
();
include_once 
'./config.php'// loads config variables
include_once './query.php'// imports queries
include_once './functions.php';

$jobs $_SESSION[$CONFIG_name.'jobs'];

$query sprintf(HOMUNCULUS);
$result execute_query($query"homunculus.php");

opentable($lang['TOP_HOMUNCULUS']);
echo 
"
<table width=\"450\">
<tr>
    <td align=\"right\" class=\"head\">"
.$lang['POS']."</td>
    <td>&nbsp;</td>
    <td align=\"left\" class=\"head\">"
.$lang['NAME']."</td>
    <td align=\"left\" class=\"head\">"
.$lang['HOM_NAME']."</td>
    <td aling=\"center\" class=\"head\">"
.$lang['HOM_CLASS']."</td>
    <td align=\"right\" class=\"head\">"
.$lang['HOM_LEVEL']."</td>
    
</tr>
"
;
$nusers 0;
if (
$result) {
    while (
$line $result->fetch_row()) {
                
$nusers++;
                if (
$nusers 100)
                    break

                
$name $line[4];
                
$class $line[0];
                
$hom_name = ($line[1]);
                
$hom_class = ($line[2]);
                
$hom_level = ($line[3]);
                
                echo 
"    
                <tr>
                    
                    <td align=\"right\">$nusers</td>
                    <td>&nbsp;</td>
                    <td align=\"left\">$class</td>
                    <td align=\"left\">$hom_name</td>
                    <td align=\"center\"><img src=\"homing.php?data=$line[2]\" alt=\"$hom_class\"></td>        
                "
;
                
                echo 
"
                    </td>
                    </td>
                    <td align=\"right\">$hom_level</td>
                    </tr>
                </tr>
                "
;
    }
}
echo 
"</table>";
closetable();
fim();
?>
con eso me da los valores de la imagen de arriba pero para poner las imagenes la verdad no se xD, ya que en las tablas sql tengo esto

CREATE TABLE IF NOT EXISTS `homunculus` (
`homun_id` int(11) NOT NULL auto_increment,
`char_id` int(11) NOT NULL,
`class` mediumint(9) unsigned NOT NULL default '0',
`name` varchar(24) NOT NULL default '',
`level` smallint(4) NOT NULL default '0',
`exp` int(12) NOT NULL default '0',
`intimacy` int(12) NOT NULL default '0',
`hunger` smallint(4) NOT NULL default '0',
`str` smallint(4) unsigned NOT NULL default '0',
`agi` smallint(4) unsigned NOT NULL default '0',
`vit` smallint(4) unsigned NOT NULL default '0',
`int` smallint(4) unsigned NOT NULL default '0',
`dex` smallint(4) unsigned NOT NULL default '0',
`luk` smallint(4) unsigned NOT NULL default '0',
`hp` int(12) NOT NULL default '1',
`max_hp` int(12) NOT NULL default '1',
`sp` int(12) NOT NULL default '1',
`max_sp` int(12) NOT NULL default '1',
`skill_point` smallint(4) unsigned NOT NULL default '0',
`alive` tinyint(2) NOT NULL default '1',
`rename_flag` tinyint(2) NOT NULL default '0',
`vaporize` tinyint(2) NOT NULL default '0',
PRIMARY KEY (`homun_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

aunque agregue blob y suba las imagenes, como podria hacerle para q un usuario se cree dicho personaje(alchemist) y al momento de crear el homunculus(los dibujos que aparecen en la imagen) aparazca la imagen correspondiente a dicho homunculus? es decir es un ranking de q personaje tiene el homunculus con mayor lv

de antemano graxias
  #4 (permalink)  
Antiguo 25/03/2012, 18:42
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Respuesta: Como hacer esto en php?

A ver.
Seria interesante que pudieras describirte a vos mismo el proceso que necesitas, y en base a eso, programarlo.
Es decir.
Que pasa primero? Y luego?
Hasta ahora lo que entiendo es lo siguiente.

Un usuario se registra en el juego, Se crea un personaje y se le asigna una criatura, es correcto?
Las criaturas vienen de la tabla que mencionaste, no es asi?
Como seria tu proceso?
A ver si puedo ayudarte un poco mejor. Tengo una idea, pero preferiria que te explayes un poco más asi no dejamos cabos sueltos.

Saludos!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #5 (permalink)  
Antiguo 25/03/2012, 19:33
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: Como hacer esto en php?

oki graxias mira. te explicare un poco como es esto.

un jugador se registra al juego, al llegar a cierto lv puede elejir entre 8 clases(swordman,thief,mage,merchant,acolite,taekwo ndo,gunslinger,ninja), cuando cumpla cierto lv de nuevo y requisitos pasa a un nuevo nivel dependiendo de la clase que elijio y asi sucesivamente ejemplo:

Knight - Renacer(Novice) - [High]Swordman - Lord Knight - Rune Kight
/
Swordman
\
Cruzader - Renacer(Novice) - [High]Swordman - Paladin - Royal Guard


Assassin - Renacer(Novice) - [High]Thief - Assasssin Cross - Guillotine Cross
/
Thief
\
Rogue - Renacer(Novice) - [High]Thief - Stalker - Shadow Chaser


y asi sucesivamente, hay una clase en particular que se llama merchant y se deriva de esta manera

Blacksmith- Renacer(Novice) - [High]Merchant - Whitsmith - Mecanic
/
Merchant
\
Alchemist- Renacer(Novice) - [High]Merchant - Creador - Genetic

la clase Alchemist tiene la especialidad de crear un Homunculus que vienen siendo esto:



entonces lo que kiero es que en mi tabla me aparezcan los dibujos de arriba, ya que a mi solo me aparece esto



ya que no se como poner que me salgan las imagenes... y tambien si por ejemplo entrara un nuevo usuario y se hace alchemist y crea un homunculus... este aparecera en esta tabla.. cosa que si me sale todo bien hazta la classe del homunculus(foto de ids de arriba) pero solo salen letras y las imagenes pues no se ponerlos xD

saludos de antemano graxias

Última edición por Lordy; 25/03/2012 a las 20:04
  #6 (permalink)  
Antiguo 25/03/2012, 20:09
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Sonrisa Respuesta: Como hacer esto en php?

Esta bien, es muy similar a Lineage II.
Segun la imagen q pegaste, entonces, el jugador "evolucionaria" en esas imagenes segun el nivel, no es asi?

Se me ocurre tener una funcion que verifique el nivel del usuario, y dependiendo de este nivel, que busque en la carpeta la imagen correspondiente.

A ver si me puedo organizar:

Digamos que cada 5 niveles, cambia la imagen.
Se podría hacer, por ejemplo mediante parametros

nivel_clase_especializacion_otroatributo_imagen.jp g

En la posicion 1:
Nivel del personaje

En la posicion 2:
1.... Merchant
2.... Thief
....... etc

En la posicion 3, para Merchant:
a..... Blacksmith
b..... Alchemist
....... etc

En la posicion 3, para Merchant, por ejemplo una especializacion:
1.... Novice
2.... Gran Mercader
...... etc

La imagen de merchant level 1 es:
1_1_a_1_MERCHANT.jpg

La imagen de merchant level 5, y con mejora en la profesion es:
5_1_a_5_MERCHANT.jpg

La imagen de merchant level 9, pero alchemist gran mercader:
9_1_b_2_MERCHANT.jpg

Y asi podes ir jugando con distintos atributos.


Como armas esto?
Cada vez que leveleas al personaje, el mismo tiene una tabla sea de jugador o especial algo similar a esto:



Código MySQL:
Ver original
  1. CREATE TABLE `jugador_leveling` (
  2.  
  3. `idjugador_leveling` INT(10) NULL AUTO_INCREMENT,
  4. `idjugador` INT(10) NULL DEFAULT '0',
  5. `nivel` INT(10) NULL DEFAULT '0',  
  6. `clase` INT(10) NULL DEFAULT '0',  
  7. `profesion` INT(10) NULL DEFAULT '0',  
  8. `atributo1` INT(10) NULL DEFAULT '0',  
  9. `atributo2` INT(10) NULL DEFAULT '0',  
  10. `atributo3` INT(10) NULL DEFAULT '0',  
  11.  
  12. PRIMARY KEY (`idjugador_leveling`) ) COLLATE='latin1_swedish_ci'



Y dps lo recorres cuando invocas los datos del jugador en el while de la tabla que muestra las imagenes usando un JOIN TABLE jugador_leveling (dps revisa bien la sintaxis, yo hice solo referencia)
De ahi tomas los parametros para armar el link, que seria algo asi:


Código PHP:
Ver original
  1. $imagen_pj = $rs_usuario['nivel']."_".$rs_usuario['clase']."_".$rs_usuario['profesion']."_".$rs_usuario['atributo1']."_MERCHANT.jpg";

Y listo!
Dps te queda programar y armar las imagenes usando estas coordenadas.
De todas formas, esto es una referencia. Modificala a tu gusto :)

Saludos!
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #7 (permalink)  
Antiguo 25/03/2012, 20:39
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: Como hacer esto en php?

oki graxias solo q.. no se como hacerlo.. eh hecho varios rankings de eso de las clases o jobs del juego.. pero tomo como base ejemplos que vienen en un programa que se llama Ceres Control Panel pero la verdad no sabria como llamar esa funcion que me dices y que lea los datos xD
  #8 (permalink)  
Antiguo 25/03/2012, 20:51
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Respuesta: Como hacer esto en php?

Okis :)

Primero que nada.
Has entendido la logica de lo que se deberia hacer?
Podrias explicarme lo que te he dicho?

Ahora mismo no puedo pasarte un ejemplo, ya que estoy con un desarrollo, pero de a poquito vamos viendo si puedes solucionarlo solo.

La idea es hacer una consulta a la base de datos, y mediante un while ir "armando" las imagenes

por ejemplo, tienes la tabla donde linea a linea iras mostrando los datos de los jugadores, no es asi?

tabla:

nombre_jugador | nivel | personaje o clase | imagen

si?


El while seria:


Código PHP:
Ver original
  1. <table width="100%" border="0" cellpadding="10">
  2.   <tr>
  3.     <td>jugador</td>
  4.     <td>nivel</td>
  5.     <td>otros_datos</td>
  6.     <td>imagen</td>
  7.   </tr>
  8. <?PHP
  9. while ($rs_usuario = mysql_fetch_assoc($resultados_consulta_usuario)){
  10. $imagen_pj = $rs_usuario['nivel']."_".$rs_usuario['clase']."_".$rs_usuario['profesion']."_".$rs_usuario['atributo1']."_MERCHANT.jpg";
  11. ?>
  12.  
  13.   <tr>
  14.     <td><?PHP echo $rs_usuario['nombre_de_jugador']; ?></td>
  15.     <td><?PHP echo $rs_usuario['nivel']; ?></td>
  16.     <td>mas columnas si necesitas mas datos</td>
  17.     <td><img src="<?PHP echo $imagen_pj; ?>" /></td>
  18.   </tr>
  19. <?PHP
  20. }
  21. ?>
  22. </table>


Nota que estoy repitiendo la linea por cada jugador.
O sea, si hay 100 jugadores, se repetirá 100 veces esa linea, y luego cerrará la tabla.

Verás tu luego de paginarlo por ejemplo.



Saludos!




NOTA:
La terminacion en la imagen
Código HTML:
Ver original
  1. ."_MERCHANT.jpg
no es necesaria.
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio

Última edición por daenor; 25/03/2012 a las 20:53 Razón: Agregado de nota
  #9 (permalink)  
Antiguo 25/03/2012, 21:02
 
Fecha de Ingreso: diciembre-2004
Mensajes: 197
Antigüedad: 19 años, 4 meses
Puntos: 1
Respuesta: Como hacer esto en php?

Ah, pero de todas formas, recien aparece la ultima imagen que mostrabas.

Bueno, es lo mismo, pero ya tienes la codificacion armada! (Antes o no aparecian o ahora lo has editado :P)
No tengas en cuenta lo que he dicho hasta ahora, y lee esto


Por ejemplo,
Donde dice "6003" has lo siguiente, utiliza el 6003 como codificacion de la imagen, asi:



Código PHP:
Ver original
  1. $imagen_pj = $rs_id_homo['homun_id']."jpg"; // teniendo en cuenta que por ejemplo en este caso puede ser 6003
  2. <img src="rutadelaimagen/<?PHP echo $imagen_pj; ?>" / >

Eso generará un HTML asi:

Código HTML:
Ver original
  1. <img src="rutadelaimagen/6003.jpg" / >
__________________
Diseñador y Desarrolador en Proyecto81 WebStudio
  #10 (permalink)  
Antiguo 25/03/2012, 22:22
 
Fecha de Ingreso: marzo-2012
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: Como hacer esto en php?

bueno te dire mas o menos como es que me dan los resultados ya que eso de 6003 no lo pongo.. se pone automaticamente, bueno empecemos...

tengo un documento que se llama homunculus.php que esta conformada por esto.
Código PHP:
<?php
session_start
();
include_once 
'./config.php'// loads config variables
include_once './query.php'// imports queries
include_once './functions.php';

$jobs $_SESSION[$CONFIG_name.'jobs'];

$query sprintf(HOMUNCULUS);
$result execute_query($query"homunculus.php");

opentable($lang['TOP_HOMUNCULUS']);
echo 
"
<table width=\"450\">
<tr>
    <td align=\"right\" class=\"head\">"
.$lang['POS']."</td>
    <td>&nbsp;</td>
    <td align=\"left\" class=\"head\">"
.$lang['NAME']."</td>
    <td align=\"left\" class=\"head\">"
.$lang['HOM_NAME']."</td>
    <td aling=\"center\" class=\"head\">"
.$lang['HOM_CLASS']."</td>
    <td align=\"right\" class=\"head\">"
.$lang['HOM_LEVEL']."</td>
    
</tr>
"
;
$nusers 0;
if (
$result) {
    while (
$line $result->fetch_row()) {
                
$nusers++;
                if (
$nusers 100)
                    break

                
$name $line[4];
                
$class $line[0];
                
$hom_name = ($line[1]);
                
$hom_class = ($line[2]);
                
$hom_level = ($line[3]);
                
                echo 
"    
                <tr>
                    
                    <td align=\"right\">$nusers</td>
                    <td>&nbsp;</td>
                    <td align=\"left\">$class</td>
                    <td align=\"left\">$hom_name</td>
                    <td align=\"center\"><img src=\"homing.php?=$line[2]\" alt=\"$hom_class\"></td>        
                "
;
                
                echo 
"
                    </td>
                    </td>
                    <td align=\"right\">$hom_level</td>
                    </tr>
                </tr>
                "
;
    }
}
echo 
"</table>";
closetable();
fim();
?>

Esto se refiere a las tablas que aparecen aki
Código PHP:
<td align="right\" class=\"head\">".$lang['POS']."</td>
    <td>&nbsp;</td>
    <td align=\"left\" class=\"head\">"
.$lang['NAME']."</td>
    <td align=\"left\" class=\"head\">"
.$lang['HOM_NAME']."</td>
    <td aling=\"center\" class=\"head\">"
.$lang['HOM_CLASS']."</td>
    <td align=\"right\" class=\"head\">"
.$lang['HOM_LEVEL']."</td> 



Esto de aqui.
Código PHP:
if ($result) {
    while (
$line $result->fetch_row()) {
                
$nusers++;
                if (
$nusers 100)
                    break

                
$name $line[4];
                
$class $line[0];
                
$hom_name = ($line[1]);
                
$hom_class = ($line[2]);
                
$hom_level = ($line[3]); 
representa al resultado que me dara aki



si modifico donde dice: " $hom_level = ($line[3]); " y le pongo " $hom_level = ($line[4]); " automaticamente se borrara todo lo que esta en el dibujo de arriba. esto es por que este archivo lee el archivo query.php, como se indica al inicio del php.

Código PHP:
session_start();
include_once 
'./config.php'// loads config variables
include_once './query.php'// <======== aki esta haciendo un llamado al archivo query.php
include_once './functions.php'
en query agregue esto para que me diera estos resultados.

Código PHP:
//Ranking Homunculus
DEFINE('HOMUNCULUS'"SELECT `char`.`name`, `homunculus`.`name`, `homunculus`.`class`, `homunculus`.`level`, `homunculus`.`char_id`, `homunculus`.`intimacy`, `char`.`char_id` FROM `homunculus`,`char` WHERE `homunculus`.`char_id` = `char`.`char_id` ORDER BY `level` DESC, `intimacy` DESC LIMIT 0, 100"); 
y de donde lee los resultados?? bueno esto los lee de MySql de la habla CHAR Y HOMUNCULUS que tengo en MySql. ya que dice que selecciona name y char_id de la tabla Char y name,class,level,char_id,intimacy de la tabla homunculus.. no se si es muy confuso xD. ahora donde dice.

Código PHP:
<tr>
                    
                    <
td align="right\">$nusers</td>
                    <td>&nbsp;</td>
                    <td align=\"left\">$class</td>
                    <td align=\"left\">$hom_name</td>
                    <td align=\"center\"><img src=\"homing.php?=$line[2]\" alt=\"$hom_class\"></td>        
                "

aki es donde se dan pegan los resultados si vez donde dice

Código PHP:
<td align="center\"><img src=\"homing.php?=$line[2]\" alt=\"$hom_class\"></td> 
hago una llamada a homing.php esto para no tenerlo aki y hacerlo en un documento nuevo $line[2] para que lea donde dice hom_class y se pongan las imagenes ya que le puse img src=\. bueno el detalle es que en homing.php no se me ocurre como ponerle para que al momento de poner las id como habia dicho hace rato 6001 y eso, se conviertan en imagenes mi idea es algo como esto pero no se si exista.

<img src= 6001 entonces se pondra la imagen de la ruta que seria "images/hom" y me tendria que leer el archivo 6001.gif que la que le corresponde a esa id>

<img src= 6002 entonces se pondra la imagen de la ruta que seria "images/hom" y me tendria que leer el archivo 6002.gif que la que le corresponde a esa id>

no se si me explique mas o menos o si te confundi D: sorry xD

saludos de antemano graxias

Etiquetas: imagenes, mysql
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 20:19.