Varias

He preparado un equipo como servidor con Windows NT y le he instalado Apache, MySQL y PHP.
- Necesito que al cargar una página, esta se actualice automáticamente o que no se cargue en la cache. El problema que tengo es que tengo una página que muestra unos datos de una base de datos, pero siempre que accedo a esta página, tengo que dar a actualizar, ya que me aparecen los últimos datos.
- Otro problema, es que cuando conecto con una base de datos MySQL, no se desconectar. Ejemplos:
$link = mysql_connect("localhost", "root");
mysql_select_db("musica", $link);
$sql1 = "SELECT * FROM discos WHERE codigo = $varcodigo";
$result1=mysql_db_query("musica", $sql1);
$field1 = mysql_fetch_array($result1);
$sql2 = "INSERT INTO historicomusica (codigo, ...) ".
"VALUES (''$field1[codigo]',...)";
$result2 = mysql_query($sql2, $link);
$sql3 = "DELETE FROM musica WHERE codigo = $varcodigo";
$result3 = mysql_query($sql3, $link);
mysql_free_result ($result1); No me da error (result1 es al utilizar SELECT)
mysql_free_result ($result2); Me da error (result1 es al utilizar INSERT)
mysql_free_result ($result3); Me da error (result1 es al utilizar DELETE)
Tambien me da error al usarlo con UPDATE.
- Sabrías decirme, como se hace que un botón se desplace arriba/abajo a medida que desplazas la pantalla con la barra de desplazamiento vertical.

1 respuesta

Respuesta
1
Para que el navegador no guarde la página en cache, pon esto justo al principio de tu página, antes de que cualquier carácter se mande al navegador:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
En cuanto al segundo problema, no temas. Hay consultas sql que devuelven registros (select) y otras que no (el resto).
Y lo ultimo, es complicado. Deben haber scripts ya hechos por ahí con los que podrás hacer lo que dices. El tema esta en jugar con layers (netscape) y divs (explorer). Aunque si lo he visto nunca he implementado lo que me dices, por eso no puedo mostrarte nada de ejemplo.
Perdona, no he recibido tu pregunta..
He puesto las siguientes lineas como me has indicado, lo primero:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
Pero lo que hace es aparecerme estas mismas lineas en la página.
Uso IE
Esas lineas son código PHP...
deben ir encerradas entre <?php ... ?>
Que puedo hacer para solucionar el tema de las tablas que están abiertas después de acceder a ellas, ya que después de usarlas, no puedo borrarlas desde el explorador, ya que me indica que están usándose por otro programa, te recuerdo:
$link = mysql_connect("localhost", "root");
mysql_select_db("musica", $link);
$sql1 = "SELECT * FROM discos WHERE codigo = $varcodigo";
$result1=mysql_db_query("musica", $sql1);
$field1 = mysql_fetch_array($result1);
$sql2 = "INSERT INTO historicomusica (codigo, ...) ".
"VALUES (''$field1[codigo]',...)";
$result2 = mysql_query($sql2, $link);
$sql3 = "DELETE FROM musica WHERE codigo = $varcodigo";
$result3 = mysql_query($sql3, $link);
mysql_free_result ($result1); No me da error (result1 es al utilizar SELECT)
mysql_free_result ($result2); Me da error (result1 es al utilizar INSERT)
mysql_free_result ($result3); Me da error (result1 es al utilizar DELETE)
EL php libera todos los recursos automáticamente al finalizar el script (a
menos, claro, que estés usando conexiones persistentes, que no es el caso).
Por tanto normalmente no hace falta hacer eso, ni usar mysql_close().
No se porque no puedes borrar las tablas después, seguro que es alguna cosa sin importancia que pasas por alto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas