Exécution d'une action lors du click sur LinkButton
Bonjour,
J'expose mon problème. J'ai une base de données dans laquelle j'ai la table suivante:
Code:
1 2 3 4 5 6 7 8
|
CREATE TABLE IF NOT EXISTS `maj` (
`nom` varchar(250) NOT NULL,
`mail` varchar(250) NOT NULL,
`sujet` varchar(250) NOT NULL,
`fileName` varchar(100) NOT NULL,
`fileURL` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; |
Le champ "fileName" correspond au nom d'un fichier que j'upload vers mon serveur, "fileURL" correspond au chemin de ce fichier.
Exemple:
Code:
1 2 3
|
INSERT INTO `maj` (`nom`, `mail`, `sujet`, `fileURL`) VALUES
('monNom', 'monNom@developpez.net', 'test', 'http://localhost/uploads/25-05-2009_Image.csv'); |
Comme vous avez du le remarquer mon fichier est de type CSV.
Sur Flex, je récupère le contenu de cette table dans un datagrid:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
initialize="initialisation()">
<!-- RemoteObject: accès service distant AMFPHP -->
<mx:RemoteObject id="ROService" showBusyCursor="true"
source="classif_amfphp.traitement" destination="amfphp"> <!-- modifier la source (répertoire.fichier.php)-->
<mx:method name="getRequetesRegions" result="getRequetesRegionsResult(event)" />
</mx:RemoteObject>
<!-- On fait appel au fichier ActionScript contenant toutes les fonctions
et les packages Actionscript utilisés -->
<mx:Script source="../actionscript/amfphp/affichage.as"/>
<mx:Label text="Sollicitations des régions" styleName="titre2" horizontalCenter="0" verticalCenter="-180">
</mx:Label>
<mx:DataGrid selectionColor="0xf37021" id="datagrid_requetesRegions" dataProvider="{getRequetesRegionsAC}" horizontalCenter="0" verticalCenter="20"
alternatingItemColors="[#ffffff, #00A5B9]" backgroundAlpha="0.6" height="340" width="340">
<mx:columns>
<!--dataField correspond au champ de la table-->
<mx:DataGridColumn headerText="Nom" dataField="nom" width="80"/>
<mx:DataGridColumn headerText="Adresse email" dataField="mail" width="100"/>
<mx:DataGridColumn headerText="Sujet" dataField="sujet" width="120"/>
<mx:DataGridColumn headerText="fileURL" dataField="fileURL" width="130" visible="false"/>
<mx:DataGridColumn headerText="Téléchargement" itemRenderer="renderers.FileUrlRenderer" width="210"/>
</mx:columns>
</mx:DataGrid>
</mx:Canvas> |
Dans l'instruction: <mx:dataGridColumn headerText="Téléchargement" itemRenderer="renderers.FileUrlRenderer" width="210"/> je fais appel à un fichier "FileUrlRenderer.mxml" qui me permet de télécharger le fichier CSV.
Le contenu du fichier "FileUrlRenderer" est le suivant:
Code:
1 2 3 4
| <?xml version="1.0" encoding="utf-8"?>
<mx:LinkButton xmlns:mx="http://www.adobe.com/2006/mxml" label="Télécharger le fichier"
click="navigateToURL(new URLRequest(data.fileURL))"/> |
Ce que j'aimerais faire c'est avoir dans mon datagrid une autre colonne avec un bouton pour chaque enregistrement. Sachant que mes fichiers sont de type CSV, le click sur ce bouton doit déclencher l'ouverture de ce fichier CSV et l'import de son contenu vers une BDD. Je sais déjà importer vers la BDD. Mais la difficulté pour moi est comment ouvrir le fichier correspondant à chaque enregistrement??
Pour l'ouverture de mon fichier je me sert d'un script PHP très simple qui est le suivant:
Code:
1 2
|
$fp = fopen("../../../classif/uploads/Image.csv","r"); //lecture |
J'espère avoir été explicite. Merci.