Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoi de donnée vers une bdd avec Angular JS

Sujet résolu
8 avril 2015 à 20:01:32

Bonjour,

J'aimerais savoir comment faire pour envoyer des donnée vers une base donnée.. 

D'ailleurs peut-on utiliser une base de donnée SQL avec Angular JS ?

Merci d'avance pour vos futur réponses. :D

EDIT (20h06) - J'ai lu quelque part que l'on devais créer notre propre "serveur" PHP.. Comment faire ?

-
Edité par mika445 8 avril 2015 à 20:07:58

  • Partager sur Facebook
  • Partager sur Twitter
8 avril 2015 à 21:08:33

Bonjour,

Tu dois faire une requete ajax vers un page php qui va faire ton insertion/update de ta base de donnée.

https://docs.angularjs.org/api/ng/service/$http

  • Partager sur Facebook
  • Partager sur Twitter
Un petit +1 si je vous ai aidé est toujours appréciable :).
8 avril 2015 à 22:55:02

Krogoth a écrit:

Bonjour,

Tu dois faire une requete ajax vers un page php qui va faire ton insertion/update de ta base de donnée.

https://docs.angularjs.org/api/ng/service/$http


Merci pour la doc :D, mais aurais-tu un code d'exemple ?

Car j'ai du mal à comprendre.. 

Bonne soirée :D

  • Partager sur Facebook
  • Partager sur Twitter
27 mars 2017 à 11:54:01

voici un exemple

config.php

<?php

  /****** Database Details *********/

    $host      = "localhost";
    $user      = "root";
    $pass      = "";
    $database  = "maxteco";
    $con       = mysql_connect($host,$user,$pass);

    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db($database,$con);

    /*******************************/

?>

newsletter.php

<?php

    //gestion des droits d'acces des apis
	header("Access-Control-Allow-Origin: *");

	//inclusion de la connexion a la bd
	include('config.php');

	if($_GET['action'] === 'newsletter'){
		newsletter();
	}

	function newsletter() {
        $data = json_decode(file_get_contents("php://input"));

        $email = $data->email;

        print_r($data);
        $qry = 'INSERT INTO newsletter (email) values ("' . $email . '")';

        $qry_res = mysql_query($qry);
        if ($qry_res) {
            $arr = array('msg' => "Email Added Successfully!!!", 'error' => '');
            $jsn = json_encode($arr);
            // print_r($jsn);
        }
        else {
            $arr = array('msg' => "", 'error' => 'Error In inserting record');
            $jsn = json_encode($arr);
            // print_r($jsn);
        }
    }
?>

app.js

tu me ce bout de code au lieu indique

$scope.newsletter = function(){
        $http.post("http://localhost:8080/newsletter.php?action=newsletter",
            {'email':$scope.email})
            .success(function(data){
                console.log("votre message a ete envoye");
                $scope.email = '';
            }).error(function(error){
                $scope.color='red';
            })
    }

et dans ton html

<form id="subscribe-form">
                        <div class="success">Your subscription request<br /> has been sent!</div>
                        <fieldset>
                            <label class="email">
                              <input type="email" ng-model="email" value="Enter your email..." />
                              <span class="error">*This is not a valid email address.</span></label>
                            <div class="btns">
                                <a href="#" ng-click="newsletter()" class="button" data-type="submit">submit</a>
                            </div>
                        </fieldset>
                    </form>




  • Partager sur Facebook
  • Partager sur Twitter
ferry francois bakongo
27 mars 2017 à 13:30:28

J'ose espérer qu'il a eu sa réponse entre temps...ca fait quand même 2 ans!!!
  • Partager sur Facebook
  • Partager sur Twitter
Un petit +1 si je vous ai aidé est toujours appréciable :).
27 mars 2017 à 19:57:10

on ne sais jamais il peux avoir laisser tomber hihihhihihi !!!
  • Partager sur Facebook
  • Partager sur Twitter
ferry francois bakongo
18 mai 2017 à 17:45:25

Voilà merci beaucoup. Je cherchais ça depuis des jours


Ferry François a écrit:

voici un exemple

config.php

<?php

  /****** Database Details *********/

    $host      = "localhost";
    $user      = "root";
    $pass      = "";
    $database  = "maxteco";
    $con       = mysql_connect($host,$user,$pass);

    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db($database,$con);

    /*******************************/

?>

newsletter.php

<?php

    //gestion des droits d'acces des apis
	header("Access-Control-Allow-Origin: *");

	//inclusion de la connexion a la bd
	include('config.php');

	if($_GET['action'] === 'newsletter'){
		newsletter();
	}

	function newsletter() {
        $data = json_decode(file_get_contents("php://input"));

        $email = $data->email;

        print_r($data);
        $qry = 'INSERT INTO newsletter (email) values ("' . $email . '")';

        $qry_res = mysql_query($qry);
        if ($qry_res) {
            $arr = array('msg' => "Email Added Successfully!!!", 'error' => '');
            $jsn = json_encode($arr);
            // print_r($jsn);
        }
        else {
            $arr = array('msg' => "", 'error' => 'Error In inserting record');
            $jsn = json_encode($arr);
            // print_r($jsn);
        }
    }
?>

app.js

tu me ce bout de code au lieu indique

$scope.newsletter = function(){
        $http.post("http://localhost:8080/newsletter.php?action=newsletter",
            {'email':$scope.email})
            .success(function(data){
                console.log("votre message a ete envoye");
                $scope.email = '';
            }).error(function(error){
                $scope.color='red';
            })
    }

et dans ton html

<form id="subscribe-form">
                        <div class="success">Your subscription request<br /> has been sent!</div>
                        <fieldset>
                            <label class="email">
                              <input type="email" ng-model="email" value="Enter your email..." />
                              <span class="error">*This is not a valid email address.</span></label>
                            <div class="btns">
                                <a href="#" ng-click="newsletter()" class="button" data-type="submit">submit</a>
                            </div>
                        </fieldset>
                    </form>






  • Partager sur Facebook
  • Partager sur Twitter
20 mai 2017 à 17:18:51

de rien c'est un plaisir d'aider ne pas oublier de mettre résolu :)

  • Partager sur Facebook
  • Partager sur Twitter
ferry francois bakongo
18 septembre 2019 à 15:09:46



Bonjour á tous je suis nouveau á la programmation.

j'ai fai mon formulaire ci-dessous, je veux que les données saisis par l'utilisateur se retrouvent sur ma base de données mysql je travail avec angular js.

<form name="MonForm" ng-submit="soumettreForm(this)" action="" method="POST" novalidate>
 <label for="name">Nom</label>:
<input type="text" name="name" id="name"/>

<label for="name">Téléphone</label>:
<input type="tel" name="phone" id="telephone"/>

<label for="email">E-mail</label>:
<input type="text" name="email" id="mail"/>

<label for="message">Message</label>:
<input type="text" name="message" id="message"/>

<input type="submit" value="Soumettre"/>

</form>

  • Partager sur Facebook
  • Partager sur Twitter
19 septembre 2019 à 13:28:09

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter