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

Wesley972 6 Messages postés mardi 28 février 2012Date d'inscription 23 avril 2013 Dernière intervention - 8 mars 2012 à 11:30 - Dernière réponse : Wesley972 6 Messages postés mardi 28 février 2012Date d'inscription 23 avril 2013 Dernière intervention
- 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
?>
-----------------------------------------------------------
Afficher la suite 

Votre réponse

5 réponses

NHenry 14182 Messages postés vendredi 14 mars 2003Date d'inscription 25 mai 2018 Dernière intervention - 8 mars 2012 à 19:59
0
Merci
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
---
Commenter la réponse de NHenry
Wesley972 6 Messages postés mardi 28 février 2012Date d'inscription 23 avril 2013 Dernière intervention - 8 mars 2012 à 20:39
0
Merci
oui en php
Commenter la réponse de Wesley972
NHenry 14182 Messages postés vendredi 14 mars 2003Date d'inscription 25 mai 2018 Dernière intervention - 8 mars 2012 à 20:42
0
Merci
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
---
Commenter la réponse de NHenry
Wesley972 6 Messages postés mardi 28 février 2012Date d'inscription 23 avril 2013 Dernière intervention - 8 mars 2012 à 20:51
0
Merci
ok pas de souci, je ferais attention la prochaine fois!
Commenter la réponse de Wesley972
Wesley972 6 Messages postés mardi 28 février 2012Date d'inscription 23 avril 2013 Dernière intervention - 9 mars 2012 à 13:31
0
Merci
Ya du monde c'est vraiment immportant!!
Commenter la réponse de Wesley972

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.