Foros del Web » Creando para Internet » Flash y Actionscript »

conecta solo la primera vez con mysql

Estas en el tema de conecta solo la primera vez con mysql en el foro de Flash y Actionscript en Foros del Web. Hola, Mi web consta de dos secciones y un menu con dos botones, una es el datagrid que se carga externamente y otra es una ...
  #1 (permalink)  
Antiguo 15/11/2008, 08:13
 
Fecha de Ingreso: agosto-2005
Mensajes: 93
Antigüedad: 18 años, 7 meses
Puntos: 0
conecta solo la primera vez con mysql

Hola,

Mi web consta de dos secciones y un menu con dos botones, una es el datagrid que se carga externamente y otra es una presentación que tambien se carga esternamente.

El datagrid carga los datos a mostrar de una base de datos mysql via php. En este datagrid muestro una sola columna y cuando pulso sobre esta me muestra el resto de datos en unos campos dinámicos situados a la derecha del datagrid. Resulta que cuando cargo por primera vez la sección del datagrid funciona bien, pero si cambio de sección y vuelvo de nuevo a la sección dl datagrid ya no me carga los datos, es decir, sólo funciona bien cuando lo cargo por primera vez. Alguna solución? Gracias

Este es el código que utilizo :

- mostraragenda.php es el fichero que carga los datos de la base de datos a Flash :
Código PHP:
<?php
    
    $link 
mysql_connect ("localhost""root""");
    
mysql_select_db("site");
    
$result mysql_query ("SELECT * FROM agenda") or die ("Invalid query");
    
    echo 
    
"<datos>";

    while(
$row mysql_fetch_array($result)) {
        echo 
    
"<pelicula>
        <id>" 
$row["id"] . "</id>
        <cab>" 
strtoupper($row["cabecera"] ). "</cab>
        <tex>" 
$row["texto"] . "</tex>
        <fec>" 
$row["fecha"] . "</fec>
        <fot>" 
$row["foto"]. "</fot>

    </pelicula>"
;
    }
    
    echo 
"</datos>";
mysql_free_result($result);
    

?>
</documento>

- el código de dentro del flash :

Código:
System.useCodepage = true;

import mx.controls.gridclasses.DataGridColumn;
import mx.styles.CSSStyleDeclaration;

//ESTIL0 DE LA CABRCERA DEL GRID
// Style for DataGrid
var styleObj:CSSStyleDeclaration= new mx.styles.CSSStyleDeclaration();
styleObj.styleName = "myStyle";
styleObj.fontFamily = "Verdana";
styleObj.fontSize = 9;
styleObj.fontWeight = "bold";
styleObj.color = 0x333333;
_global.styles["myStyle"] = styleObj;

pelis_grid.setStyle("styleName", "myStyle");
pelis_grid.setStyle("alternatingRowColors", Array(0xEAEFF4, 0xF8FAFB));
pelis_grid.setRowHeight(30);

pelis_grid.setStyle("hGridLines", true);
pelis_grid.setStyle("hGridLineColor", 0xC1D1E0);
pelis_grid.setStyle("vGridLines", true);
pelis_grid.setStyle("vGridLineColor", 0xC1D1E0);

pelis_grid.setStyle("borderStyle", "inset");
// top
pelis_grid.setStyle("buttonColor", 0xFFFFFF);
pelis_grid.setStyle("highlightColor", 0xFFFFFF);
// right and left
pelis_grid.setStyle("borderCapColor", 0xFFFFFF);
pelis_grid.setStyle("shadowCapColor", 0xFFFFFF);
// bottom
pelis_grid.setStyle("shadowColor", 0x336699);
pelis_grid.setStyle("borderColor", 0xFFFFFF);


//datagrid.resizableColumns = false;
//datagrid.setVScrollPolicy("off");

// themeColor
pelis_grid.setStyle("themeColor", 0xADC1D6); 
pelis_grid.setStyle("useRollOver", true);
pelis_grid.setStyle("textSelectedColor", 0x333333);

// rollOver on Header
pelis_grid.setStyle("rollOverColor", 0xD7FFD7);
	
// Header
//datagrid.setShowHeaders(false);

// Header style
var styleHeader:CSSStyleDeclaration= new mx.styles.CSSStyleDeclaration();
styleHeader.styleName = "myStyleHeader";
styleHeader.fontFamily = "Verdana";
styleHeader.fontSize = 10;
styleHeader.fontWeight = "bold";
styleHeader.color = 0x336699;
_global.styles["myStyleHeader"] = styleHeader;

pelis_grid.setStyle("headerStyle", styleHeader);
pelis_grid.setHeaderHeight(30);
pelis_grid.setStyle("headerColor", 0xFFFFFF);
// Mettre la fleche de tri en bleu
var headerListener = new Object();
headerListener.headerRelease = function(eventObj) {
	var target = eventObj.target;
	var owner  = target.owner;
	var dg = owner.pelis_grid;
	var colorArrow = new Color(dg.sortArrow);
	colorArrow.setRGB(0x336699); 
}
pelis_grid.addEventListener("headerRelease", headerListener);
pelis_grid.owner = this;
// --------------------



		pelis_grid.setHeaderHeight(30);
	    pelis_grid.rowHeight = 60;
		pelis_grid.headerHeight = 30;
		
		



//Declaramos variables
enviar_lv = new LoadVars();
recibir_lv = new LoadVars();
var ordenarHacia:String = new String("asc");
var ordenarPor:String = new String();
var miXML:XML = new XML();
var pelisGrid:Array = new Array();
var alOrdenar:Object = new Object();
var alClicar:Object = new Object();
var alSeleccionar:Object = new Object();
var selec_str:String = new String();





/***************************** EMPEZAMOS *********************************/

//Cargamos el XML
miXML.ignoreWhite = true;
miXML.onLoad = function(success){
	//Cargamos y llenamos el array
	if (success){
		for (i=0; i<miXML.firstChild.firstChild.childNodes.length; i++){
			pelisGrid.addItem({ID: miXML.firstChild.firstChild.childNodes[i].childNodes[0].firstChild,
								   
								   Cabecera: miXML.firstChild.firstChild.childNodes[i].childNodes[1].firstChild,
								   
								   Texto: miXML.firstChild.firstChild.childNodes[i].childNodes[2].firstChild,
								   Fecha: miXML.firstChild.firstChild.childNodes[i].childNodes[3].firstChild,
								   Foto: miXML.firstChild.firstChild.childNodes[i].childNodes[4].firstChild});
								   
								   
		}
		
		
		//Asignamos al DataSet y al DataGrid
		datos.items = pelisGrid;
		datos.filtered = false;
		pelis_grid.dataProvider = datos.dataProvider;
		
		//Propiedades del DataGrid

	pelis_grid.removeColumnAt(pelis_grid.getColumnIndex("ID"));
	pelis_grid.removeColumnAt(pelis_grid.getColumnIndex("Texto"));
	pelis_grid.removeColumnAt(pelis_grid.getColumnIndex("Fecha"));
	pelis_grid.removeColumnAt(pelis_grid.getColumnIndex("Foto"));

	
		//Deshabilitamos ordenación de las columnas, pero no las columnas
		for (i=0; i<3; i++){
			pelis_grid.getColumnAt(i).sortOnHeaderRelease = false;
		}
	}
}
miXML.load("mostraractualidad.php");





/**************************** EVENTOS *******************************/
recibir_lv.onLoad = function(){
	//Vaciamos todo y recargamos el DataGrid con los datos modificados
	pelisGrid.splice(0, pelisGrid.length);
	datos.clear();
	datos.filtered = false;
	pelis_grid.dataProvider = datos.dataProvider;
	
	_root.miXML.load("mostraractividad.php");
}

// ORDENAMOS
alOrdenar.headerRelease = function(objeto){
	//Recogemos la ordenación actual
	miOrdenacion = datos.getIterator();
	//Cogemos el nombre de la columna
	ordenarPor = objeto.target.getColumnAt(objeto.columnIndex).columnName;
	
	if (ordenarHacia == "asc"){
		miOrdenacion.sortOn([ordenarPor], 1);
		ordenarHacia = "des";
	}
	else if (ordenarHacia == "des"){
		miOrdenacion.sortOn([ordenarPor], 2);
		ordenarHacia = "asc";
	}
	//Aplicamos el nuevo orden
	datos.setIterator(miOrdenacion);
}
pelis_grid.addEventListener("headerRelease", alOrdenar);

// FILTRAMOS
alClicar.click = function(objeto){
	if (objeto.target == filtrar_btn){
		//Si no hay filtro lo ponemos y cambiamos el texto en el botón
		if (datos.filtered == false){
			datos.filtered = true;
			datos.filterFunc();
			filtrar_btn.label = "Quitar Filtro";
		}
		//Si hay filtro lo quitamos y cambiamos el texto en el botón
		else if (datos.filtered == true){
			datos.filtered = false;
			filtrar_btn.label = "Filtrar";
		}
		
		//Función filterFunc de Flash
		datos.filterFunc = function(registro:Object) {
			var res_boo:Boolean = new Boolean(false);
			var act_str:String = new String(registro.Cabecera);
			var act_array:Array = new Array();
			
			//Rompemos el string por palabras y lo metemos en un array
			act_array = act_str.split(" ");
			
			for (i=0; i<act_array.length; i++){
				var t1_str:String = new String(act_array[i]);
				var t2_str:String = new String(filtrar_txt.text);
				if (t1_str.toUpperCase() == t2_str.toUpperCase()){
					res_boo = true;
				}
			}
			
			return(res_boo == true);
		}
	}
	
}
filtrar_btn.addEventListener("click", alClicar);


alSeleccionar.change = function(objeto){
	if (objeto.target == pelis_grid){
		selec_str = objeto.target.getItemAt(objeto.target.selectedIndex).Pelicula;
		
		id_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).ID;
		cabecera_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Cabecera;
		texto_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Texto;
		fecha_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Fecha;
		foto_txt.text = objeto.target.getItemAt(objeto.target.selectedIndex).Foto;

	}
}
pelis_grid.addEventListener("change", alSeleccionar);
  #2 (permalink)  
Antiguo 15/11/2008, 11:25
Avatar de websmonerris  
Fecha de Ingreso: junio-2008
Ubicación: La Vila Joiosa
Mensajes: 89
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: conecta solo la primera vez con mysql

No se que versión de php estas utilizando, por lo que se con mysqli no hace falta cerrar la conexión, pero con la que utilizas no estoy seguro, prueba a cerrar la conexion.
__________________
Aplicaciones y Desarrollo Web
websmonerris.es
Blog Monerris (Flash, PHP y más)
monerris.wordpress.com
  #3 (permalink)  
Antiguo 15/11/2008, 13:58
 
Fecha de Ingreso: agosto-2005
Mensajes: 93
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: conecta solo la primera vez con mysql

Hola,

gracias por responder. He probado a cerrar la base de datos con

Código:
mysql_close($link);
pero sigue quedándose pillado, sólo funciona la primera vez que lo ejecuto. La web de momento la tengo en local y la versión de php es la 4.3.1.

Alguna otra sugerencia?
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 14:05.