Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1423 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  sqlite

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

sqlite

n°2033927
Bushido14
Posté le 03-11-2010 à 23:57:01  profilanswer
 

Bonjour,
 
Est-il possible de se connecter à une base sqlite3 situé sur une autre adresse que celle du site web.
 
si oui comment car dans le connect de sqlite3, je  ne vois pas de nom de host, mdp, port, etc...
 
Merci de votre réponse.

mood
Publicité
Posté le 03-11-2010 à 23:57:01  profilanswer
 

n°2034109
Bushido14
Posté le 05-11-2010 à 09:22:21  profilanswer
 

Etant donné le peu de réponse à ma question, je pense que je n'ai pas du etre assez clair.
Donc :
J'ai un serveur de jeu avec une adresse IP sur lequel, une base SQLITE3 est alimentée avec les scores des joueurs.
J'ai également un site web avec une autre adresse IP sur lequel j'aimerai afficher les scores des joueurs. Pour cela, il faut que je puisse aller chercher les informations de la base SQLITE3 dans le serveur de jeu et je ne sais pas comment il faut faire.
 
En localhost, ca marche bien.
 
Merci d'avance.

n°2034113
esox_ch
Posté le 05-11-2010 à 09:25:46  profilanswer
 

Aucune façon simple et propre de le faire, SQLite n'est pas fait pour ça.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2034123
stef_dober​mann
Personne n'est parfait ...
Posté le 05-11-2010 à 10:04:29  profilanswer
 

je te dirais de passait par un script PHP pour consulter à distance ta base SQLite3,
mais comme le dit esox_ch : Aucune façon simple et propre de le faire, SQLite n'est pas fait pour ça.


---------------
Tout à commencé par un rêve...
n°2034147
stealth35
Posté le 05-11-2010 à 10:48:37  profilanswer
 

sqlite3 c'est juste un fichier, et faudrait qu'il sois accessible, faudrait a chaque requête télécharger la base complète, pas top quoi...

n°2034230
Bushido14
Posté le 05-11-2010 à 14:07:28  profilanswer
 

Merci pour ces précisions.
 
Si je voulais dons rapatrier la base sur mon site (une fois par jour par exemple avec un script validant la date), quel serait les commandes PHP de téléchargemernt pour le faire.
 
Merci,

n°2034234
esox_ch
Posté le 05-11-2010 à 14:16:45  profilanswer
 

Non mais pourquoi tu te prends pas un vrai serveur SQL, avec une vrai base dessus, que tu attaques depuis les 2 sites?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2034279
Bushido14
Posté le 05-11-2010 à 15:42:20  profilanswer
 

parce que le fichier SQLITE3 est implémenté par le jeu lui meme et que je ne peut le changer.

n°2034289
stef_dober​mann
Personne n'est parfait ...
Posté le 05-11-2010 à 15:56:08  profilanswer
 

plutôt que de repatrier la base complété ce qui peut être lourds suivants le nombres de joueurs et les infos enregistrés.
je te dirais de passait par un script PHP avec une authentification, pour consulter à distance ta base SQLite3, le script pouvant te répondre en utilisant la fonction serialize et d'autres pour "crypter" le résultat (protection)


---------------
Tout à commencé par un rêve...
n°2034307
Bushido14
Posté le 05-11-2010 à 17:04:07  profilanswer
 

Merci stef_dobermann, c'est ce que j'aimerai bien faire, mais c'est trop pointu pour moi. t'aurais pas un script déja la dessus que je pourrais modifier ??

mood
Publicité
Posté le 05-11-2010 à 17:04:07  profilanswer
 

n°2034319
esox_ch
Posté le 05-11-2010 à 18:11:13  profilanswer
 

Trop pointu ?
Non mais quel est ton niveau de PHP, parce que là vraiment je vois pas ce qu'il y a de pointu :heink:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2034422
stef_dober​mann
Personne n'est parfait ...
Posté le 06-11-2010 à 16:15:18  profilanswer
 

Commence par faire un script PHP qui t'affiche les infos que tu as besoin,
ensuite on le modifie, mais il y a rien de très compliqué ...


Message édité par stef_dobermann le 06-11-2010 à 16:15:45

---------------
Tout à commencé par un rêve...
n°2034438
Bushido14
Posté le 06-11-2010 à 21:38:48  profilanswer
 

Désolé d'être nul !!!!
 
Voila donc le code :
 
<?php
Tentative de récuoération de données Sqlite3 depuis un autre serveur
 
$ftp_server="nom serv";
$ftp_user_name="user";
$ftp_user_pass="mdp";
 
$serveur_file='/css/orangebox/cstrike/addons/sourcemod/data/sqlite/sourcemod-local.sq3';
$monmicro_file='sourcemod-local.sq3';
echo "je suis l'echo ".$monmicro_file;
// Création de la connexion
 
$conn_id = ftp_connect($ftp_server);
 
// Authentification avec nom de compte et mot de passe
 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
 
// Vérification de la connexion
 
if ((!$conn_id) || (!$login_result)) {
echo "La connexion FTP a échoué!";
echo "Tentative de connexion à $ftp_server avec $ftp_user_name";
die;
} else {
echo "Connecté à $ftp_server, avec $ftp_user_name";
}
 
echo "Dossier courant : " . ftp_pwd($conn_id) . "\n";
 
// Tentative de modification du dossier en "somedir"
if (ftp_chdir($conn_id, "/css/orangebox/cstrike/addons/sourcemod/data/sqlite/" )) {
    echo "Le dossier courant est maintenant : " . ftp_pwd($conn_id) . "\n";
} else {  
    echo "Impossible de changer de dossier\n";
}
 
 
 
 
 
// tentative de connections à à la base
 
try
{
 // On se connecte à SQLITE
 $bdd = new PDO('sqlite:sourcemod-local.sq3', '', '');
 
}
catch(Exception $e)
{
 // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
}
 
 
$resultats=$bdd->query("SELECT * FROM players ORDER BY score DESC limit 10" ); // on va chercher tous les joueurs de la table qu'on trie par ordre croissant de score
$resultats->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
 
print ("<TABLE BORDER=\"1\">
  <CAPTION> Classement du FFA </CAPTION>
  <TR>
 <TH> Rank</TH>
 <TH> Name....................</TH>
  </TR>" );
   
 
 
while( $ligne = $resultats->fetch() ) // on récupère la liste des joueurs
{
        print ("<TD>" );
  echo ''.$ligne->score.''; // on affiche les scores
  print ("</TD>" );
  print ("<TD>" );  
  echo ''.$ligne->name.'<br />'; // on affiche les joueurs
  print ("</TD>" );
  print ("<TR>" );
}
$resultats->closeCursor(); // on ferme le curseur des résultats
print ("</TABLE>" );
 
// Fermeture de la connexion FTP.
 
ftp_quit($conn_id);
?>
 
 
Merci stef_dober

n°2034447
stef_dober​mann
Personne n'est parfait ...
Posté le 06-11-2010 à 23:29:56  profilanswer
 

donc tu passe quand même par la récupération de la base sur ton autre serveur via un FTP puis tu te connecte ?
 
à faire sur le serveur de jeu, où la base originale ce situe
 

Code :
  1. // tentative de connections à à la base
  2. try
  3. {
  4. // On se connecte à SQLITE
  5. $bdd = new PDO('sqlite:sourcemod-local.sq3', '', '');
  6. }
  7. catch(Exception $e)
  8. {
  9. // En cas d'erreur, on affiche un message et on arrête tout
  10.         die('Erreur : '.$e->getMessage());
  11. }
  12. $resultats=$bdd->query("SELECT * FROM players ORDER BY score DESC limit 10" ); // on va chercher tous les joueurs de la table qu'on trie par ordre croissant de score
  13. $resultats->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
  14. $tab = array();
  15. while( $ligne = $resultats->fetch() ) // on récupère la liste des joueurs
  16. {
  17. $tab[] = $ligne;
  18. }
  19. $resultats->closeCursor(); // on ferme le curseur des résultats
  20. echo serialize($tab);


 
ensuite j'ai plus le script en tête mais je me rappelle que quand je l'ai fais, je suis passé par CURL pour réceptionner le résultat.


Message édité par stef_dobermann le 06-11-2010 à 23:30:57

---------------
Tout à commencé par un rêve...
n°2034910
Bushido14
Posté le 09-11-2010 à 11:19:14  profilanswer
 

le connect sur le serveur1 fonctionne avec le ftp, mais je n'arrive pas à dl la base sur le serveur2 (faudrait pourvoir ouvrir une autre session ftp je pense).
 
donc mon problème n'est pas résolu.
 
et quand je me connecte à la la base sqlite, c'est forcément sur le serveur2 mais comme je ne l'est pas dl, ca ne marche pas et je n'arrive pas à me connecter sur la base sqlite du serveur 1.
 
merci

n°2034991
stef_dober​mann
Personne n'est parfait ...
Posté le 09-11-2010 à 15:02:56  profilanswer
 

sur le serveur 1 tu "installe" le script précédent et depuis le serveur 2 tu consulte ;)
pas besoin de FTP...


---------------
Tout à commencé par un rêve...
n°2034992
stealth35
Posté le 09-11-2010 à 15:07:57  profilanswer
 

Code :
  1. $resultats->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
  2. $tab = array();
  3. while( $ligne = $resultats->fetch() ) // on récupère la liste des joueurs
  4. {
  5. $tab[] = $ligne;
  6. }
  7. $resultats->closeCursor();


 
ou simplement  
 

Code :
  1. $tab = $resultats->fetchAll(PDO::FETCH_OBJ);

;)

n°2034994
stef_dober​mann
Personne n'est parfait ...
Posté le 09-11-2010 à 15:19:54  profilanswer
 

aussi c'est plus rapide mais vu que ce n'est pas le même serveur, j'ai préféré passer uniquement les données sans être dépendant d'autre chose.


---------------
Tout à commencé par un rêve...
n°2035188
Bushido14
Posté le 10-11-2010 à 11:51:21  profilanswer
 

Vous aller me trouver lourd mais :  
1 - c'est un serveur de jeux donc PHP n'est pas installé sur ce serveur.
2 - et si cela marche quand même, comment je consulte.
 
J'y connait pas grand chose, j'essaie juste d'améliorer mon site.
 
Un grand merci pour votre patience.


Message édité par Bushido14 le 10-11-2010 à 12:30:06
n°2035261
stef_dober​mann
Personne n'est parfait ...
Posté le 10-11-2010 à 14:43:31  profilanswer
 

si PHP n'est pas présent sur le serveur
- soit tu l'installe,
- soit tu est obligé de télécharger depuis le serveur 2 (où PHP est installé, ton site Web) ta base SqLite3 , ensuite de consulter ta base fraichement téléchargée.


---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  sqlite

 

Sujets relatifs
Règles de base pour un admin + SQliteavoir un script DDL compatible pgsql et sqlite
Problème de lecture de base de données SQLite (Java)aide script PHP/SQLITE
Comportement de Sqlite, Postgresql, et MySQL en cas de crash du clientCaster un SQLResult() en AS3 avec SQLite et autres questions...
[D7] structure d'un record permettant de lire un fichier .SQLITEsqlite format 3 et php..
[PHP] Sqlite 3 et Blobchat : SimpleXML ou SQLite?
Plus de sujets relatifs à : sqlite


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR