[Déplacé C# -> PHP] Récupérer fichier avec pdo

Wesley972 Messages postés 6 Date d'inscription mardi 28 février 2012 Statut Membre Dernière intervention 23 avril 2013 - 8 mars 2012 à 11:30
Wesley972 Messages postés 6 Date d'inscription mardi 28 février 2012 Statut Membre Dernière intervention 23 avril 2013 - 9 mars 2012 à 13:31
Salut à tous,
Voila je suis dans un casse-tête et j'aurais besoin de votre aide. Ici vous verrez ci dessous deux classes: la classe connexion et la classe file
La classe connexion que j'ai déjà instancier sert à se connecter sur la bdd où je peux lire ou écrire dedans.
Ensuite une fois cela fait, je dois instancier la classe file pour créer un fichier(peut importe) que je récupère grâce aux données de la base avec PDO.
Mais je bloque dessus, donc j'aimerais savoir déjà si tout ce que j'ai réaliser est bon jusqu'à maintenant et par la suite trouver une solution à mon problème.

Merci par avance
---------------------------------------------------------------
<?php
class File
{
protected $_file = null;
protected $_lines = array();

public function __construct()
{

}

protected function _download()
{
// code PHP pour aller chercher sur un FTP
// sauvegarde du fichier télécharger quelque part en local
$this->_file = 'nom_fichier_enregistré';
}

public function read()
{
if (is_null($this->_file)) {
$this->_download();
}

$file = $this->_file;
// traitement du fichier avec le fopen
foreach ($lines as $line) {
$this->_lines[] = array('date', 'temperature', 'pluviometrie','vent','direction du vent');
}
}

public function getLines()
{
return $this->_lines;
}

public function toHtml()
{
//boucle LE tableau (que je viens de construire depuis les lignes du fichier) et qui le reconduit au html
$html = '';
foreach ($this->_lines as $line) {
$html .= $line['date'];
$html .= $line['temperature'];
$html .= $line['pluviometrie'];
$html .= $line['vent'];
$html .= $line['direction du vent'];
}

return $html;
}
}
?>
--------------------------------------------------------------------------------
<?php
class Mysql
{
private
$Server = '',
$Bdd = '',
$Login = '',
$Mdp = '',
$Link = '',
$Debug = true,
$NbRequest = 0;

/**
* Constructeur de la classe
* Connexion aux serveur de base de donnée et sélection de la base
*
* $Server = L'hôte (ordinateur sur lequel Mysql est installé)
* $Bdd = Le nom de la base de données
* $Login = Le nom d'utilisateur
* $Mdp = Le mot de passe
*/
public function __construct($Server 'localhost', $Bdd 'base', $Login = 'root', $Mdp = '')
{
$this->Server = $Server;
$this->Bdd = $Bdd;
$this->Login = $Login;
$this->Mdp = $Mdp;
$this->Link=mysql_connect($this->Server, $this->Login, $this->Mdp);

if(!$this->Link && $this->Debug)
throw new MySQLExeption('Erreur de connexion au serveur MySql!!!');

$Base = mysql_select_db($this->Bdd,$this->Link);

if (!$Base && $this->Debug)
throw new MySQLExeption('Erreur de connexion à la base de donnees!!!');
}

/**
* Retourne le nombre de requêtes SQL effectué par l'objet
*/
public function getRturnNbRequest()
{
return $this->NbRequest;
}

/**
* Envoie une requête SQL et récupère le résultât dans un tableau pré formaté
*
* $Requete = Requête SQL
*/
public function getTabResSQL($Request)
{
$i = 0;
$Resource = mysql_query($Request,$this->Link);
$TabResult =array();

if (!$Resource and $this->Debug) throw new MySQLExeption('Erreur de requête SQL!!!');
while ($Line = mysql_fetch_assoc($Resource))
{
foreach ($Line as $key => $value) $TabResult[$i][$key] = $value;
$i++;
}
mysql_free_result($Resource);
$this->NbRequest++;
return $TabResult;
}

/**
* Envoie une requête SQL et retourne le nombre de table affecté
*
* $Requete = Requête SQL
*/
public function getExecuteSQL($Request)
{
$Resource = mysql_query($Request,$this->Link);
if (!$Resource and $this->Debug) throw new MySQLExeption('Erreur de requête SQL!!!');
$this->NbRequest++;
$NbAffect = mysql_affected_rows();
return $NbAffect;
}
}
?>
---------------------------------------------------------------
<?php
try
{
$connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_login, $PARAM_mdp);
}

catch(Exception $e)
{
echo 'Une erreur est survenue : ' . $e->getMessage();
die();
}

$TabResult=$connexion->query("SELECT ... FROM .... ORDER BY .. ASC"); // on va chercher tous les valeurs de la table qu'on trie par ordre croissant
$TabResult->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
while( $line = $TabResult->fetch() ) // on récupère la liste des valeurs
{
echo 'Login : '.$line->value.'
'; // on affiche les valeurs
}
$TabResult->closeCursor(); // on ferme le curseur des résultats
?>
-----------------------------------------------------------

5 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
8 mars 2012 à 19:59
Bonjour,

C'est du VB ou du PHP ta question ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
0
Wesley972 Messages postés 6 Date d'inscription mardi 28 février 2012 Statut Membre Dernière intervention 23 avril 2013
8 mars 2012 à 20:39
oui en php
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
8 mars 2012 à 20:42
Bonjour,

Attention à la catégorie, j'ai déplacer le sujet.

Quand tu postes un code, lis le point 2 de ma signature.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
0
Wesley972 Messages postés 6 Date d'inscription mardi 28 février 2012 Statut Membre Dernière intervention 23 avril 2013
8 mars 2012 à 20:51
ok pas de souci, je ferais attention la prochaine fois!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Wesley972 Messages postés 6 Date d'inscription mardi 28 février 2012 Statut Membre Dernière intervention 23 avril 2013
9 mars 2012 à 13:31
Ya du monde c'est vraiment immportant!!
0
Rejoignez-nous