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 :

delete et insert dans une meme requête


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 68
    Points
    68
    Par défaut delete et insert dans une meme requête
    Bonjour,
    Je veux passer à un button l'exécution d'une requête qui contient à la fois les commande delete et insert,donc j'ai le code suivant qui retourne une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php //..........
    $a = isset($_POST['distrib']);
    	$b = isset($_POST['spooler']);
     
    	$req = "DELETE FROM dtinv_brassage_a3 WHERE id_bandeau_spooler='$b' or id_distribution_a3='$a'
    			INSERT INTO dtinv_brassage_a3 VALUES (default,'$a','$b')";
    	?>
    	<button type="button" onclick="<?php $dat = mysql_query($req) or die($req."<br />\n".mysql_error()); ?>">Interconnecter</button>
    merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben... faut que tu fasses deux requêtes distinctes, tout simplement.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oula !
    J'avais pas vu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="<?php $dat = mysql_query($req) or die($req."<br />\n".mysql_error()); ?>
    Faut pas rêver, tu n'arriveras jamais à exécuter une requête SQL sur le clic d'un bouton

    Il faudrait que tu revois tes fondamentaux : le PHP et le SQL, c'est côté serveur, donc avant que la page soit affichée, JavaScript, c'est côté client, donc après la fin de l'exécution du script PHP !!!

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 68
    Points
    68
    Par défaut
    Merci pour ta réponse,
    Comment je peux faire alors autrement,si je veux exécuter cette requête sur click de button? est-ce qu'il y a un moyen?

  5. #5
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 49
    Points : 48
    Points
    48
    Par défaut
    Bonjour comme le suggère Bovino il faut séparer les requêtes SQL.

    Pour le reste je te conseil d'éxécuter tes requêtes sur la page de traitement de formulaire, OU BIEN de passer tes requêtes par du javascript asynchrone.

  6. #6
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 68
    Points
    68
    Par défaut
    Comment on fait pour exécuter des requêtes mysql par javascript? est ce qu'il faut absolument passer par Ajax?

  7. #7
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    pour executer plusieurs requêtes sql à la suite tu les termine par ";"
    j'ai déjà fait des insert multiple, mais jamais essaye insert suivis de delete (a tester)

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = "DELETE FROM dtinv_brassage_a3 WHERE id_bandeau_spooler='$b' or id_distribution_a3='$a';
    INSERT INTO dtinv_brassage_a3 VALUES (default,'$a','$b');";

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 45
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    tu peux exécuter ta requête en postant ton formulaire sur le fichier lui même

    echo"<form name='formulaire' action=",$_SERVER['PHP_SELF']," method='POST'>";

    tu postes ton formulaire classiquement

    et dans ton corps de fichier tu fais

    if (isset ($_POST['xxx'])

    {
    ton traitement
    }

    le fichier va se reafficher et tu as récupéré tes nouvelles valeurs,
    le pb c'est que le formulaire se vide et qu'il faut recharger toutes les valeurs postées par des value = "<?php echo $_post['xxx'] ?>"



    Après si tu es plus aventureux tu peux essayer jquery avec le plugin ajaxform,
    c'est simple et efficace.

  9. #9
    Membre confirmé Avatar de satenske
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 143
    Points : 477
    Points
    477
    Par défaut
    Si tu connais le javascript, avec une simple requete Ajax qui appelle une page php contenant le code d'execution de la requete, et le tour est joué.

    Quand à ta requete
    $req = "DELETE FROM dtinv_brassage_a3 WHERE id_bandeau_spooler='$b' or id_distribution_a3='$a'
    INSERT INTO dtinv_brassage_a3 VALUES (default,'$a','$b')";

    Elle en contient deux, donc tu dois faire deux requetes distinctes
    En les séparent tes deux requetes par un point virgule ; je pense qu'un seul mysql_query suffit (à tester cela dit)

  10. #10
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 209
    Points : 68
    Points
    68
    Par défaut
    En fait ,le problème est que j'ai un seul form avec plusieurs fieldset,et y a un button dans chaque fieldset qui doit exécuter une requête( voir photo jointe ),est ce que je peux rajouter des forms pour chaque fieldset ou il y a une autre solution? et toutes les listes déroulantes sont fournies de la base de données
    merci
    Images attachées Images attachées  

  11. #11
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    sans utiliser ajax,jquery,javascript (a l'ancienne quoi, comme dans mon jeune temps)

    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
     
    <form action='form_target.php' method='post' target='test_iframe'>
    <input type='text' name='input_text_1' value='test1'><br/>
    <input type='text' name='input_text_2' value='test2'><br/>
    <input type='submit'>
    </form>
     
    <form action='form_target.php' method='post' target='test_iframe'>
    <input type='text' name='input_text_1' value='test11'><br/>
    <input type='text' name='input_text_2' value='test21'><br/>
    <input type='submit'>
    </form>
     
    <form action='form_target.php' method='post' target='test_iframe'>
    <input type='text' name='input_text_1' value='test12'><br/>
    <input type='text' name='input_text_2' value='test22'><br/>
    <input type='submit'>
    </form>
     
    <iframe name='test_iframe'></iframe>
    plusieurs formulaires avec comme target un iframe
    si tu veux pas voir le resultat tu ajoute style='display:none;' au iframe

Discussions similaires

  1. Plusieurs insertions (insert + select) dans une meme requête
    Par johnson95 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 09/09/2010, 15h30
  2. insertion dans une table excel à partir d'une requête access ?
    Par cameleon1881 dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/04/2009, 17h57
  3. Requête d'insertion dans une base de données
    Par Kalion dans le forum VB.NET
    Réponses: 5
    Dernier message: 25/02/2009, 13h45
  4. [SQL] Problème de requête d'insertion dans une base SAGE
    Par Swapyyy dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/07/2008, 10h14
  5. Requête d'insertion dans une base ACCESS
    Par kurul1 dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/11/2006, 17h41

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