Foro oficial de PHP

ahora a pensar como hacer para un texto largo...... o leer desde archivo o una consulta de mysql... mmm q locura la mia pero bueno a trabajar se dijo
y si tenes algo mas que aportar se te agradece mucho
 
Sí, para varias letras, haces un explode

Código:
$texto = explode("",$texto);

foreach ($texto as $caracter) {
    echo "& #38;& #35;".ord($caracter)."& #59;";
}

sin los espacios después del &.
 
PHP:
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Hello!</title>
</head>

<body>

<?php
$texto1="Hello World!!";

$texto = explode($texto1);

foreach ($texto as $caracter) {
   echo "& #38;& #35;".ord($caracter)."& #59;";
}

?>

</body>

</html>
haber que tengo malo amigo por que mira lo que me saca


PHP Warning: Wrong parameter count for explode() in C:\Program Files\DSV PHP Editor\edtmp\123temp.php on line 15 PHP Warning: Invalid argument supplied for foreach() in C:\Program Files\DSV PHP Editor\edtmp\123temp.php on line 17
 
Cierto, y que tal

Código:
for ($i=0; $i < strlen($texto); $i++) {
    echo "& #38;& #35;".ord($texto[$i])."& #59;";
}
 
aha
PHP:
& #72;& #101;& #108;& #108;& #111;& #32;& #87;& #111;& #114;& #108;& #100;& #33;& #33;

y bueno ya tengo lo que queria ya es cosa de mirar como leer desde un txt
amigo se te agradece
 
PHP:
esa idea me salio de ver un sitio web q manejaba asi su source era una pagina de letras que las letras las pintaba asi buena idea para q se les dificulte a usuario comun en copiar las letras....

en fin quedaron asi por si a alguien le sirve


Este las convierte solamente
pdta: eliminar el espacio que hay entre &y#
PHP:
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Hello!</title>
</head>

<body>

<?php
$texto="Gello World!!";
echo $texto;
for ($i=0; $i < strlen($texto); $i++) {
    echo "& #38;& #35;".ord($texto[$i])."& #59;";
}


?>

</body>

</html>

y este la convierte y la toma como caracter normal
pdta: eliminar el espacio que hay entre &y#
PHP:
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Hello!</title>
</head>

<body>

<?php
$texto="0ark1ang3l";
echo $texto;
for ($i=0; $i < strlen($texto); $i++) {
  echo "& #".ord($texto[$i]).";";
}
?>

</body>
</html>

gracias amigo ya con esto puedo usar para hacer codigo "encriptado"
 
Obtener array de otro array

Tengo una variable $listado que tiene el siguiente contenido: (print_r + PRE)
Código:
Array
(     [0] => ProductoVO Object    
     (             [idProducto] => 1       
                   [idCategoria] => 3   
                   [nombre] => Osito Hugo con globo 
                   [precio] => 50         ) 
      [1] => ProductoVO Object
     (             [idProducto] => 2    
                   [idCategoria] => 1   
                   [nombre] => Arreglo Princesa 
                   [precio] => 85         )
      [2] => ProductoVO Object 
     (             [idProducto] => 3
                   [idCategoria] => 1  
                   [nombre] => Rosa Roja en caja  
                   [precio] => 26         )
Quiero asignar en una variable $nombres un arreglo con todos los nombres de $listado
Hice esto pero creo que no es así:
PHP:
$nombres=($listado->ProductoVO($nombre));
Cómo puedo hacerlo?
:-p
 
Tengo una variable $listado que tiene el siguiente contenido: (print_r + PRE)
Código:
Array
(     [0] => ProductoVO Object    
     (             [idProducto] => 1       
                   [idCategoria] => 3   
                   [nombre] => Osito Hugo con globo 
                   [precio] => 50         ) 
      [1] => ProductoVO Object
     (             [idProducto] => 2    
                   [idCategoria] => 1   
                   [nombre] => Arreglo Princesa 
                   [precio] => 85         )
      [2] => ProductoVO Object 
     (             [idProducto] => 3
                   [idCategoria] => 1  
                   [nombre] => Rosa Roja en caja  
                   [precio] => 26         )
Quiero asignar en una variable $nombres un arreglo con todos los nombres de $listado
Hice esto pero creo que no es así:
PHP:
$nombres=($listado->ProductoVO($nombre));
Cómo puedo hacerlo?
:-p
Prueba a ver esto
PHP:
$nombre = $listado[$x]['nombre'];
Donde $x sería la variable controladora del array
PHP:
for ($x=0;$x<count($listado);$x++) {
  $nombre[] = $listado[$x]['nombre'];
}
Prueba y nos cuentas
 
Prueba a ver esto
PHP:
$nombre = $listado[$x]['nombre'];
Donde $x sería la variable controladora del array
PHP:
for ($x=0;$x<count($listado);$x++) {
  $nombre[] = $listado[$x]['nombre'];
}
Prueba y nos cuentas

Mi funcion resumida listar() tiene este código:
PHP:
 function listar(){
       $query = "SELECT id_producto, nombre FROM producto";
       $productos = array();
       while($fila=$recordSet->FetchRow()) {
          $productos[] = new ProductoVO($fila['id_producto'], $fila['nombre']);
       }
      return $productos;
    }
PHP:
$dao = new ProductoDAO();
$listado = $dao->listar();  ----> variable $listado que tiene todo lo que no quiero.
$tpl = new Plantilla();
$tpl->assign('nombre', $listado);   --->aquí debe pasar solamente los nombres
$tpl->display('mostrar.tpl.php');
Donde pongo tu código?:\
Yo supongo que debo hacerlo desde el listar() pero en mi empresa así está definido pues el VO tiene los campos de salida.
 
PHP:
$dao = new ProductoDAO();
$listado = $dao->listar();  ----> variable $listado que tiene todo lo que no quiero.

for ($x=0;$x<count($listado);$x++) {
  $nombre[] = $listado[$x]['nombre'];
} 

$tpl = new Plantilla();
$tpl->assign('nombre', $nombre); <--- cambia $listado por $nombre
$tpl->display('mostrar.tpl.php');
Intentalo ahí a ver que pasa =)
 
PHP:
$dao = new ProductoDAO();
$listado = $dao->listar();  ----> variable $listado que tiene todo lo que no quiero.

for ($x=0;$x<count($listado);$x++) {
  $nombre[] = $listado[$x]['nombre'];
} 

$tpl = new Plantilla();
$tpl->assign('nombre', $nombre); <--- cambia $listado por $nombre
$tpl->display('mostrar.tpl.php');
Intentalo ahí a ver que pasa =)
metiendome un poquito :p

PHP:
$pos1 = new StdClass();
$pos1->idProducto = 1;
$pos1->idCategoria = 3;
$pos1->nombre = "Osito Hugo con globo";
$pos1->precio = 50;

$pos2 = new StdClass();
$pos2->idProducto = 2;
$pos2->idCategoria = 1;
$pos2->nombre = "Arreglo Princesa";
$pos2->precio = 85;

$pos3 = new StdClass();
$pos3->idProducto = 3;
$pos3->idCategoria = 1;
$pos3->nombre = "Rosa Roja en caja";
$pos3->precio = 26;

$listado = array($pos1, $pos2, $pos3);

for ($x=0;$x<count($listado);$x++) {
  $nombre[] = $listado[$x]->nombre; // MODIFICADO DE JALF
} 

echo '<pre>';
print_r($listado);
echo '</pre>';
var_dump($nombre);
da como resultado:
PHP:
Array
(
    [0] => stdClass Object
        (
            [idProducto] => 1
            [idCategoria] => 3
            [nombre] => Osito Hugo con globo
            [precio] => 50
        )

    [1] => stdClass Object
        (
            [idProducto] => 2
            [idCategoria] => 1
            [nombre] => Arreglo Princesa
            [precio] => 85
        )

    [2] => stdClass Object
        (
            [idProducto] => 3
            [idCategoria] => 1
            [nombre] => Rosa Roja en caja
            [precio] => 26
        )

)

array
  0 => string 'Osito Hugo con globo' (length=20)
  1 => string 'Arreglo Princesa' (length=16)
  2 => string 'Rosa Roja en caja' (length=17)

que es lo que supongo que buscas

obviamente lo importante es el ciclo (FOR) ;), lo demás es por si alguien quiere probar :p

tome objectos StdClass porque tienes objectos ProductoVO que son propios de la aplicación y por lo que veo son lo mismo :p (mismas estructura)

al ser objetos no se pueden acceder como array $listado[$x]['nombre'] a no ser que se le haga un cast primero ;), algo como $nombre2 = (array) $listado[$x];
pero eso se ve feo :p

saludos
 
metiendome un poquito :p
(...)que es lo que supongo que buscas

obviamente lo importante es el ciclo (for) ;), lo demás es por si alguien quiere probar :p

tome objectos stdclass porque tienes objectos productovo que son propios de la aplicación y por lo que veo son lo mismo :p (mismas estructura)

al ser objetos no se pueden acceder como array $listado[$x]['nombre'] a no ser que se le haga un cast primero ;), algo como $nombre2 = (array) $listado[$x];
pero eso se ve feo :p

saludos
que viva el foro CARAJO!!! :p
 
Gracias chicos, ambas ideas me ayudaron a obtener lo que quería.
Al final necesité "idProducto" y "nombre" pues en la plantilla los quería mostrar en un select.

PHP:
<select name="type">
    <option value='null'>--- none ---</option>
    {html_options values=$lista1 output=$lista2}
</select>
Asigné idProducto a $lista1 y nombre a $lista2.

Pero tengo una duda, se puede eliminar el label y su valor?, pues al seleccionar solamente trabaja el value cierto?

PHP:
<select name="type">     <option value='null'>--- none ---</option>
<option label="Osito Hugo con globo" value="1">Osito Hugo con globo</option> <option label="Arreglo Princesa" value="2">Arreglo Princesa</option> 
<option label="Rosa Roja en caja" value="3">Rosa Roja en caja</option>
<option label="Cojín Monito" value="6">Cojín Monito</option>
<option label="Aretes Sea Star" value="7">Aretes Sea Star</option>
<option label="Zapatos Perla" value="10">Zapatos Perla</option></select>
Gracias JALF y ARTHVRIAN.
:p:p:p
 
Hola chicos, no he podido dormir pues tengo otro problema.

Tengo un listado en un formulario, si le doy check a un elemento del array y presiono Eliminar debería tomar el valor o los valores hacia eliminar.php.

listado.tpl.php
=========
PHP:
<form action="eliminar.php" method="post">
{section name=i loop=$lista}
<tr>
  <td><input type="checkbox" name="seleccion[]" value="{$lista[i]->idProducto}"></font></td>
  <td>{$lista[i]->idProducto}</td>
  <td>{$lista[i]->nombre}</td>
  <td>{$lista[i]->descripcion}</td><br/>
</tr>
{/section}
</table>
<input type="button" name="Agregar" value="Agregar" onClick="parent:location='productos.formulario.php'">
<br/>
<input type="submit" name="submit" value="Eliminar">
</form>
Pero el / los valores no pasan, qué le falta? yo lo veo todo bien.
eliminar.php
========
PHP:
<?php
require_once "../conf.php";
$dao = new ProductoDAO();
$ret = $dao->eliminar($_POST['seleccion']);
header("Location: principal.php");
?>
 
estas pasando un array para eliminar

tienes que poner el eliminar, nuevamente, dentro de un ciclo for
que recorra el POST de seleccion
 
ponle esto a ver que pasa y nos cuentas
PHP:
<td><input type="checkbox" id="seleccion" name="seleccion" value="{$lista[i]->idProducto}"></font></td>
 

Los últimos temas