PHP - Problema con la configuracion ...creo!!

   
Vista:

Problema con la configuracion ...creo!!

Publicado por Rosy (64 intervenciones) el 18/08/2008 22:44:48
Hola, hice un programa de consulta en PHP con MySql, las versiones que utilizo son: PHP Version 4.3.9 y MySQL Database Version 4.1.7. El programa en php se llama boletin.php y tiene dos partes, la primera es un formulario que utiliza listas dependientes, cuando selecciono el elemento de la primera lista, en el evento OnChange llamo una funcion en JavaScript que ejecuta un submit de manera que cuando se vuelva a cargar boletin.php la variable ingresada en la primera lista tenga un valor, que sirve para llenar el segundo elemento de la lista. Cuando ejecuto el programa boletin.php en forma local para hacer las pruebas, funciona de maravilla, sin embargo, cuando subo el programa al Servidor, este programa no funciona. El Servidor tiene la misma version de PHP y la Version 5 de MySql. Lo que no funciona es que cuando se selecciona el elemento de la primera lista y y se ejecuta el submit en el evento OnChange, la variable regresa sin el valor seleccionado, como que se pierde el valor cuando se recarga el programa boletin.php. Yo supongo que puede deberse a un problema de configuracion, pero me gustaria consultar a algun experto que es lo que debo comparar, por ejemplo pensé que podria ser el register_globals, porque estaba distinto en el localhost y en el servidor, pero lo cambié y continuó el problema ¿qué otra cosa podria comparar que puediera estar afectando las variables?

Se que es un poco larga la explicacion pero espero haberme dado a entender

gracias por cualquier sugerencia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con la configuracion ...creo!!

Publicado por Pineapple (13 intervenciones) el 19/08/2008 00:08:45
Nos puedes poner algo de código, asi de momento no se me ocurre algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con la configuracion ...creo!!

Publicado por Rosy (64 intervenciones) el 19/08/2008 00:45:11
Porque piensas que puede haber algo en el código del programa? si el codigo estuviera malo, no funcionario en mi pc. En otras palabras, si funciona en un pc, pero no funciona en el Servidor, eso significa que es un problema de configuracion ¿o estoy equivocada?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con la configuracion ...creo!!

Publicado por Pineapple (13 intervenciones) el 19/08/2008 00:48:40
Por alguna ruta o algo que estuviera tomando mal... o no se! bueno si kieres se lo dejamos a alguien ke el haya pasado eso, porque la vdd ni idea... Y pues la vdd no creo que tenga nada ke ver en los archivos de configuración, del server, pero bueno.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con la configuracion ...creo!!

Publicado por Diego Romero (1450 intervenciones) el 19/08/2008 03:08:35
"Si funciona en una PC por qué no va a funcionar en otra?"... será porque son computadoras distintas? ;).

Lo primero que se me ocurre es que haya un probema con las rutas, así que la petición de Pineapple es acertada: postea algo de código, especialmente la función JS y la declaración del formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:aqui va el codigo

Publicado por Rosy  (1 intervención) el 19/08/2008 14:29:40
Bueno, ustedes son los que saben, yo recien estoy aprendiendo, aqui va el codigo.

Tengo que decir que todo lo que he hecho en PHP ha sido con la ayuda de las personas de este foro y otros tambien, de manera que de antemano quiero agradecer toda tipo de ayuda.
El codigo es un poco largo, pero ahi va

<html>
<head>
<link rel="STYLESHEET" type="text/css" href="estadistica.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><style type="text/css">
<!--
body {
background-image: url(img/bg92.gif);
}
.Estilo1 {
color: #006699;
font-weight: bold;
font-size: 14px ;
}
-->
</style>
<h1 class="pag_tit">Boletin Estadistico Mensual - Consultas</h1>

</head>

<script language="JavaScript" type="text/JavaScript">
function Seleccionar() {
var a = document.f1.especiali.value;
if (a != "null") {
document.f1.action="";
document.f1.submit(); }
else { alert("Seleccione un valor."); }
}
</script>

<?
function tabla_encabezado($valor) {
echo "<table border='1' width='900'>";
echo "<tr>";
echo "<td><span class='Estilo1'>$valor</span></td>";
echo "<td class='tb_tit'> </td>";
echo "<td colspan='5' class='tb_tit'>NUEVO</td>";
echo "<td colspan='3' class='tb_tit'>CONTROL</td>";
echo "<td colspan='3' class='tb_tit'>NSP</td>";
echo "<td class='tb_tit'> </td>";
echo "<tr><td width='250' class='tb_tit'>Profesional</td>";
echo "<td width='50' class='tb_tit'>TOTAL</td>";
echo "<td width='50' class='tb_tit'>Total</td>";
echo "<td width='50' class='tb_tit'>Aps</td>";
echo "<td width='50' class='tb_tit'>Cae</td>";
echo "<td width='50' class='tb_tit'>Urg</td>";
echo "<td width='50' class='tb_tit'>% Aps</td>";
echo "<td width='50' class='tb_tit'>Total</td>";
echo "<td width='50' class='tb_tit'>Altas</td>";
echo "<td width='50' class='tb_tit'>% Altas</td>";
echo "<td width='50' class='tb_tit'>Total</td>";
echo "<td width='50' class='tb_tit'>Nuevo</td>";
echo "<td width='50' class='tb_tit'>Control</td>";
echo "<td width='50' class='tb_tit'>H.tra</td>";
echo "</tr>";
}

if(!(isset($_POST['envio'])))
{
?>
<form name="f1" action="boletin.php" method="POST">
<table border="0" width="600" align="center">
<tr>
<td width="150"><span class="Estilo1">Mes de Consulta:</span> </td>
<td width="150"><select name="mes">
<option value="1" <? if($mes=='1') echo " selected "; ?>>Enero</option>
<option value="2" <? if($mes=='2') echo " selected "; ?>>Febrero</option>
<option value="3" <? if($mes=='3') echo " selected "; ?>>Marzo</option>
<option value="4" <? if($mes=='4') echo " selected "; ?>>Abril</option>
<option value="5" <? if($mes=='5') echo " selected "; ?>>Mayo</option>
<option value="6" <? if($mes=='6') echo " selected "; ?>>Junio</option>
<option value="7" <? if($mes=='7') echo " selected "; ?>>Julio</option>
<option value="8" <? if($mes=='8') echo " selected "; ?>>Agosto</option>
<option value="9" <? if($mes=='9') echo " selected "; ?>>Septiembre</option>
<option value="10" <? if($mes=='10') echo " selected "; ?>>Octubre</option>
<option value="11" <? if($mes=='11') echo " selected "; ?>>Noviembre</option>
<option value="12" <? if($mes=='12') echo " selected "; ?>>Diciembre</option>
</select>
</td>
</tr>
<td width="150"><span class="Estilo1">Especialidad:</span> </td>
<td width="500"><select name="especiali" onChange="javascript:Seleccionar();">
<option selected value=' '>Selecciona una opcion</option>"
<?
include("conectar.php");
$sql = "SELECT Servicio from boletin group by servicio";
$result = mysql_query($sql, $conexion);
while ($myrow = mysql_fetch_array($result))
{
if($myrow[0] == $especiali)
{
echo "<option selected value='$myrow[0]'>$myrow[0]</option>";
}
else
{
echo '<option value="'.$myrow[0].'">'.$myrow[0].'</option>';
}
}
?>
</select></td>
</tr>
<td width="150"><span class="Estilo1">Sub Especialidad:</span> </td>
<td width="500"><select name="sub_espe">
<option selected value="0">Selecciona una opcion</option>
<?
include("conectar.php");
$sql = "SELECT Especialidad from boletin where servicio = '" . $especiali . "' group by especialidad";
$result = mysql_query($sql, $conexion);
while ($myrow = mysql_fetch_array($result))
{
echo "<option value='$myrow[0]'>$myrow[0]</option>";
}
?>
</select></td>
</tr>
<TR>
<td width="100"></td>
<td width="300"><input type="submit" name="envio" value="Consultar" /></td>
</TR>
</table>
</form>

<?
}
else
{
require("funciones.php");
$especiali = $_POST['especiali'];
$mes = $_POST['mes'];
$sub_espe = $_POST['sub_espe'];
$nommes = dice_mes($mes);

echo "<table border='1' width='400'>";
echo "<tr>";
echo "<td width='100' class='tb_tit'>Mes</td>";
echo "<td width='300' class='tb_tit'>$nommes</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='100' class='tb_tit'>Especialidad</td>";
echo "<td width='300' class='tb_tit'>$especiali</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='100' class='tb_tit'>Sub Especialidad</td>";
echo "<td width='300' class='tb_tit'>$sub_espe</td>";
echo "</tr>";
echo "</table>";
echo "<br>";

include("conectar.php");
$sql = "SELECT * from boletin where mes = '" . $mes . "' and especialidad = '" . $sub_espe . "' order by accion";
$result = mysql_query($sql, $conexion);
$myrow = mysql_fetch_array($result);
tabla_encabezado($myrow[accion]);
$accion_ant = $myrow[accion];

do {

if ($myrow[accion] <> $accion_ant) {
echo "</table>"; // cerrar la tabla anterior
tabla_encabezado($myrow[accion]);
$accion_ant = $myrow[accion];
}

$xtotal = $myrow[nvo_tot] + $myrow[ctrl_total];
$h_tra = $xtotal /4;
$aps_porcen = 0;
if (($myrow[nvo_tot]) > '0') {
$aps_porcen = ($myrow[nvo_aps] / $myrow[nvo_tot])*100;
$aps_porcen = redondear_dos_decimal($aps_porcen);
}

$altas_porcen = 0;
if (($myrow[ctrl_altas]) > '0') {
$altas_porcen = ($myrow[ctrl_altas] / $myrow[ctrl_total])*100;
$altas_porcen = redondear_dos_decimal($altas_porcen);
}

echo "<tr> ";
echo "<td width='250' class='tb_dat' >$myrow[nom_medico]</td>";
echo "<td width='50' class='tb_dat2'>$xtotal</td>";
echo "<td width='50' class='tb_dat2'>$myrow[nvo_tot]</td>";
echo "<td width='50' class='tb_dat2'>$myrow[nvo_aps]</td>";
echo "<td width='50' class='tb_dat2'>$myrow[nvo_cae]</td>";
echo "<td width='50' class='tb_dat2'>$myrow[nvo_urg]</td>";
echo "<td width='50' class='tb_dat2'>$aps_porcen</td>";
echo "<td width='50' class='tb_dat2'>$myrow[ctrl_total]</td>";
echo "<td width='50' class='tb_dat2'>$myrow[ctrl_altas]</td>";
echo "<td width='50' class='tb_dat2'>$altas_porcen</td>";
echo "<td width='50' class='tb_dat2'>$myrow[nsp_total]</td>";
echo "<td width='50' class='tb_dat2'>$myrow[nsp_nvos]</td>";
echo "<td width='50' class='tb_dat2'>$myrow[nsp_ctrl]</td>";
echo "<td width='50' class='tb_dat2'>$h_tra</td>";
echo "</tr>";
} while($myrow = mysql_fetch_array($result));

echo "</table>";
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Mas antecedentes

Publicado por Rosy (64 intervenciones) el 19/08/2008 15:33:49
Diego, que bueno que leiste este mensajes, recordé que cuando hice mi programa me basé mucho en uno de ejemplo que pusiste en la pagine DriverOp, sobre listas dependientes http://www.driverop.com.ar/depselect.php.
voy echar otro vistazo a ese codigo, quizas pasé por alto algun detalle.

Saludos
Rosy
Valparaíso - Chile
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AHORA ME FUNCIONO!!!!!

Publicado por Rosy (64 intervenciones) el 19/08/2008 16:25:24
Amigos, ahora ya me funcionó!!!! estoy realmente contenta!!! Originalmente la idea la copie de la Pagina de Diego Romero, pero no habia incluido este pequeño codigo
$request_method = $_SERVER["REQUEST_METHOD"];
if ($request_method == "POST") {
$mes = @$_POST['mes'];
$especiali = @$_POST['especiali'];
} // if reqmet

La verdad que no le di mucha importancia, porque sin él me funcionaba en mi estacion de trabajo, de manera que pensé que estaba de más. En todo caso aun sigue siendo un misterio para mi porque funciona en forma local y no cuando lo subo al servidor, pero creo que tiene que ver con el ambito de las variables.

bueno saludos a todos y en especial a Diego que en forma generosa y desinteresada publica rutinas muy practicas que son de mucha ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AHORA ME FUNCIONO!!!!!

Publicado por Diego Romero (1450 intervenciones) el 19/08/2008 20:04:20
:D

Alégrome.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar