[RESOLU] Copie automatique d'une table vers une seconde base

Petit nouveau ! | 8 Messages

23 mai 2013, 09:48

Bonjour,

j'ai deux sites de petites annonces :

monsiteprincipal.com et monsitesecondaire.com

Je souhaiterais que les petites annonces postées sur monsitesecondaire.com fassent également partie de la base de monsiteprincipal.com.

Merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

25 mai 2013, 15:45

salut,


il te suffit d'organiser la copie de l'une sur l'autre ou de simplement utiliser une seule base.

il est aussi possible d'utiliser plusieurs connexion dans même script php.

si les bases ne sont pas chez le même hébergeurs tu peux utiliser un web service pour alimenter la seconde base.

Il existe plein de solution, a toi de voir la plus simple pour toi, sachant que suivant les droits entre les bases et le sgbd il est aussi possible de la faire en SQL directement.


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 8 Messages

25 mai 2013, 16:19

Merci moogli,
il te suffit d'organiser la copie de l'une sur l'autre ou de simplement utiliser une seule base.
Je ne suis pas certain de bien comprendre...

En fait, je voudrais qu'à chaque annonce postée sur monsitesecondaire.com celle ci soit automatiquement écrite aussi sur monsiteprincipal.com

Les 2 bases sont chez le même hébergeur.

Je suis loin d'être un cador en SQL et PHP et je voudrais savoir quelle manip je dois faire.

Merci d'avance.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

25 mai 2013, 17:45

tu peux ajouter une nouvelle connexion vers la base principale et faire la requete sur les deux base lors de l'insertion de l'annonce.

cela signifie aussi d'ajouter les données annexes dans la base du site principal (l'utilisateur qui poste l'annonce avec ses infos notamment ;) ).

par exemple cela peux donner
<?php
$connexionSite2 = mysqli_connect('host site 2', 'user', 'password');
$connexionSite1 = mysqli_connect('host site 1', 'user', 'password');

if( $laconditionDevalidationduformulaire){
    $sql = 'insert into latable ....';
    mysqli_query($connexionSite1,$sql);
    mysqli_query($connexionSite2,$sql);
}
?>

Bon c'est basique mais le principe est la.

Attention cela rend ton code couplé à l'autre site il serait préférable de faire un webservice pour cela sur le site 1.
Par exemple tu passe toutes les infos dans une requête vers le script du site principal qui va tout insérer dans la base du site.


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 8 Messages

26 mai 2013, 14:14

Oui, bon ben, heu... je savais que j'avais des carences mais là je comprends que je suis complètement à la ramasse, tu aurais écrit en chinois que j'aurais pas mieux compris. 8-| je crois que je vais embaucher un pro sur ce coup là.

Merci de m'avoir ouvert les yeux moogli.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 mai 2013, 22:17

de rien, ce n'est pas forcément complexe, mais comme tout développement, il faut bien architecturer la chose sinon c'est la merde.

et la pour le coup je pense que la bonne architecture c'est un webservice (rest ou soap) coté site principal, que tu consommera sur le second.

L'avantage c'est que tu pourra ajouter autant de site ensuite tu utilisera toujours le même web service sur le 1er site ;)


bon courage

ps : si tu pense que le sujet est résolu, peux tu cliquer sur le bouton vert en haut ? :)

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 8 Messages

27 mai 2013, 18:35

Je ne vois pas ce bouton vert :|

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

27 mai 2013, 22:00

ben a droite du titre ...

je le fait pour toi.


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 8 Messages

29 mai 2013, 05:05

Merci Moogli.