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