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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Un coller qui ne correspond pas au copier du copier/coller [phpMyAdmin]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut Un coller qui ne correspond pas au copier du copier/coller
    Bonjour,

    Cela fait un moment que je tourne autour, ce doit pourtant être simple et pourtant.

    Je constitue en fonction de certains critère une requête

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    // Initialisation du type de traitement
    		if(empty($_SESSION['session_remplacer']))
    		{
    			$traitement="INSERT ";
    		}
    		else
    		{
    			$traitement="UPDATE ";
    		}
    			// Lecture de la table de destination pour récupérer le nom des entêtes de colonne
    			$table_reception = $_SESSION['session_table_reception'];
    			$result = mysql_query("SHOW COLUMNS FROM $table_reception");
    			while ($ligne = mysql_fetch_array($result))
    			{
    				$tab_champ[]=$ligne[0];
    			}
    			$num = mysql_num_rows($result);
     
    			// Lecture de la table d'origine
    			$prefixe = "../temp/";
    			$fileinput = $prefixe.$_SESSION['session_table_importe'];
    			if(file_exists($fileinput))
    			{
    				$file = fopen($fileinput, "r");
    				$sql = fread($file, filesize($fileinput));
    				fclose($file);
    				$inst = explode("\n", $sql);
    				$n = count($inst);
    				for($i=0;$i<$n;$i++)
    				{
    					$req = $traitement.$table_reception." SET ";
    					$reqident = " WHERE ";
    					if(trim($inst[$i])!="")
    					{
    						// J'éclate l'enregistrement de la table d'origine
    						$champorigin = explode(";", $inst[$i]);
    						$j=0;
    						$requete = "";
    						$ident = "";
    						// pour chaque champ de la table de destination
    						while ($j < $num)
    						{
    							if(isset($choisi[$j]) || isset($trt[$j]))
    							{
    								$y = $origin[$j];
    								$champorigin[$y]= str_replace('"', "", $champorigin[$y]);
    								$champorigin[$y]= utf8_decode($champorigin[$y]);
    								$champorigin[$y]= addslashes($champorigin[$y]);
    								// s'il a été choisi
    								if(isset($choisi[$j]) && !isset($trt[$j]))
    								{
    									// je prends le n° du champ d'origine correspondant
    									$requete.=$tab_champ[$j]." = '".$champorigin[$y]."',";
    								}
    								// s'il est identifiant
    								if(isset($trt[$j]))
    								{
    									// je prends le n° du champ d'origine correspondant
    									$ident.=$tab_champ[$j]." = '".$champorigin[$y]."',";
    								}
    							}
    							$j++;
    						}
     
    						$req.= $requete;
    						$req[strlen($req)-1] = "";
    						if(!empty($ident))
    						{
    							$reqident.= $ident;
    							$req.= $reqident;
    							//$req.= $ident;
    							$req[strlen($req)-1] = "";
    						}
    						// Mise à jour de l'enregistrement
    						echo $req;
    mysql_query("$req") or die("$req".mysql_error());
    					}
    Mon echo en fin de script m'affiche lorsque je suis en "update"
    UPDATE tb_activite SET libelle = 'Bénévole' WHERE activite_id='1'
    Puis j'ai l'erreur suivante sur ma requête :
    UPDATE tb_activite SET libelle = 'Bénévole' WHERE activite_id = '1'
    Pour en faire le contrôle, je veux copier la requête dans phpmyadmin afin de comprendre ce qui ne fonctionne pas.

    Je sélectionne donc sur mon écran ceci :
    UPDATE tb_activite SET libelle = 'Bénévole' WHERE activite_id='1'
    Et je fais coller dans phpmyadmin dans "Exécuter une ou des requêtes sur la base xxx"

    Le résultat du copier/coller n'est que
    UPDATE tb_activite SET libelle = 'Bénévole'
    Il ne veux pas prendre
    WHERE activite_id='1'
    Se peut-il qu'un caractère caché empêche le copier coller de s'effectuer correctement ?

    Merci d'avance

  2. #2
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Une petite modification dans mon code, ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req[strlen($req)-1] = " ";
    à la place de cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req[strlen($req)-1] = "";
    La différence est entre les ", j'ai simplement mis un espace.

    C'est tout ce qui bloquait.

    Merci

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

Discussions similaires

  1. [Toutes versions] couleurs qui ne correspondent pas
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/08/2016, 23h54
  2. Des textes qui ne correspondent pas aux photos dans ma page !
    Par dhillig dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 07/03/2016, 03h44
  3. Mise en place de div qui ne correspond pas aux pourcentages de width
    Par francky74 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 06/03/2015, 12h10
  4. [Batch] Nombre de fichier qui ne correspond pas avec le nombre réel
    Par chuspyto dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 24/09/2013, 00h50
  5. [AC-2000] contenu d'une table qui ne correspond pas au mode creation
    Par guaguanco dans le forum Access
    Réponses: 4
    Dernier message: 02/06/2010, 16h35

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