Foros del Web » Programando para Internet » PHP »

Imprimir el $row[] Fuera del while

Estas en el tema de Imprimir el $row[] Fuera del while en el foro de PHP en Foros del Web. Hola a todos como estan, e intentado hacerlo de muchas maneras pero ya me rindo nada me funciona tengo el siguiente script: (es algo simple ...
  #1 (permalink)  
Antiguo 29/10/2013, 17:29
Avatar de mixzinet  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 21
Antigüedad: 7 años, 4 meses
Puntos: 0
Exclamación Imprimir el $row[] Fuera del while

Hola a todos como estan, e intentado hacerlo de muchas maneras pero ya me rindo nada me funciona tengo el siguiente script:

(es algo simple y torpe lo se jaja)

Código PHP:
Ver original
  1. <?php
  2. function dameURL(){
  3. $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  4. return $url;
  5. }
  6. ?>
  7. <!doctype html>
  8. <html lang="es">
  9. <head>
  10.     <meta charset="UTF-8">
  11.     <title>Keep Calm And</title>
  12.     <meta property="og:type"                 content="image.other">
  13.     <meta property="og:url"                  content="<?php echo dameURL(); ?>">
  14.     <meta property="og:image"                content="http://i.imgur.com/tL00OCv.png">
  15.     <meta property="og:title"                content="Keep Calm And... ">
  16.     <meta property="og:description"          content="Crea tus Keep Calm, Gratis.!">
  17.     <link rel="stylesheet" type="text/css" href="/recursos/css/estilos.css">
  18.     <link rel="stylesheet" type="text/css" href="/recursos/css/botones.css">
  19.     <script type="text/javascript" src="http://s7.addthis.com/js/300/addthis_widget.js#pubid=llajudavid2"></script>
  20.     <script type="text/javascript">
  21.       addthis.layers({
  22.         'theme' : 'transparent',
  23.         'share' : {
  24.           'position' : 'left',
  25.           'numPreferredServices' : 5,
  26.         }  
  27.       });
  28.     </script>
  29.     <style type="text/css">
  30.         .btn2a {
  31.         font-size: 25px;
  32.         margin-top:10px;
  33.         margin-left: 10px;
  34.         height: 40px;
  35.         position: absolute;
  36.         -webkit-transition: all 0.3s;
  37.         -moz-transition: all 0.3s;
  38.         transition: all 0.3s;
  39.     }
  40.     </style>
  41. </head>
  42. <body>
  43. <a href='/inicio'><span class="btn2a btn-1 btn-1a">←</span></a>
  44. <header>
  45.     <span>^</span>
  46.     <br>
  47.     <h1>Keep<br>Calm</h1>
  48.     <h2>And<br>
  49.  
  50.     <?php
  51.     require_once('datos.php');
  52.  
  53.     if (!$con){die('ERROR DE CONEXION CON MYSQL: ' . mysql_error());}
  54.     $database = mysql_select_db("u947641551_keep",$con);
  55.     if (!$database){die('ERROR CONEXION CON BD: '.mysql_error());}
  56.     $sql = "SELECT texto, cancion, fondo FROM usuarios WHERE id='"[email protected]$_GET['id']."'";
  57.     $result = mysql_query ($sql);
  58.  
  59.     if (! $result){
  60.        echo "La consulta SQL contiene errores.".mysql_error();
  61.        exit();
  62.  
  63.     }else {
  64.  
  65.         if (mysql_num_rows($result)>0){
  66.  
  67.         while ($row = mysql_fetch_row($result)){
  68.  
  69.                     echo "<p style='text-transform:capitalize;'>".$row[0].".</p>";
  70.                     echo "<iframe id='ytplayer' type='text/html' width='0' height='0'src='https://www.youtube.com/embed/".$row[1]."?autoplay=1'frameborder='0' allowfullscreen></iframe><style>body{background: url(/".$row[2].");background-size: cover;}</style>";      
  71. }
  72.  
  73. }else{echo "<br>Debes Insertar Una ID Valida.<style>body{background: url(/recursos/css/img/fondo.jpg);background-size: cover;}</style> ";}
  74.  
  75. }
  76.  
  77. ?>
  78.  
  79.     </h2>
  80. </header>
  81.  
  82.    
  83. </body>
  84. </html>

Si ven tengo una conexión a la base de datos y abajo un while que imprime lo que hay, pero yo quiero que el registro texto se imprima en el <title></title> pero no quiero repetir toda la conexión para solo sacar ese dato, como lo ago? me avian dicho y con algo asi lo aria:

Código PHP:
Ver original
  1. <?php $variable = mysql_fetch_array($result);{ echo $variable[0];} ?>

Pero tampoco da, si me ayudan seria muy agradecido y espero haberme explicado bien.
  #2 (permalink)  
Antiguo 29/10/2013, 17:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Imprimir el $row[] Fuera del while

Debes saber que los programas se ejecutan de arriba hacia abajo, así que no puedes acceder a una variable sin que sea definida primero.

Tu consulta la tienes mucho después de donde colocas el <title>, entonces es por esa razón que no puedes acceder a ningún resultado de ella antes.

En orden de flujo, y para que funcione deberías hacerlo así:
Código PHP:
Ver original
  1. <?php
  2.  
  3. // aquí haces la consulta y todo lo necesario antes de imprimir NADA
  4. while (/* ... */) {
  5.   // es importante que almacenes en una variable el resultado que desees imprimes después
  6.   $title = $row[/* ... */];
  7. }
  8.  
  9. ?>
  10.  
  11. ...
  12.  
  13. <title><?php /* acá imprimes el resultado tal cual */ ?></title>

¿Entiendes eso?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: html, mysql, registro, row, select, sql, usuarios, variable
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 16:46.