Autor
|
Tema: Problema con condicional dentro de un bucle. (Leído 3,221 veces)
|
Joystickoso
Desconectado
Mensajes: 44
|
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: <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ñ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
Mensajes: 6.336
he vuelto :)
|
la comparación se hace con ==, e imagino que Youtube es una cadena, así que debería ir entre comillas <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ñ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>
|
|
|
En línea
|
Ojo por ojo, y el mundo acabará ciego.
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
la comparación se hace con ==, e imagino que Youtube es una cadena, así que debería ir entre comillas <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ñ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>
como les haces para que quede resaltado?
|
|
|
En línea
|
|
|
|
Nakp
casi es
Ex-Staff
Desconectado
Mensajes: 6.336
he vuelto :)
|
[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
Mensajes: 5.110
|
[code=php,#,#,#][/code]
donde # son los números de las líneas que quieres resaltadas
|
|
|
En línea
|
|
|
|
Joystickoso
Desconectado
Mensajes: 44
|
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: <?php $posigual=echo strpos($_POST['Link'], "="); $datosvideotube=if ($_POST['tipo']=="Youtube") {echo substr($_POST['Link'], $posigual++, 11);} else {echo vacio;}?>
Y habría mucha diferencia si fuese asi? <?php $posigual='echo strpos('.$_POST['Link'].', "=")'; if ($_POST['tipo']=="Youtube") {$datosvideotube='echo substr('.$_POST['Link'].', '.$posigual++.', 11)';} 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
Mensajes: 2.397
JS/Node developer
|
Joystickoso: Tu código está lleno de errores, pero de los feos... 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: $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
Mensajes: 44
|
OK entiendo. Si qie es de los gordos, si... La cosa sería mas así: <?php $posigual = strpos($row_Recordset1['Link'], "="); if ($row_Recordset1['tipo']==Youtube) {$datosvideotube = substr($row_Recordset1['Link'], $posigual++, 11);} else{$datosvideotube = vacio;}?>
La verdad es que no me he leido ningun manual entero solo leo lo que voy necesitando aunque lo de: $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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema Bucle C
Programación C/C++
|
P.AGCD
|
4
|
3,911
|
12 Julio 2011, 02:33 am
por rir3760
|
|
|
problema bucle en metodo
Java
|
MasterPunk
|
0
|
1,907
|
11 Enero 2012, 22:42 pm
por MasterPunk
|
|
|
problema en condicional if; [bash]
Scripting
|
<[(x)]>
|
2
|
3,306
|
11 Marzo 2012, 02:00 am
por leogtz
|
|
|
Suma de variables dentro de bucle for en .bat
Scripting
|
franfis
|
8
|
13,576
|
9 Marzo 2014, 16:50 pm
por Eleкtro
|
|
|
Problema con condicional if
Programación C/C++
|
macshivi
|
1
|
1,682
|
22 Noviembre 2016, 18:01 pm
por MAFUS
|
|