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

PHP & Base de données Discussion :

SCRIPT qui se lance au chargement de la page


Sujet :

PHP & Base de données

  1. #1
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Par défaut SCRIPT qui se lance au chargement de la page
    Bonjour,

    J'essaie d'apprendre et de créer un site internet qui tourne avec mySQL.
    Du coup, ce n'est peut être pas très propre ce que je vous présente en code et il y a surement mieux.

    J'ai ce code en bas de ma page 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <script type="text/javascript">
    	function UpdateLvl(id)
    	{
    		alert(id);
     
    		// on set l'objet appellant
    		var monItem = document.querySelector("#" + id);
     
    		if (monItem)
    		{	
    			var str = monItem.value;
     
    			// On check si on doit supprimer l'élément ou non
    			if (str.length === 0)
    			{
    				<?php
    					try
    					{
    						$bdd = bdd_connexion();
    					}
    					catch (Exception $e)
    					{
    						die('Erreur : ' . $e->getMessage());
    					}
    					$response = $bdd->query('DELETE FROM T_PlayersJobs WHERE T_PlayersJobs.pj_IDPlayer=\'5\' AND T_PlayersJobs.pj_IDJobs=\'5\'') or die(print_r($bdd->errorInfo()));
    				?>				
    			}
    			else
    			{
    				// connexion à la base de données
    				<?php
    					try
    					{
    						$bdd = bdd_connexion();
    					}
    					catch (Exception $e)
    					{
    						die('Erreur : ' . $e->getMessage());
    					}
     
    					$response = $bdd->query('INSERT INTO T_PlayersJobs(pj_IDPlayer, pj_IDJobs, pj_Lvl) VALUES(6, 5, 7)') or die(print_r($bdd->errorInfo()));
    				?>
    			}
    		}
    		else
    		{
    			alert("Une erreur est survenue et nous n'avons pas pu trouver l'élément associé.");
    		}
    	}
    </script>
    Le problème que je rencontre est qu'il a l'air de s'exécuter au chargement de la page, en me faisant la requête d'insertion.
    Sauf que je ne souhaite pas qu'il se lance au chargement de la page mais plutôt via l'un de mes input de type="numeric" qui sont générés dynamiquement depuis des données mySQL (dont le code création est le suivant).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<input class='grp_Lvl_TH' type='number' onChange=UpdateLvl('lvl_" . $resultat['jo_ID'] . "') id='lvl_" . $resultat['jo_ID'] . "' name='lvl_" . $resultat['jo_ID'] . "' min='1' max='80'>";
    Voilà. Je ne sais pas comment me sortir de ça...

    Merci d'avance pour vos idées !

    Cordialement,

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 573
    Par défaut
    il y a un souci d'organisation dans votre code, vous mélangez le code côté serveur (PHP) et côté client (JavaScript).

    la plupart du temps les étapes de l'appel d'une page sont les suivants en simplifant
    1. le client (le navigateur) envoie une requête HTTP au serveur, par exemple pour cette page le serveur est "www.developpez.net" et la requête HTTP GET "/forums/d2100891/php/php-base-donnees/script-se-lance-chargement-page/"
    2. PHP : le serveur lance le code qui va générer la page
    3. le code HTML, CSS et JavaScript généré est envoyé au navigateur
    4. JavaScript : le navigateur lance le code JavaScript


    ensuite si vous voulez rester sur la page et envoyer une requête HTTP à partir de JavaScript, vous pouvez utiliser le système AJAX :
    https://javascript.developpez.com/fa...ipt/?page=Ajax

  3. #3
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Par défaut
    Bonsoir,

    Merci pour la réponse.

    Après quelques nouvelles recherches, j'ai compris que cette façon de faire "n'existait".
    J'essaie de faire tourner Ajax mais j'admets que j'ai du mal à comprendre comment cela fonctionne exactement.

    Cordialement,

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/10/2014, 16h55
  2. /etc/init.d/script qui se lance plusieurs fois
    Par N_BaH dans le forum Administration système
    Réponses: 1
    Dernier message: 01/11/2009, 06h55
  3. Lancer un script avant la fin du chargement de la page
    Par billboc dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/07/2007, 01h51
  4. un script qui se lance automatiquement
    Par Tauros_king dans le forum Langage
    Réponses: 1
    Dernier message: 21/05/2007, 14h03
  5. [ImageMagick] getimagesize qui fait ralentir le chargement d'une page ?
    Par Death83 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 18/10/2005, 20h08

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