Foros del Web » Programando para Internet » PHP »

Problema con puntos, barras y comillas

Estas en el tema de Problema con puntos, barras y comillas en el foro de PHP en Foros del Web. Hola a todos: tengo un scroller en el que el mensaje esta en php, pero no funciona. creo que hay algun punto, comilla o barra ...
  #1 (permalink)  
Antiguo 20/02/2005, 05:09
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema con puntos, barras y comillas

Hola a todos:

tengo un scroller en el que el mensaje esta en php, pero no funciona. creo que hay algun punto, comilla o barra mal puesto, pero no consigo verla. El codigo es
Código PHP:
messages[0]="<font size=2><b>Últimas especies añadidas</b><br><br><? 
while($row mysql_fetch_array($RecordsetN)){
     echo 
"<a href=\"../Consultas/Ficha.php?Especie=".$row['Especie']."\" onclick=\"NewWindow(this.href,'Especie','800','500','yes','center');return false\" onfocus=\"this.blur()\">";
 echo 
$row['Especie']."</a>  ";
 if (
$row['Nombrecomun']!="") echo "<font color=#000000>, ".$row ['Nombrecomun']."</font>";
  echo 
"<br>";}?>"
Gracias
  #2 (permalink)  
Antiguo 20/02/2005, 05:22
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por undariarose
Hola a todos:

tengo un scroller en el que el mensaje esta en php, pero no funciona. creo que hay algun punto, comilla o barra mal puesto, pero no consigo verla. El codigo es
Código PHP:
messages[0]="<font size=2><b>Últimas especies añadidas</b><br><br><? 
while($row mysql_fetch_array($RecordsetN)){
     echo 
"<a href=\"../Consultas/Ficha.php?Especie=".$row['Especie']."\" onclick=\"NewWindow(this.href,'Especie','800','500','yes','center');return false\" onfocus=\"this.blur()\">";
 echo 
$row['Especie']."</a>  ";
 if (
$row['Nombrecomun']!="") echo "<font color=#000000>, ".$row ['Nombrecomun']."</font>";
  echo 
"<br>";}?>"
Gracias
que bueno que utilizaste las etiquetas [php] de éste foro... ve como tu while está en rojo... por lo que no hazcerrado unas comillas... si te guías por el color.. viene desde messages[0]...
...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 20/02/2005, 05:25
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Código PHP:
messages[0]="<font size=2><b>Últimas especies añadidas</b><br><br>";
<? 
while($row mysql_fetch_array($RecordsetN)){
     echo 
"<a href=\"../Consultas/Ficha.php?Especie=".$row['Especie']."\" onclick=\"NewWindow(this.href,'Especie','800','500','yes','center');return false\" onfocus=\"this.blur()\">";
 echo 
$row['Especie']."</a>  ";
 if (
$row['Nombrecomun']!="") echo "<font color=#000000>, ".$row ['Nombrecomun']."</font>";
  echo 
"<br>";}?>"
... lo corrijo... (no me costó .. perdón por no hacerlo de una vez... )
agregué igual un ; antes de entrar a php (<?) .... aunque me parece raro ¿eso es JavaScript?...
igual hay unas comillas hasta el final... ...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 20/02/2005 a las 05:27
  #4 (permalink)  
Antiguo 20/02/2005, 05:36
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
es java, pero el problema creo que está en alguna comilla. si pones "; estas cerrando el mensaje y lo siguiente no entraria en el scroller

tengo otros iguales, pero sin poner el link, que no dan error, como este
Código PHP:
messages[0]="<? echo "<br><b>Últimas especies añadidas:</b><br><br>";
while(
$row mysql_fetch_array($RecordsetDB)){
echo 
"<i><font color=#003399>".$row['Especie']."</font></i>";
if (
$row['Nombrecomun']!="") echo ", <font color=#000000>".$row ['Nombrecomun']; echo "</font><br>";
}
?>"
pero en el del link no tira
Código PHP:
messages[0]="<font size=2><b>Últimas especies añadidas</b><br><br><? 
while($row mysql_fetch_array($RecordsetN)){
     echo 
"<a href=\"../Consultas/Ficha.php?Especie=".$row['Especie']."\" onclick=\"NewWindow(this.href,'Especie','800','500','yes','center');return false\" onfocus=\"this.blur()\">";
 echo 
$row['Especie']."</a>  ";
 if (
$row['Nombrecomun']!="") echo "<font color=#000000>, ".$row ['Nombrecomun']."</font>";
  echo 
"<br>";}?>"
  #5 (permalink)  
Antiguo 23/02/2005, 10:55
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
el error esta en algun sitio de la linea del echo donde esta el link. ayuuuuda por favor
  #6 (permalink)  
Antiguo 23/02/2005, 11:17
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 13 años, 7 meses
Puntos: 0
¿No será esto?

Código PHP:
echo $row['Especie']. 
A ver si le falta o le sobra un punto y ha de ser asi
Código PHP:
echo $row['Especie'
o así
Código PHP:
echo .$row['Especie']. 
  #7 (permalink)  
Antiguo 23/02/2005, 11:37
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
no eso no es. el punto se usa para separar la variable de las "
  #8 (permalink)  
Antiguo 23/02/2005, 13:05
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
esto me esta volviendo loco.

si ejecuto el php fuera del scroller funciona perfectamente, pero dentro del "message" no tira.
  #9 (permalink)  
Antiguo 23/02/2005, 15:55
 
Fecha de Ingreso: febrero-2004
Ubicación: Bogotá, Colombia
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 1
Me parece q es un eror de sintaxis. Yo lo haria asi:

<?
$links=array();
$i=0;

while($row = mysql_fetch_array($RecordsetN))
{
$links[$i]= "<a href=\"../Consultas/Ficha.php?Especie=".$row['Especie']."\" onclick=\"NewWindow(this.href,'Especie','800','500 ','yes','c enter');return false\" onfocus=\"this.blur()\">".$row['Especie']."</a> ";

if ($row['Nombrecomun']!="")
$links[$i].="<font color=#000000>".$row ['Nombrecomun']."</font><br>";

$i++;
}

echo "messages[0]=\"".implode(",", $links);
?>

No se si es eso lo q necesita
  #10 (permalink)  
Antiguo 23/02/2005, 16:11
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
muchas gracias, pero el error continua y creo que en la misma linea. da igual las vueltas que le de.

en resumen, lo que hay es:
Código PHP:
echo "<font size=2><b>Últimas especies añadidas</b><br><br>"
while(
$row mysql_fetch_array($RecordsetN)){
     echo 
"<a href=\"../Consultas/Ficha.php?Especie=".$row['Especie']."\" onclick=\"NewWindow(this.href,'Especie','800','500','yes','center');return false\" onfocus=\"this.blur()\">";
echo 
$row['Especie']."</a>  ";
if (
$row['Nombrecomun']!="") echo "<font color=#000000>, ".$row ['Nombrecomun']."</font>";
echo 
"<br>";} 
esto va dentro de
var messages=new Array()
messages[0]="AQUI"

un scroller.

y debe haber un error en la linea del link, un problema con las comillas, creo, prque el codigo aparte, sin estar en el scroller funciona perfectamente.
  #11 (permalink)  
Antiguo 23/02/2005, 16:43
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Perdón, no entiendo mucho, cuál es el problema puntual? da un error de php? qué error específico?

SUerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #12 (permalink)  
Antiguo 23/02/2005, 16:50
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
no da ningun error, simplemente no aparece el scroller, y el codigo fuente que sale es:

messages[0]="
<font size=2><b>Últimas especies añadidas</b><br><br><a href="../Consultas/Ficha.php?Especie=Colus gracilis" onclick="NewWindow(this.href,'Especie','800','500' ,'yes','center');return false" onfocus="this.blur()">Colus gracilis</a> <br><a href="../Consultas/Ficha.php?Especie=Helicolenus dactylopterus" onclick="NewWindow(this.href,'Especie','800','500' ,'yes','center');return false" onfocus="this.blur()">Helicolenus dactylopterus</a> <font color=#000000>, Gallineta</font><br>"

aparentemente el codigo esta bien, al menos para mi. no se vosotros que opinais
  #13 (permalink)  
Antiguo 23/02/2005, 16:58
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
aaa ya entendí, no te funciona por las comillas ;), probá haciendo así:
Código PHP:
echo '<font size=\"2\"><b>Últimas especies añadidas</b><br><br>'
while(
$row mysql_fetch_array($RecordsetN)){ 
     echo 
'<a href=\"../Consultas/Ficha.php?Especie='.$row['Especie'].'\" onclick=\"NewWindow(this.href,\'Especie\',\'800\',\'500\',\'yes\',\'c  enter\');return false\" onfocus=\"this.blur()\">'
echo 
$row['Especie']."</a>  "
if (
$row['Nombrecomun']!="") echo "<font color=\"#000000\">, ".$row ['Nombrecomun']."</font>"
echo 
"<br>";} 
EDIT: corregida línea 1.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar

Última edición por thunder.scripts; 23/02/2005 a las 17:02
  #14 (permalink)  
Antiguo 23/02/2005, 17:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Por las dudas, también deberías hacer addslashes() a todas las variables que imprimas dentro del scroller
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #15 (permalink)  
Antiguo 23/02/2005, 17:06
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 13 años, 10 meses
Puntos: 0
Perfecto, muchiisimas gracias.

tengo que repasar esto de las comillas, todavia no entiendo porque vas unas u otras.
  #16 (permalink)  
Antiguo 23/02/2005, 17:29
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Mirá, es fácil:
Código HTML:
messages[0]="
El array de JavaScript empieza con comillas dobles, por eso, todas las comillas dobles adentro tenés que escaparlas con \. Si fuera:
Código HTML:
messages[0]='
Tendrías que escapar las comillas simples y dejar las dobles.

Lo que yo hice fue usar comillas simples para delimitar los echo's de php y escapar tanto comillas dobles como simples. Entonces, cuando php encuentra una comilla simple escapada, imprime una comilla simple normal, ya que el echo está delimitado con una comilla simple; y Cuando encuentra una comilla doble escapada, la imprime escapada.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
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 11:00.