Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Crear variables de forma dinamica (https://www.clubdelphi.com/foros/showthread.php?t=27561)

papulo 24-11-2005 11:07:03

Crear variables de forma dinamica
 
Lo se, el titulo no tiene comprension alguna, pero ahora me explicare en mayor detalle.

Estoy tratando de rellenar de forma dinamica una serie de variables distribuidas por una maqueta de pagina web. Mas o menos, lo que quiero es que si en un if anidado dentro de un while se cumple la primera condicion (irrelevante cual es), automaticamente cargue el valor en la primera variable $titulo1. Al repetir el if, si se cumple la primera condicion otra vez, cargue dicho valor en $titulo2. Lo mismo quiero que pase en el caso de que se cumpla el else, pero con los campos $apartado1, $apartado2, $apartado3...


Por supuesto, todo esto es en PHP, y el resto de las cosas estan resueltas, solo me falta este pequeño paso, que por inexperiencia, no se como afrontarlo.

Un abrazo desde la esperanza.

Papulo.

kayetano 24-11-2005 14:35:31

Hola

Lo mas facil para tu problema es un array titulo[1], titulo[2] , ... con esto tu problema esta solucionado.

Que por narices tienen que ser variables (por lo general la programación es muy flexible y se puede interpretar de muchas formas) se pueden generar variables dinamicas como tu dices de la siguiente forma
Código PHP:

<?
    $x 
1;
    
$titulo "titulo".$x;
    $
$titulo 8;
    echo 
$titulo1;
?>

Si creas una variable (en ejemplo $titulo) con un texto, en nuestro caso "titulo1" (por el valor 1 de $x) y despues haces referencia a esa variable ($$titulo) con un doble dolar $$ lo que consigues es crear una nueva variable con el nombre contenido ($titulo1) y con el valor que le hemos asignado.

Aunque es posible hacer lo que tu pides, te aconsejo que utilices el array, es mas facil de utilizar.

papulo 24-11-2005 16:12:48

Gracias por la respuesta. Ahora mismo miro como implementar la solucion con arrays. Es culpa de mi inexperiencia que buscara las variables, pero creo que con la idea de arrays me apañare perfectamente.

Cuando tenga la solucion la posteo inmendiatamente.:D

papulo 24-11-2005 17:39:20

Aqui va una solucion completa para sacar los valores de una consulta, analizarlos e insertarlos en una tabla en funcion de los parametros que tu quieras.

La consulta es sobre una base de datos en FIREBIRD, usando PHP y el programa NVU para hacer la pagina e insertarle el codigo en PHP de la forma mas sencilla jamas parida.

Código PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
   http-equiv="content-type">
    <title>phpapi&ntilde;on</title>
  </head>
  <body style="width: 223px; height: 288px;">
  <?php $host 'Dev1:d:/Web/DATAWEB.GDB';
  
$username 'sysdba'//Es el que sale por defecto, pero recomiendo cambiarlo
  
$password 'pikachu';//Pos va a ser que este no es.
  
$dbh ibase_pconnect ($host$username$password $base_charset'UNICODE_FSS');
  
$sql='SELECT * FROM PRUEBAS';
  
$consulta ibase_query($dbh$sql);
  
$t=1;
  
$a=1;
  while (
$fila ibase_fetch_object ($consulta))
  {
  if (
$fila->STATUS<0)
  {
  
$titulo[$t] = $fila->APELLIDOS;
  ++
$t;
  }
  else {
  
$apartado[$a]=($fila->NOMBRE);
  ++
$a;
  }
  }
?>
  <table style="text-align: left; height: 269px; width: 295px;"
   border="1" cellpadding="2" cellspacing="2">
    <tbody>
      <tr>
        <td colspan="2"
   style="height: 64px; font-weight: bold; width: 285px;"><?php echo $titulo[1];?></td>
      </tr>
      <tr>
        <td style="height: 64px; width: 285px;" colspan="1"><?php echo $apartado[1];?></td>
        <td style="height: 64px; width: 50%;"><php
   title="echo $apartado11;"></php><?php echo $apartado[2];?></td>
      </tr>
      <tr>
        <td colspan="2"
   style="height: 64px; font-weight: bold; width: 285px;"><?php echo $titulo[2];?></td>
      </tr>
      <tr>
        <td style="height: 65px; width: 285px;"><?php echo $apartado[3];?></td>
        <td style="height: 65px; width: 140px;"><?php echo $apartado[4];?></td>
      </tr>
    </tbody>
  </table>
  </body>
  </html>

Gracias por la idea del array, espero haberla aplicado como seria correcto, en caso de fallo gordo dadme un toque, pero creo que utilizare este esquema para ir mostrando los datos en las distintas paginas.

Un saludo agradecido.

Papulo.:p


La franja horaria es GMT +2. Ahora son las 21:03:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi