Ver Mensaje Individual
  #53 (permalink)  
Antiguo 01/09/2008, 12:28
txino_2
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 18 años, 4 meses
Puntos: 1
Respuesta: Problema simbolo "+"

bueno voy a recapitular haber si alguien da con el tema.

Tengo una pagina http://www.deporte-tv.es , si entras en ella veras que hay eventos deportivos con sus respectivos canales de television.

Pues bien el canal con un javscript hace un pop-up al pulsar sobre el que te lleva a otra ventanita donde te indica los valores de las frecuencias del canal, asi como el satelite donde se encuentra.

Dentro de la db tengo una tabla que se llama partidos, esa tabla contiene lo mostrado en el index, es decir un evento con los canales por donde se retransmite.

Despues tengo otra tabla que se llama canales y en ella tengo los canales con sus frecuencias

Logicamente el id del canal no coincide ni de coña con el id de la tabla de partidos, por ejemplo en esa tabla si hay mas de 3000 partidos cada uno lleva su id, asi que la consulta en el pop-up que es una pagina que se llama canalist la hago con el nombre del canal, en vez con id.

Bueno pues al tener cualquier canal el signo +, como Canal +, no me muestra los resultados de la consulta, sin embargo si no lleva + y lleva () si que me los muestra.

Te pongo codigos.

En el index

El Javascript

Código PHP:
<SCRIPT LANGUAGE="JavaScript">

<!-- 
function 
popUp(URL) {
day = new Date();
id day.getTime();
eval(
"page" id " = window.open(URL, '" id "', 'toolbar=0,scrollbars=2,location=0,statusbar=0,menubar=0,resizable=0,width=550,height=240');");
}
// -->
</script> 
Consulta a la base de datos

Código PHP:
<?php
$maxRows_Recordset1 
90;
$pageNum_Recordset1 0;
if (isset(
$_GET['pageNum_Recordset1'])) {
  
$pageNum_Recordset1 $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 $pageNum_Recordset1 $maxRows_Recordset1;
$flecha $ano.'-'.$mes.'-'.$dia;
mysql_select_db($database_conexion1$conexion1);
$query_Recordset1 "SELECT * FROM partidos WHERE dia = '$flecha' ORDER BY hora ASC";
$query_limit_Recordset1 sprintf("%s LIMIT %d, %d"$query_Recordset1$startRow_Recordset1$maxRows_Recordset1);
$Recordset1 mysql_query($query_limit_Recordset1$conexion1) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);

if (isset(
$_GET['totalRows_Recordset1'])) {
  
$totalRows_Recordset1 $_GET['totalRows_Recordset1'];
} else {
  
$all_Recordset1 mysql_query($query_Recordset1);
  
$totalRows_Recordset1 mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

$colname_canal "-1";
if (isset(
$_POST['canal'])) {
  
$colname_canal = (get_magic_quotes_gpc()) ? $_POST['canal'] : addslashes($_POST['canal']);
}
?>
Y el enlace con canalist

Código PHP:
<a href="javascript:popUp('frecuencias/canalist.php?canal=<?php echo $row_Recordset1["canal"];?>')" class="menu Estilo6"><?php echo $row_Recordset1['canal']; ?></a>
Y esta es la pagina canalist.php

Código PHP:
<?php
$colname_Recordset1 
"-1";
if (isset(
$_GET['canal'])) {
  
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['canal'] : addslashes($_GET['canal']);
}
mysql_select_db($database_conexion1$conexion1);
$query_Recordset1 sprintf("SELECT * FROM canales WHERE canal = '%s' ORDER BY pos DESC"$colname_Recordset1);
$Recordset1 mysql_query($query_Recordset1$conexion1) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);
?>
Pues bien, es gracioso, si en la pagina canalist, yo pongo

SELECT * FROM canales WHERE canal = '$s' ORDER BY pos DESC", $colname_Recordset1

Y le pongo por ejemplo Canal + Eventos el signo + no molesta me muestra la consulta sin problemas, pero cuando el signo + va en el enlace desde la otra pagina no me lo muestra

Alguien tiene alguna idea de como solucionarlo, tengo que dar las gracias a todo el personal que esta colaborando, pero es que no hay narices a que acepte el signo + en la consulta desde la otra pagina