elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problema con condicional dentro de un bucle.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con condicional dentro de un bucle.  (Leído 3,221 veces)
Joystickoso

Desconectado Desconectado

Mensajes: 44



Ver Perfil
Problema con condicional dentro de un bucle.
« en: 30 Julio 2009, 20:11 pm »

Wenas, tengo una tabla mysql en la que meto links de descargas videos de youtube, etc... Mi idea es que si el registro es un video de youtube me meta el video a la derecha del link con object y que si no lo es que meta por ejemplo una imagen. Pues bien los videos aparecen bien pero no las imagenes. Lo he echo con el dreamweaver retocandolo a mi gusto y ha quedado asi:
Código:
<td colspan="3" valign="top"><?php do { ?>
      <table width="100%" border="2" cellpadding="0" cellspacing="1" bordercolor="#0033FF">
        <!--DWLayoutTable-->
        <tr>
          <td width="450" height="98" align="center" valign="middle" bordercolor="#FFFFFF"><span class="Estilo4">A&ntilde;adido por <span class="Estilo6"><?php echo $row_Recordset1['Addpor']; ?> <span class="Estilo7">el <?php echo $row_Recordset1['fecha']; ?> a las <?php echo $row_Recordset1['hora']; ?></span></span></span></td>
          <td width="439" rowspan="3" align="center" valign="middle">
  <?php if ($row_Recordset1['tipo']=Youtube)
  { echo '<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/'.$row_Recordset1['datostube'].'&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/'.$row_Recordset1['datostube'].'&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>';
  }
  else {echo '<p class="Estilo9"><img src="imagenes/image.png" width="343" height="65"></p>';}?></td>
        </tr>
        <tr>
          <td height="44" align="center" valign="middle" bordercolor="#FFFFFF"><span class="Estilo4">Link:<br>
              <span class="Estilo6"><a href="<?php echo $row_Recordset1['Links']; ?>" target="_blank"><?php echo $row_Recordset1['Links']; ?></a></span> </span></td>
        </tr>
        <tr>
          <td height="151" align="center" valign="middle" bordercolor="#FFFFFF"><p class="Estilo4">Comentario:<br>
              <span class="Estilo6"><?php echo $row_Recordset1['Comentario']; ?></span> </p></td>
        </tr>
            </table>
      <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></td>
Pone los videos bien y ordenados pero los que no son videos los pone como si lo fueran, osea se ve el recuadro del video pero en blanco en vez de la imagen que debía aparecer.
Yo supongo que el problema está en el condicional dentro del bucle como si el condicional solo lo tuviese en cuenta la primera vez.
Si es asi, como lo soluciono?
Gracias!


En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Problema con condicional dentro de un bucle.
« Respuesta #1 en: 31 Julio 2009, 00:17 am »

la comparación se hace con ==, e imagino que Youtube es una cadena, así que debería ir entre comillas

Código
  1. <td colspan="3" valign="top"><?php do { ?>
  2.      <table width="100%" border="2" cellpadding="0" cellspacing="1" bordercolor="#0033FF">
  3.        <!--DWLayoutTable-->
  4.        <tr>
  5.          <td width="450" height="98" align="center" valign="middle" bordercolor="#FFFFFF"><span class="Estilo4">A&ntilde;adido por <span class="Estilo6"><?php echo $row_Recordset1['Addpor']; ?> <span class="Estilo7">el <?php echo $row_Recordset1['fecha']; ?> a las <?php echo $row_Recordset1['hora']; ?></span></span></span></td>
  6.          <td width="439" rowspan="3" align="center" valign="middle">
  7.  <?php if ($row_Recordset1['tipo']=Youtube)
  8.  { echo '<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/'.$row_Recordset1['datostube'].'&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/'.$row_Recordset1['datostube'].'&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>';
  9.  }
  10.  else {echo '<p class="Estilo9"><img src="imagenes/image.png" width="343" height="65"></p>';}?></td>
  11.        </tr>
  12.        <tr>
  13.          <td height="44" align="center" valign="middle" bordercolor="#FFFFFF"><span class="Estilo4">Link:<br>
  14.              <span class="Estilo6"><a href="<?php echo $row_Recordset1['Links']; ?>" target="_blank"><?php echo $row_Recordset1['Links']; ?></a></span> </span></td>
  15.        </tr>
  16.        <tr>
  17.          <td height="151" align="center" valign="middle" bordercolor="#FFFFFF"><p class="Estilo4">Comentario:<br>
  18.              <span class="Estilo6"><?php echo $row_Recordset1['Comentario']; ?></span> </p></td>
  19.        </tr>
  20.            </table>
  21.      <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></td>


En línea

Ojo por ojo, y el mundo acabará ciego.
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Problema con condicional dentro de un bucle.
« Respuesta #2 en: 31 Julio 2009, 01:25 am »

la comparación se hace con ==, e imagino que Youtube es una cadena, así que debería ir entre comillas

Código
  1. <td colspan="3" valign="top"><?php do { ?>
  2.      <table width="100%" border="2" cellpadding="0" cellspacing="1" bordercolor="#0033FF">
  3.        <!--DWLayoutTable-->
  4.        <tr>
  5.          <td width="450" height="98" align="center" valign="middle" bordercolor="#FFFFFF"><span class="Estilo4">A&ntilde;adido por <span class="Estilo6"><?php echo $row_Recordset1['Addpor']; ?> <span class="Estilo7">el <?php echo $row_Recordset1['fecha']; ?> a las <?php echo $row_Recordset1['hora']; ?></span></span></span></td>
  6.          <td width="439" rowspan="3" align="center" valign="middle">
  7.  <?php if ($row_Recordset1['tipo']=Youtube)
  8.  { echo '<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/'.$row_Recordset1['datostube'].'&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/'.$row_Recordset1['datostube'].'&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>';
  9.  }
  10.  else {echo '<p class="Estilo9"><img src="imagenes/image.png" width="343" height="65"></p>';}?></td>
  11.        </tr>
  12.        <tr>
  13.          <td height="44" align="center" valign="middle" bordercolor="#FFFFFF"><span class="Estilo4">Link:<br>
  14.              <span class="Estilo6"><a href="<?php echo $row_Recordset1['Links']; ?>" target="_blank"><?php echo $row_Recordset1['Links']; ?></a></span> </span></td>
  15.        </tr>
  16.        <tr>
  17.          <td height="151" align="center" valign="middle" bordercolor="#FFFFFF"><p class="Estilo4">Comentario:<br>
  18.              <span class="Estilo6"><?php echo $row_Recordset1['Comentario']; ?></span> </p></td>
  19.        </tr>
  20.            </table>
  21.      <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></td>

como les haces para que quede resaltado?
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Problema con condicional dentro de un bucle.
« Respuesta #3 en: 31 Julio 2009, 01:26 am »

[code=php,#,#,#][/code]

donde # son los números de las líneas que quieres resaltadas
En línea

Ojo por ojo, y el mundo acabará ciego.
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Problema con condicional dentro de un bucle.
« Respuesta #4 en: 31 Julio 2009, 01:35 am »

[code=php,#,#,#][/code]

donde # son los números de las líneas que quieres resaltadas

En línea

Joystickoso

Desconectado Desconectado

Mensajes: 44



Ver Perfil
Re: Problema con condicional dentro de un bucle.
« Respuesta #5 en: 31 Julio 2009, 17:51 pm »

Si que era lo de los dos simbolos de igual "==", ya está.
Lo de Youtube es de la tabla mysql de los links que dice si es un video de youtube, un link, una descarga u otra cosa.
Prueba superada, gracias!!

Ahora estoy a ver si puedo conseguir que el formulario para meter los links coja los links del youtube y en otra columna registre solo los 11 digitos para los videos.
Osea, que al registrar por ejemplo el link http://www.youtube.com/watch?v=a1IpPpB3iWI registre en otra columna a1IpPpB3iWI.
Estoy probando con "strpos" y "substr" haber si con algo asi:
Código
  1. <?php $posigual=echo strpos($_POST['Link'], "=");
  2. $datosvideotube=if ($_POST['tipo']=="Youtube")
  3. {echo substr($_POST['Link'], $posigual++, 11);}
  4. else {echo vacio;}?>
Y habría mucha diferencia si fuese asi?
Código
  1. <?php $posigual='echo strpos('.$_POST['Link'].', "=")';
  2. if ($_POST['tipo']=="Youtube")
  3. {$datosvideotube='echo substr('.$_POST['Link'].', '.$posigual++.', 11)';}
  4. else {$datosvideotube=vacio;}?>
Perdon por mi ignorancia, aun me queda mucho manual de php que leer...
Gracias.
« Última modificación: 31 Julio 2009, 17:59 pm por Joystickoso » En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.397

JS/Node developer


Ver Perfil WWW
Re: Problema con condicional dentro de un bucle.
« Respuesta #6 en: 1 Agosto 2009, 01:08 am »

Joystickoso:

     Tu código está  lleno de errores, pero de los feos... :xD

Ahora en serio, si estás leyendo un manual de PHP te recomendaría que lo leas MAS DETENIDA Y ATENTAMENTE. Por ejemplo habras leido que echo se usa para mostrar informacion, pero en realidad lo que hace es 'imprimir' algo en el documento:

Código
  1. $posigual=echo strpos($_POST['Link'], "=");

Ahi esta mal, no debe ir en medio de una asignacion. Ese codigo basicamente seria como decirle a php "en la variable $posigual mete el valor.. a no no espera, ahora quiero imprimir algo en la pagina, no voy a asignarle ningun valor a la variable $posigual.."

No se si me entiendes?

Buscate algun manual bien basico para empezar.

Saludos
En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
Joystickoso

Desconectado Desconectado

Mensajes: 44



Ver Perfil
Re: Problema con condicional dentro de un bucle.
« Respuesta #7 en: 1 Agosto 2009, 15:43 pm »

OK entiendo.
Si qie es de los gordos, si...
La cosa sería mas así:
Código
  1. <?php $posigual = strpos($row_Recordset1['Link'], "=");
  2. if ($row_Recordset1['tipo']==Youtube)
  3. {$datosvideotube = substr($row_Recordset1['Link'], $posigual++, 11);}
  4. else{$datosvideotube = vacio;}?>
La verdad es que no me he leido ningun manual entero solo leo lo que voy necesitando aunque lo de:
Código
  1. $posigual=echo strpos($_POST['Link'], "=");
ya debería saberlo si, que fallo!
Tienes razon tengo que pillar algun manual guapo y con ejemplos y dedicarle horas.
En cuanto a lo que quiero hacer probare de otra forma a ver si lo consigo porque con esto de momento lo unico que he conseguido es que siempre "$datosvideotube = vacio".
Gracias por todo, sobretodo por la paciencia...
Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema Bucle C
Programación C/C++
P.AGCD 4 3,911 Último mensaje 12 Julio 2011, 02:33 am
por rir3760
problema bucle en metodo
Java
MasterPunk 0 1,907 Último mensaje 11 Enero 2012, 22:42 pm
por MasterPunk
problema en condicional if; [bash]
Scripting
<[(x)]> 2 3,306 Último mensaje 11 Marzo 2012, 02:00 am
por leogtz
Suma de variables dentro de bucle for en .bat
Scripting
franfis 8 13,576 Último mensaje 9 Marzo 2014, 16:50 pm
por Eleкtro
Problema con condicional if
Programación C/C++
macshivi 1 1,682 Último mensaje 22 Noviembre 2016, 18:01 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines