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 :

Vérification de modification BDD


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Novembre 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Novembre 2018
    Messages : 43
    Par défaut Vérification de modification BDD
    Bonjour,

    J'execute en php une commande à un logiciel pour modifier une table de sa base de donnée (base en SQLSERVER). Pour des raisons techniques, liées à ce logiciel je ne peux pas modifier la base en direct avec un UPDATE.

    Cela fonctionne en revanche, je souhaiterai controler que ce logiciel à bien modifié sa base avec les éléments que je lui ai envoyé.

    je fais donc une première lecture avec les modifications
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $strSQL = "SELECT Num,  Heure,  FROM CRDHLD WHERE NumRDV='$number'";
    $result = sqlsrv_query($conn, $strSQL) or die( print_r( sqlsrv_errors(), true));
    $data_old = sqlsrv_fetch_array($result);
    Puis une seconde apres envoie des données au logiciel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $strSQL = "SELECT Num,  Heure,  FROM CRDHLD WHERE NumRDV='$number'";
    $result = sqlsrv_query($conn, $strSQL) or die( print_r( sqlsrv_errors(), true));
    $data_new = sqlsrv_fetch_array($result);
    Pour vérifier que les modifications sont bien prises en compte, j'avais l'idée de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $compar = array_diff($data_old, $data_new); // on compare les 2 tableaux
     
    if ($compar != " "){ // si compar affiche quelque chose
        echo "OK"; // le fichier a bien été modifié
        exit;
    } else{
       echo "NOK"); // erreur de connection reessayer
       exit;
    }
    Mais avec les date j'obtiens l'erreur
    Object of class DateTime could not be converted to string

    Dois-je reconvertir les date en string et les reinjecter dans le tableau ou y a til une solution plus simple
    Merci

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je pense que array_diff convertit tous les éléments en chaine pour pouvoir faire la comparaison, et visiblement, ton tableau contient des objets qui n'ont pas de mécanisme de conversion.
    Essaye en faisant les comparaisons champ par champ.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Novembre 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Novembre 2018
    Messages : 43
    Par défaut
    Merci celira
    j'ai finalement fait ca qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach($data_new as $value)
    	{
    		if(in_array($value,$data_old)) 
    		{}else{
    			$valeur_retour.= $value;
    		}
    	}

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tu peux remplacer ton if vide et ton else, par un if négatif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(!in_array($value,$data_old)) 
    {
    	$valeur_retour.= $value;
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

Discussions similaires

  1. Edition de l'affichage avec modification BDD
    Par ToxiK dans le forum jQuery
    Réponses: 16
    Dernier message: 14/01/2010, 02h16
  2. Vérification de modification de champs
    Par DarkBear dans le forum ASP.NET
    Réponses: 8
    Dernier message: 03/09/2009, 15h29
  3. Réponses: 8
    Dernier message: 23/07/2009, 15h26
  4. [MySQL] modification bdd + select bdd
    Par fasyr dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/04/2009, 14h57
  5. Vérifier modif BDD
    Par Gaetch dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/07/2007, 20h21

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