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 :

Modification requete MySQL - PHP


Sujet :

PHP & Base de données

Vue hybride

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2017
    Messages : 76
    Par défaut Modification requete MySQL - PHP
    Bonjour;

    J'ai une table MySQL qui contient 2 paramètres:

    (ID_LRU, LRU) (Primary_key Auto-Increment, varchar)Au début c'était prévus d'affecter L'ID 40 à un LRU précis.

    Pour être plus claire
    Si LRU=Unspecified ==> Affecte le L'ID_LRU 40 dans la base est j'ai fait ça, mais après quelques modifications dans les fonctions de parsing le test sur LRU=Unspecified sera fonctionner, il ajoute ses valeurs mais son nom je le trouve pas et lorsque je fait une recherche dans mon site je le trouves pas mais mes chiffres sont justes.

    Voilà ma requete:

    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
          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 (NULL, '".$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'];
    							}
    						}
    					}
     
    			}
    Maintenant je voudrais enlever le test sur le LRU=Unspecified en fait j'ai dèjà essayé comme ça mais ça fonctionne pas:
    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
     
     
            if {
    					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 (NULL, '".$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'];
    							}
    						}
    					}
     
             else {
                       return true;   // ça je suis pas sûr 
    }
     
    			}
    Comment je peux modifier ma requete pour que j'enleve cette condition sans soucis ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    on ne comprend rien à tes explications...
    tout est écrit sur la même ligne, sans ponctuation...

    Fais plusieurs phrases... claires.
    Et passe à la ligne.

    Merci.


    1/ "je le trouve pas"
    On écrit :
    • "je le trouve"
      ou
    • "je ne le trouve pas"

    Pas un mélange des 2.

    2/ "mais ça fonctionne pas" * : idem

    * J'ajoute que "ça ne fonctionne pas" n'aide en RIEN à savoir ce qui ne va pas...

    3/ "le test sur .... sera fonctionner"
    là, je ne vois même pas ce que ça signifie...

    4/ Enfin, améliore l'INDENTATION de tes codes !
    Ca aiderait grandement à leur LECTURE et compréhension.
    Dernière modification par Invité ; 18/05/2017 à 16h40.

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2017
    Messages : 76
    Par défaut
    Merci pour la remarque, elle est très utile.
    Et je suis désolée parce que mon niveau en Français n'est pas bon.

    Je repose ma question:

    J'ai une table SQL, sa structure est la suivante:

    • (ID_LRU, LRU) (Primary_key Auto-Increment, varchar)


    Dans ma requete SQL, j'ai fait un test sur le Champ LRU .
    C'est à dire, si LRU= "Unspecified" Alors ID_LRU=40.
    Et elle fonctionne bien.

    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
    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 (NULL, '".$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'];
    							}
    						}
    					}
     
    			}


    Mais après j'ai fait des modifications sur la fonction de parsing de fichier Excel qui contient les LRU.

    Mais l'insertion dans la table ne prends pas en compte ce test LRU= "Unspecified"Alors ID_LRU=40.

    Maintenant je voudrais enlever ce test mais je ne suis pas certaine de la modification de la requete.
    Merci.

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Je ne suis pas sûr d'avoir compris ton problème.

    Du code que tu as posté on peut voir que si LRU = "Unspecified" tu le mets à 40 mais ensuite tu n'en fais rien car les reste du traitement est dans le else.

    Indente mieux le code car c'est limite illisible.

  5. #5
    Modérateur

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

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    D'après le code.

    Si LRU == 'Unspecified', tu mets LRU à 40 , ensuite rien ne ce passe.
    Si LRU n'est pas égale à Unspecified alors il doit-être différent de 'new', sinon de nouveau tu ne fais rien.

    Si LRU est différent de 'new', alors seulement ta requête s'effectue.

    Tu veux supprimer quel test ?

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2017
    Messages : 76
    Par défaut
    Merci pour ta réponse et je suis désolée pour ce retards de réponse je pensais que aucune personne va me répondre.
    Je veux supprimer ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($LRU == "Unspecified") {
                $IdLRU = 40;
            }
    Parce que le Unspecified est classé un LRU aussi, mais c'était prévus de de lui affecter le numéro 40 et maintenant je vais enlever cette condition et je laisse la requete fait l'insertion normal avec Auto-increment.

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

Discussions similaires

  1. [MySQL] Soucis sur requete mysql/php
    Par nakamura dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/09/2008, 14h14
  2. erreur de requete sous php mais pas sous mysql
    Par kenny49 dans le forum Requêtes
    Réponses: 21
    Dernier message: 28/06/2006, 16h36
  3. Probleme de requete MySQL dans PHP
    Par cheers94wow dans le forum Requêtes
    Réponses: 7
    Dernier message: 04/05/2006, 17h25
  4. Réponses: 4
    Dernier message: 26/04/2006, 14h36

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