Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como podria poner una variable con un echo

Estas en el tema de Como podria poner una variable con un echo en el foro de PHP en Foros del Web. Bueno estoy haciendo una web, y tengo un problema, ya que en esta muestro anuncios tipo blog en la pagina de inicio, pero el problema ...
  #1 (permalink)  
Antiguo 23/12/2014, 20:22
Avatar de Maddenamy  
Fecha de Ingreso: diciembre-2014
Mensajes: 32
Antigüedad: 9 años, 11 meses
Puntos: 1
Pregunta Como podria poner una variable con un echo

Bueno estoy haciendo una web, y tengo un problema, ya que en esta muestro anuncios tipo blog en la pagina de inicio, pero el problema es que muestro distintas paginas segun la variable $PAGE.
Todo funciona bien, pero el problema esta en la variable $pageBody porque cuando realizo mi consulta a la base de datos me muestra unicamente un resultado, pero cuando hago un "echo" me muestra todos los resultados que coinciden con la consulta.
Pero quisiera saber si hay una forma de guardar la variable $pageBody con un echo.
Por ejempo algo asi:
Código PHP:
$pageBody = echo ' contenido '
El codigo de arriba ya lo intente usar, pero no funciona... Algo similar?

Este es el codigo de mi web:
Código PHP:
$PAGE = $_GET['page'];
//HOME PAGE
    if($PAGE === "home"){
        include('connect.php'); //Aqui tengo los datos para la conexion mysql
        $pageName = "Inicio";
        $sql = "SELECT * FROM forums WHERE forumName = 'announces'";
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0) {
            // output data of each row
            while($row = $result->fetch_assoc()) {
                $pageBody = '
                    <div id="announces">
                        <div id="title"><a href="index.php?page=forums&forum=announces&theme='.$row['forumID'].'" title="Por '.$row['forumAuthor'].' el '.$row['forumDate'].'">'.$row['forumTitle'].'</a></div>
                        <hr/>
                        <p>'.$row['forumThread'].'</p>
                    </div>
                ';
            }
        } else {
                $pageBody = '
                    <div id="announces">
                        <p>No hay anuncios aun</p>
                    </div>
                ';
        }
        $conn->close();
    }
    //HELP PAGE
    if($PAGE === "help"){
        $pageName = "Ayuda";
        $pageBody = '
            <div id="help-sections">
                <a href="index.php?page=help#welcome">Bienvenido</a><br/>
                <a href="index.php?page=help#privacy">Privacidad</a><br/>
                <a href="index.php?page=help#report">Reportar</a>
            </div>
            <div id="help-contents">
                <div id="title"><div id="welcome">Bienvenido</div></div>
                <hr/>
                <p>Bienvenido a la página de ayuda.<br/>En esta pagina encontraras información relacionada con el sitio web o el servidor.<br/>Tambien podras reportar un error ya sea en la web o en el servidor</p>
                <div id="title"><div id="privacy">Politica de privacidad</div></div>
                <hr/>
                <p></p>
                <div id="title"><div id="report">Reportar un problema o error en el sitio</div></div>
                <hr/>
                <p></p>
            </div>
            <div style="clear:both"></div>
        ';
    }
?>
<html>
<title>Mi web</title>
<head>
   <link rel="stylesheet" href="style.css">
</head>
<body>
      <div id="body">
            <div id="title"><?=$pageName?></div>
            <hr/>
            <p><?=$pageBody?></p>
        </div>
</html>
</body>
Saludos y gracias
__________________
Twitter: @maddenamy_
  #2 (permalink)  
Antiguo 23/12/2014, 21:23
(Desactivado)
 
Fecha de Ingreso: enero-2013
Mensajes: 289
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Como podria poner una variable con un echo

$pageBody = ' contenido ';
echo $pageBody;
  #3 (permalink)  
Antiguo 23/12/2014, 21:41
Avatar de Maddenamy  
Fecha de Ingreso: diciembre-2014
Mensajes: 32
Antigüedad: 9 años, 11 meses
Puntos: 1
Desacuerdo Respuesta: Como podria poner una variable con un echo

Cita:
Iniciado por moginn Ver Mensaje
$pageBody = ' contenido ';
echo $pageBody;
Ya intente eso, pero lo que quiero es que me muestre todos los datos que coincidan con la consulta, y con lo que tu dices solo me muestra el ultimo dato, pero nada mas.
Ej: lo que quiero hacer es que muestre
- Resultado 1
- Resultado 2
- Resultado 3
- Resultado 4
Y asi consecutivamente.
Y con el codigo que tu dices solo muestra esto
- Resultado 4
__________________
Twitter: @maddenamy_
  #4 (permalink)  
Antiguo 23/12/2014, 22:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Como podria poner una variable con un echo

Cuando haces esto:

Código PHP:
Ver original
  1. while ($row = $result->fetch_assoc()) {
  2.     $pageBody = '
  3.        <div id="announces">
  4.            <div id="title">
  5.                <a href="index.php?page=forums&forum=announces&theme='.$row['forumID'].'" title="Por '.$row['forumAuthor'].' el '.$row['forumDate'].'">'.$row['forumTitle'].'</a>
  6.            </div>
  7.            <hr/>
  8.            <p>'.$row['forumThread'].'</p>
  9.        </div>
  10.    ';
  11. }

Siempre reemplazas el valor de $pageBody, por lo que al final solo se queda con el último valor. Lo que debes de hacer es guardar cada dato en un array y luego imprimirlos todos con ayuda de un bucle.

Código PHP:
Ver original
  1. $pageBody = array();
  2. while ($row = $result->fetch_assoc()) {
  3.     $pageBody[] = '
  4.        <div id="announces">
  5.            <div id="title">
  6.                <a href="index.php?page=forums&forum=announces&theme='.$row['forumID'].'" title="Por '.$row['forumAuthor'].' el '.$row['forumDate'].'">'.$row['forumTitle'].'</a>
  7.            </div>
  8.            <hr/>
  9.            <p>'.$row['forumThread'].'</p>
  10.        </div>
  11.    ';
  12. }
  13.  
  14. foreach ($pageBody as $valor){
  15.     echo $valor;
  16. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 24/12/2014, 11:16
Avatar de Maddenamy  
Fecha de Ingreso: diciembre-2014
Mensajes: 32
Antigüedad: 9 años, 11 meses
Puntos: 1
Información Respuesta: Como podria poner una variable con un echo

Bien ya pude resolverlo, tu código funciona bien Alexis88.
Pero no es lo que necesito, sigue sin funcionar.
Al final mejor convertí el cuerpo html en variables y funciono correctamente
Así quedaría el codigo:
Código PHP:
$PAGE $_GET['page']; 
//Inicio del website
$inicio '<html> 
<title>Mi web</title> 
<head> 
   <link rel="stylesheet" href="style.css"> 
</head> 
<body> 
      <div id="body"> 
            <div id="title">'
.$pageName.'</div> 
            <hr/> '
;
//Final del website
$final '</div> 
</html> 
</body>'
;

//HOME PAGE 
    
if($PAGE === "home"){ 
        include(
'connect.php'); //Aqui tengo los datos para la conexion mysql 
        
$pageName "Inicio"
        
$sql "SELECT * FROM forums WHERE forumName = 'announces'"
        
$result $conn->query($sql); 
         
        if (
$result->num_rows 0) { 
            
//Hago un echo aqui del inicio de la pagina
           
echo $inicio;
            while(
$row $result->fetch_assoc()) {   //Realizo la consulta y muestro el resultado
                
$pageBody 
                    <div id="announces"> 
                        <div id="title"><a href="index.php?page=forums&forum=announces&theme='
.$row['forumID'].'" title="Por '.$row['forumAuthor'].' el '.$row['forumDate'].'">'.$row['forumTitle'].'</a></div> 
                        <hr/> 
                        <p>'
.$row['forumThread'].'</p> 
                    </div> 
                '

            } 
           echo 
$final//Muestro el final de la pagina.
        
} else { 
                
$pageBody 
                    <div id="announces"> 
                        <p>No hay anuncios aun</p> 
                    </div> 
                '

        } 
        
$conn->close(); 
    } 
    
//HELP PAGE 
    
if($PAGE === "help"){ 
        
$pageName "Ayuda"
         echo 
$inicio;
         echo  

            <div id="help-sections"> 
                <a href="index.php?page=help#welcome">Bienvenido</a><br/> 
                <a href="index.php?page=help#privacy">Privacidad</a><br/> 
                <a href="index.php?page=help#report">Reportar</a> 
            </div> 
            <div id="help-contents"> 
                <div id="title"><div id="welcome">Bienvenido</div></div> 
                <hr/> 
                <p>Bienvenido a la página de ayuda.<br/>En esta pagina encontraras información relacionada con el sitio web o el servidor.<br/>Tambien podras reportar un error ya sea en la web o en el servidor</p> 
                <div id="title"><div id="privacy">Politica de privacidad</div></div> 
                <hr/> 
                <p></p> 
                <div id="title"><div id="report">Reportar un problema o error en el sitio</div></div> 
                <hr/> 
                <p></p> 
            </div> 
            <div style="clear:both"></div> 
        '

echo 
$final;
    } 
De esta forma ya funciona bien, igual gracias por su ayuda a los 2.

Saludos
__________________
Twitter: @maddenamy_

Etiquetas: echo, 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 19:54.