IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Fenêtre invisible (pour MAJ BDD) ?


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut [PHP-JS] Fenêtre invisible (pour MAJ BDD) ?
    Bonjour à tous !

    Et hop, une nouvelle question de noob !
    J'ai cherché dans les forums "popup invisible" mais bon.. La seule solution trouvée est de déplacer la fenêtre en dehors de l'écran, mais ils ont dit que ct pas bien du tout de faire ca

    Alors ma question :
    Pour mon site (un site de rencontre, en construction), j'ai besoin parfois d'effectuer des opérations sur la BDD.
    Exemple 1 : liste d'ami, je veux supprimer un ami grâce au "onClick()" d'une image... Je suis bien obligé de mettre mon code de suppression dans une nouvelle fenetre non ? (puisque dans le onclick je peux pas faire appel a une fonction php il me semble... si oui, dsl, je suis noob en php comme je l'ai dit)
    Exemple 2 : idem, mais pour un message de la boite aux lettres d'un membre

    Voilà, mon problème est que ces exemples me forcent à ouvrir une fenêtre qui sert à rien (que pour l'instant je cache au bout d'une seconde grace a un setTimeOut), seulement à faire le ménage dans la BDD... Et puis tant qu'a faire un ptit opener.location.reload(true); histoire de rendre ca un peu dynamique.

    Puis-je cacher cette fenêtre ? Ou utiliser une autre méthode afin de ne pas avoir de fenêtre débile comme ca qui sert à rien du tout ? (par exemple dans gmail quand tu supprimes un message ben ca met à jour directement la liste, pas de fenetre bidon ! lol)

    Si vous avez des idées... Merci d'avance

    Lideln

  2. #2
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Par défaut
    Pas forcement besoin de pop-up
    Qui t'a mit cette idée dans la tete

    Tu creer une page amis.php et messages.php et tu fais un switch

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    $action = $_GET['action'];
     
    switch ($action) {
     
    case supprimer:
    requete de suppression
    break;
     
    case envoyer:
    requete d'envoi
    break;
     
    default;
    voir les messages par defaut
    break;
     
    }
    non ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Ah d'accord mais ca force à trimballer des variables GET a chaque appel de page ? Remarque... pourquoi pas Jvais essayer et ensuite jmets le topic en résolu si ca marche (quoique je préférerais un appel de fonction lol ca m'évitera de jouer avec les variables :p)

    Merci en tous cas !

  4. #4
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Par défaut
    Ben regarde sur le net navigue et tu verra :

    TOUS les sites un peu évolués ont des adresses de la forme http://www.lesite.com?action=read&id=15=type=a ....

    Si tu code bien, que tu mets des commentaires dans ta page (avec /* */) et que tu nommes bien tes variables, tu verra ca te paraitra plus clair

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    En effet, foret d'Elwynn !!!
    (je sais que c'est une foret... mais d'où ? me souviens pas...)

    J'ai testé ton idée et ca marche impeccable
    Par contre je trouve ca un peu lourd dans ce cas la :

    J'affiche une liste de membres lors d'une recherche de l'utilisateur.
    Donc en gros tu comptes 10 à 20 membres par page, jsé pas encore.
    L'utilisateur se dit "tiens, ce membre a l'air sympa, je vais l'ajouter comme ami !", et il peut cliquer sur une image pour l'ajouter a ses amis.
    Pour l'instant la technique que je garde est de mettre le code dans une autre page ("ajouter_ami.php?pseudo=blabli") mais ca oblige a avoir cette satanée fenetre qui s'ouvre juste pour dire "ce membre a bien été ajouté a vos amis".
    C'est plus clair tu me diras !

    Par contre si je fais avec ta technique, ca veut dire que ca va recharger la page et refaire la requete SQL pour la liste de profils...

    Enfin bon, merci pour ta technique, je mets ce sujet en résolu

    Tant que j'y suis une tite question :
    j'ai une page index.php avec 2 iframes. dans le iframe "menu_gauche" j'ai le menu utilisateur avec notamment une phrase qui indique combien de messages il a (pour lui rappeler d'aller consulter sa messagerie), et dans le iframe "container" j'ai la page qui contient tout le reste (messagerie, recherche, etc.)

    J'aimerais que, lors d'un clic sur l'icone de suppression d'un message, (bon, déjà ca reload la page messagerie grace a toi heheeee), ca me reload AUSSI la page menu_gauche_connected.php qui est chargée dans le 1er iframe de ma page index.php (le 2eme iframe contenant donc messagerie.php)

    Tu saurais comment faire ? car je m'y perds un peu... Est ce que je dois utiliser javascript pour ca ? J'ai déjà essayé, avec genre "parent.location" etc mais ca marche po :p

    Merci,

    Lideln

  6. #6
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Salut,

    si j'ai bien compris, tu souhaites que lorsque l'on effectue une action dans l'iframe principale cela recharge l'iframe menu.

    Il faut que tu ajoutes un action au onclick qui devrait ressembler à quelque chose comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.parent.document.getElementById("iframe_menu").contentWindow.location = 'la page';
    window étant la iframe *principale* et parent la fenetre *globale*.

    Ceci dit, rien ne t'empeche de plutot utiliser une fonction.
    Dans la fenetre principale tu ajoutes une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function reloadMenu()
    {
    document.getElementById("iframe_menu").contentWindow.location = 'la page';
    }
    Puis dans l'iframe principale, au onclick tu appelles la fonction dans la fenetre parent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...onclick="window.parent.reloadMenu();"...
    bbye

  7. #7
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Par défaut
    pour les frames je suis pas tres "calé" et je te conseil de ne pas les utiliser ...

    Mais pour revenir a ton probleme (ajouter amis) tu peux rajouter une 'case' dans amis.php. Au final ca fait ca pour les messages et les amis :

    amis.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $action = $_GET['action'];
     
    switch ($action) {
     
    case ajouter:
    $ami = $_GET['ami'];
    break;
     
    case supprimer:
    $ami = $_GET['ami'];
    break;
     
    default;
    voir les les amis par defaut
    break;
     
    }
    messages.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $action = $_GET['action'];
     
    switch ($action) {
     
    case supprimer:
    requete de suppression
    break;
     
    case envoyer:
    requete d'envoi
    break;
     
    default;
    voir les messages par defaut
    break;
     
    }

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Hello !

    Merci ePox pour la réponse à ma 2eme question, je me perds un peu dans tous ces chemins relatifs, sans moyen de vérifier si on est dans le vrai ou pas lol
    Donc merci, je vais tester ca des que possible

    Elwynn, j'utilise les iFrame paceke ca me semble assez joli et ca évite de tout reload a chaque clic.
    Pour ce qui est des switch, oui j'ai testé ta méthode et ca marche impeccablement Mon probleme venait surtout du fait que je voulais pas le faire pour la page "affiche_recherche.php" car pour ajouter en ami un membre affiché dans ces résultats de recherche, cela me forcerait à refaire la recherche (avec le LIMIT(idx, 10) bien sur), et je ne sais pas si c'est très optimisé de faire ca, voilou

    En tous cas merci à vous pour vos réponses !
    Je reviendrai bientot avec d'autres questions heheheheeeee

    A+

    Lideln

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script + algorithme pour MAJ bdd - mysql
    Par jpm26 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 28/10/2014, 22h43
  2. [MySQL] Parcours tableau php et prise en compte changement pour insertion BDD
    Par Florian_mbf dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/05/2013, 13h59
  3. Application vb passant par le net pour maj BDD
    Par zilien974 dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/03/2011, 17h32
  4. Liste PHP/MySQL avec un DIV invisible pour chaque enregistrement
    Par pp_le_moko dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/01/2011, 19h43
  5. boite de dialogue en php pour recherche bdd
    Par tilily dans le forum Langage
    Réponses: 4
    Dernier message: 22/11/2010, 17h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo