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 :

Mise à jour table SQL via php


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2017
    Messages : 76
    Points : 41
    Points
    41
    Par défaut Mise à jour table SQL via php
    Bonjour;

    J'ai deux table leurs structures comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Table LRU (ID_LRU, LRU) --> (int auto_increment, varchar)
    Table article (ID-Article, designiation, ID_LRU) -->(varchar, varchar, int)
    Je les rempli via deux fichiers xlsx. La table LRU elle prends pas en compte les mise à jour toujours 0 enregistrement.
    J'ai essayé d'afficher la valeur de la requete après l'insertion est affiché 0, mon code est le suivant:

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
      public function save(\...\Parse\Article $article, \...\Parse\LRU $lru ){
    		$IdLRU=$lru->getId();
            $LRU=$lru->getLRU();
            $designation=$article->getDesigniation();
            $articleid= $article->getId();
            if ($LRU == "Unspecified") {
                $IdLRU = 40;
            } 
     
            else{
    			//if ($LRU != 'new'){
    				$check= $this->_db->query("SELECT `ID_LRU` FROM `lru` WHERE `LRU` ='".$LRU."'");
    			//}
     
    			if ($check->rowCount() == 0) {
    				$this->_db->query("INSERT INTO `lru` (`ID_LRU`, `LRU`) VALUES ('".$IdLRU."', '".$LRU."');");
    				$requete2 =$this->_db->query("SELECT `ID_LRU` FROM `lru` WHERE `LRU` ='".$LRU."'");
    				while($data = $requete2->fetch())
    				{
    					$IdLRU=$data['ID_LRU'];
    				}
    			}
     
     
    			else{
    				while($data = $check->fetch())
    				{
    					$IdLRU=$data['ID_LRU'];
    				}
    			}
    		}
            if ($articleid == 'DIEPRESTATION' || $articleid == 'DIEDIVBIEN' || $articleid == 'DIEDIVERS' ){
                if(!($this->_db->query("INSERT INTO `article` (`ID_Article`, `Designiation`, `ID_LRU`) VALUES ('".$articleid."', '".$designation."', '".$IdLRU."');")))
            {   
                    if ($LRU != 'new'){
               return $this->_db->query(" UPDATE  `FLOOSE`.`article` SET  `ID_LRU` =  '".$IdLRU."' WHERE  `article`.`ID_Article` =  '".$articleid."' AND  `article`.`Designiation` =  '".$designation."' LIMIT 1 ;");
            }else {
            return false;}
            }
            else{
                return TRUE;
            }
            }
            else{
                if(!($this->_db->query("INSERT INTO `article` (`ID_Article`, `Designiation`, `ID_LRU`) VALUES ('".$articleid."', '', '".$IdLRU."');")))
            {if ($LRU != 'new'){
               return $this->_db->query(" UPDATE  `FLOOSE`.`article` SET  `ID_LRU` =  '".$IdLRU."' WHERE  `article`.`ID_Article` =  '".$articleid."' AND  `article`.`Designiation` =  '' LIMIT 1 ;");
            }else {
            return false;}
            }
            else{
                return TRUE;
            }
            }
     
     
        }
     
        public function saveAll(array $listArticle) {
            $count=0;
            foreach ($listArticle as $article) {
               if($this->save($article))
                $count++;
            }
    		print_r($count); --------------------- ici m'a affiché 0----------------- 
            return $count;
        }

    Le scénario est:

    J'ai une classe Parse.php pour récuperer les données, dedans deux fonctions chacune pour un fichier.
    Une classe ArticleDAO.php qui contient les getters et les setters.
    Et le controlleur où j'importe les fichiers et j'appelle la classe ArticleDAO et Parse.
    S'il vous plaît, le problème est-il de la requete est mal saisi ou y 'a un autre anomalie ?

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Avance pas à pas pour être sur de ce que tu fais, commence par un var_dump ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public function save(\...\Parse\Article $article, \...\Parse\LRU $lru ){
    echo '<pre>';
    var_dump($lru);
    echo '</pre>'
     
     
    ......

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2017
    Messages : 76
    Points : 41
    Points
    41
    Par défaut
    Je l'ai ajouté mais il n'affiche rien et j'ai tenté par:
    Aussi il n' y a pas d'affichage.
    Et j'ai essayé d'afficher la requête d'insertion juste à la fin:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r("INSERT INTO `lru` (`ID_LRU`, `LRU`) VALUES ('".$IdLRU."', '".$LRU."');");
    Elle n'a rien affiché aussi.


    Citation Envoyé par MaitrePylos Voir le message
    Avance pas à pas pour être sur de ce que tu fais, commence par un var_dump ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public function save(\...\Parse\Article $article, \...\Parse\LRU $lru ){
    echo '<pre>';
    var_dump($lru);
    echo '</pre>'
     
     
    ......

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Ajouter un die() pour voir;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public function save(\...\Parse\Article $article, \...\Parse\LRU $lru ){
    echo '<pre>';
    var_dump($lru);
    echo '</pre>'
    die();

  5. #5
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2017
    Messages : 76
    Points : 41
    Points
    41
    Par défaut
    Je suis désolée mais aussi n'a rien affiché.
    En fait j'ai une autre classe Parse.PHP qui contient deux fonctions pour parser les 2 fichiers sont les suivante:

    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
    public function parseEquipment($filePath = null) {
            set_time_limit(0);
            $listEquipement = [];
    		$listEquipementLRU = [];
            $count = 0;
            $chunkSize = 1024;
            $objReader = PHPExcel_IOFactory::createReader(PHPExcel_IOFactory::identify($filePath));
            $spreadsheetInfo = $objReader->listWorksheetInfo($filePath);
            $chunkFilter = new \Floose\Parse\ChunkReadFilter();
            $objReader->setReadFilter($chunkFilter);
            $objReader->setReadDataOnly(true);
            $chunkFilter->setRows(0, 1);
            $objPHPExcel = $objReader->load($filePath);
            $totalRows = $spreadsheetInfo[0]['totalRows'];
            for ($startRow = 1; $startRow <= $totalRows; $startRow += $chunkSize) {
                $chunkFilter->setRows($startRow, $chunkSize);
                $objPHPExcel = $objReader->load($filePath);
                $sheetData = $objPHPExcel->getActiveSheet()->toArray(null, null, true, false);
                $startIndex = ($startRow == 1) ? $startRow : $startRow - 1;
    			if($dataToAnalyse[0][0]==NULL){  -----------------------------  j'ai supprimé la clause if et j'ai testé , il veux pas affiché même l'ancien affichage ( Table LRU updated and 0 article added)
    				break;
    			}
                if (!empty($sheetData) && $startRow < $totalRows) {
                    $dataToAnalyse = array_slice($sheetData, $startIndex, $chunkSize);
                    for ($i = 0; $i < $chunkSize; $i++) {
                        if ($dataToAnalyse[$i]['0'] != NULL) {
                            $listEquipement[] = new Article($dataToAnalyse[$i]['2'], $dataToAnalyse[$i]['3']);
    						//$listEquipementLRU[] = new LRU(NULL, $dataToAnalyse[$i]['2']);
                            $count++;
     
                        }
                    }
     
                }
                $objPHPExcel->disconnectWorksheets();
                unset($objPHPExcel, $sheetData);
            }
    		 echo($totalRows); ------------ il m'affiche le bon résultat
                     echo($count); ------------- il affiche 0 ici ---------- 
            return $listEquipement;
        }
    Citation Envoyé par MaitrePylos Voir le message
    Ajouter un die() pour voir;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public function save(\...\Parse\Article $article, \...\Parse\LRU $lru ){
    echo '<pre>';
    var_dump($lru);
    echo '</pre>'
    die();

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Donc c'est vide; cela ne peut se remplir, si rien n'existe dans le $rlu

Discussions similaires

  1. Mise à jour table SQL
    Par Daniel MOREAU dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 10/10/2013, 14h30
  2. Mise à jour Tables access via Datagridview
    Par Apocalyptico dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/02/2010, 14h17
  3. Mise à jour table SQL venant d'Access
    Par Pilpot dans le forum Modélisation
    Réponses: 0
    Dernier message: 05/02/2010, 15h35
  4. Mise à jour BDD SQL via DataGridView
    Par Alexis_W dans le forum Windows Forms
    Réponses: 6
    Dernier message: 06/01/2009, 12h37
  5. Mise à jour SQL via PHP
    Par KillahBen dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 12/09/2007, 10h55

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