Re: ajouter une donnée dans le champ d'une table MySQL

2009-03-14 Thread antoine
Le samedi 14 mars 2009 20:43, Stephane Bortzmeyer a écrit :
> > C'est pourquoi, les critiques sur ma méthode n'avaient pas lieu
> > d'être, et sûrement pas sur ce ton.
--
> Ah, au fait, un excellent article sur la difficulté à dire NON en 
> informatique :
> http://www.christian-faure.net/2009/03/14/la-proletarisation-dans-les-societes-informatiques/
> d'où j'extrais cette phrase qui dit exactement la même
> chose que l'excellent message de Sylvain Sauvage mais sur un ton plus 
> diplomatique :
> « La solution que vous demandez et la façon dont vous voulez qu'elle
> soit réalisée relève d'une profonde erreur d'appréciation. »
> Je ne peux pas dire mieux au génial concepteur de l'utilisation de
> CONCAT pour créer une base SQL qui ne soit même pas en première forme normale.


La profonde erreur d'appréciation vient très certainement du génial concepteur 
de ce mail,
avec CONCATénation de persistance à tromper les prolétaires (de l'informatique).

antoine

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org



Re: ajouter une donnée dans le champ d'une table MySQL

2009-03-14 Thread François TOURDE
Le 14317ième jour après Epoch,
Stephane Bortzmeyer écrivait:

[...]

> Ah, au fait, un excellent article sur la difficulté à dire NON en
> informatique :
>
> http://www.christian-faure.net/2009/03/14/la-proletarisation-dans-les-societes-informatiques/
>
> d'où j'extrais cette phrase qui dit exactement la même
> chose que l'excellent message de Sylvain Sauvage mais sur un ton plus
> diplomatique :
>
> « La solution que vous demandez et la façon dont vous voulez qu'elle
> soit réalisée relève d'une profonde erreur d'appréciation. »

Argh, je pensais ce fil définitivement enterré.

Il n'est pas toujours bon de réveiller les mauvais démons quand ils se
sont endormis sur leurs oreillers remplis de "SOA avec du SOAP, de
l'ESB et du MDM"

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-requ...@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org



Re: ajouter une donnée dans le champ d'une table MySQL

2009-03-02 Thread antoine
Le lundi 2 mars 2009 11:37, mathias dufresne a écrit :
> Si j'a bien suivi il s'agit de lier plusieurs valeurs d'un même type de
> données  à une autre donnée (d'un autre type).
> Livre -> auteur1
> |->auteur2
> |-> auteur3
> Je ne suis pas DBA à vrai dire, mais s'il s'agit bien de ce type de
> correspondance, une petite table avec identifiants externe me semble assez
> indiqué, ça fonctionne avec InnoDB sur mysql...
> Ta table entre les deux tables "auteurs" et "livres" contiendra alors
> plusieurs enregistrements du type :
> livre1 + auteur1
> livre1 + auteur2
> livre1 + auteur3
> Facile à mettre à jour, recherche peu gourmande...
> S'il s'agit bel et bien de ce type de correspondances entre des données, je
> me rallierai à ceux te disant qu'il conviendrait certainment de repenser ta
> DB.  Cordialement,  mathias


Merci de ta réponse sereine.

Il faut oublier l'exemple "auteur" que j'avais donné.

Il s'agit d'un champ qui reçoit des infos courtes via la fonction "CONCAT".
J'utilise cette méthode de manière  *exceptionnelle* sur UN SEUL champ.
Mon objectif était de connaître cette fonction et de savoir l'appliquer.

Malgré les aléas de critiques, elle me satisfait pleinement et je remercie
ceux qui me l'ont indiquée et m'ont apporté leur aide.

antoine

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



re : ajouter une donnée dans le champ d'une table MySQL

2009-03-02 Thread antoine
Le lundi 2 mars 2009 09:29, Rémi Vanicat a écrit :
> Elle est exagéré, pas hors de propos. Le fait de concaténer dans un seul
> champs les différents auteurs d'un même livre est une mauvaise
> utilisation de mysql. Tu vas VRAIMENT galérer pour supprimer une valeur
> de ton champ (car je suppose que c'est ta prochaine question...)
-
> Je pense que tu surestime l'hostilité. Des gens connaissant le domaine,
> avec de l'expérience te dise que la solution que tu veux adopter est
> mauvaise, et qu'il faut que tu repense ta base de donnée si tu veux ne
> pas avoir de problème dans le futur. Ce n'est pas un agression, ce n'est
> pas hostile, c'est un TRÈS bon conseil dans ce cas si.
-
> je ne vois pas de manque de tolérance dans la réponse de Sylvain
> Sauvage, peut-être est telle "rugueuse", mais il a raison, ta méthode
> (stocker plusieurs auteurs dans un même champ) va probablement te poser
> problème plus tard.
> Rémi Vanicat
--

J'avais bien réfléchi à mon problème.

Cette concaténation de données dans un seul champ est absolument nécessaire
et à la fois exceptionnelle dans mon projet.

L'exemple que j'avais donné n'avait rien à voir avec la réalité du projet.
(c'était juste pour expliquer mon besoin et comprendre la syntaxe)
Il s'agit d'un champ de "mémoire" de certaines infos.

C'est pourquoi, les critiques sur ma méthode n'avaient pas lieu d'être,
et sûrement pas sur ce ton.

Si la fonction "CONCAT" existe, "ce n'est pas pour des prunes"
et je sais mesurer les limites des méthodes et l'importance
du respect de règles dans l'informatique.

antoine

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: [debian] Re: [debian] Re: [debian] Re : ajouter une donnée dans le champ d'une table MySQL

2009-03-01 Thread REMY Pierre Etienne



anto...@starinux.org a écrit :
Peux-tu nous donner tout les champs de ta table "auteur_philo" car je ne 
saisis pas bien comment se structure celle-ci.



Simplifions :
Un champ = "numéro_philo" (increment)
et un champ = "auteur_philo" 
  
Puisque l'incrément est automatique, la méthode suivante devrait 
fonctionner pour ajouter un nouvel auteur :


//il faut se connecter a la base de données

$nouvel_auteur = "kant";
// il faudra également vérifier que kant n'existe pas déjà dans la BDD.
//si kant n'existe pas déjà, alors on l'ajoute
$sql = "INSERT INTO auteur(auteur_philo) VALUES ('$nouvel_auteur')";
if ($requete = mysql_query($sql))
{
  echo 'Nouvel auteur : '.$nouvel_auteur.' ajouté à la base de 
données';

}
else
{
  echo'Echec lors de l'ajour de '.$nouvel_auteur.' comme nouvel 
auteur;

}
  
  
Une question : tu stockes tous les auteurs philosophiques dans un seul 
champ séparé par un espace ??? ou bien sont-ils stockés individuellement 
dans une ligne pour chacun ???

Dans le cas ou tu stocks tout dans une seul ligne, il sera difficile 
(mais pas impossible) de vérifier les doublons. Et je suppose 
qu'ensuite, l'identifiant de l'auteur philo est utilisé pour renseigner 
le champ auteur dans une table livre.

Si je pouvais avoir les 2 méthodes :
"séparées par un espace" et "dans une ligne pour chacun".
  
Donc séparer dans un espace, le code serait (mais préfere le stockage 1 
ligne, 1 auteur)


//il faut se connecter a la base de données

$nouvel_auteur = "kant"; // il faudra également vérifier que kant 
n'existe pas déjà dans la BDD.

$sql = SELECT auteur_philo FROM auteur;
$requete = mysql_query($sql);
$auteur_philo = mysql_result($requete, 0) // le paramètre 0 est pour 
récupérer la 1ere ligne du résultat de $requete

$auteur_philo .= " ".$nouvel_auteur;
$sql = "INSERT INTO auteur(auteur_philo) VALUES ('$nouvel_auteur')";
if ($requete = mysql_query($sql))
{
  echo 'Nouvel auteur : '.$nouvel_auteur.' ajouté à la base de 
données';

}
else
{
  echo'Echec lors de l'ajour de '.$nouvel_auteur.' comme nouvel 
auteur;

}

antoine

  

Les scripts n'ont pas été vérifiés, mais ça donne une idée.

NE TIENS PAS COMPTE DE CETTE REMARQUE SI JE SUIS A COTE DE LA PLAQUE : 
Je serai curieux de voir la structure de la BDD (tables et champs) car 
une table 'auteur_philo' me parait restrictive. Un table 'auteur' avec 
une table 'type de littérature' qui aurait pour contenu '1=>philo' 
'2=>policier' '3=>historique'... (je sais pas exactement, ce sont des 
exemples) et la table 'auteur' aurait un champ 'type de littérature' qui 
piocherait l'identifiant correspondant dans la table 'type de 
littérature'. Et encore, un auteur peu avoir plusieurs 'types de 
littérature' et donc attribuer le 'type de littérature' à un ouvrage 
plutôt qu'a un auteur !


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: [debian] Re: [debian] Re: [debian] Re: ajouter une donnée dans le champ d'une table MySQL

2009-03-01 Thread antoine
> Peux-tu nous donner tout les champs de ta table "auteur_philo" car je ne 
> saisis pas bien comment se structure celle-ci.

Simplifions :
Un champ = "numéro_philo" (increment)
et un champ = "auteur_philo" 
> >   
> Une question : tu stockes tous les auteurs philosophiques dans un seul 
> champ séparé par un espace ??? ou bien sont-ils stockés individuellement 
> dans une ligne pour chacun ???

Si je pouvais avoir les 2 méthodes :
"séparées par un espace" et "dans une ligne pour chacun"

antoine

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: [debian] Re: [debian] Re: ajouter une donnée dans le champ d'une table MySQL

2009-03-01 Thread antoine
Le dimanche 1 mars 2009 10:38, Frédéric Moinard a écrit :
> anto...@starinux.org a écrit :
> >>> Est-il possible d'ajouter une donnée, en plus de données déjà
> >>> enregistrées,
> > Exemple :
> > un champ contient :  => ajouter "martin" :  > martin>
> UPDATE `labase`.`latable` SET `nom` = 'albert roger martin' WHERE 
> `labase`.`nom` = 'albert roger';
> ?
--

Je souhaite le faire de manière automatique sans avoir à citer les données 
contenues du champ :

Je reprécise :
base = "livres"
table = "auteur"
champ = "auteur_philo" 

qui contient déjà : <"albert camus"   "alain">

je désire ajouter "kant" dans le champ  "auteur_philo"  => <"albert camus"  
"alain"  "kant">

update ... ?

merci

antoine



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: [debian] Re: ajouter une donnée dans le champ d'une table MySQL

2009-03-01 Thread François TOURDE
Le 14304ième jour après Epoch,
anto...@starinux.org écrivait:

>> > Est-il possible d'ajouter une donnée, en plus de données déjà
>> > enregistrées,
> 
>> C'est super pas clair du tout, ton truc. Tu veux pas donner un exemple
>> plus parlant ?
> --
> Tu as tronqué ma question ...

Normal, c'est une citation que je fais, pas un copier/coller...

> Voici ma question de départ :
>> Est-il possible d'ajouter une donnée, en plus de données déjà enregistrées,
>> dans le champ d'une table MySQL ?

Au vu des réponses qui semblent ressortir de ta question, je voudrais
quand même éclaircir un truc, si tu permets.

Quand tu dis "ajouter une donnée", veux-tu dire:

- J'ai un champ qui contient une adresse IP
- Il y a déjà une adresse IP dans un enregistrement
- Je veux en rajouter une autre dans le même enregistrement.

(remplacer "adresse IP" par un autre typage fort du type datetime si
nécessaire)

Si ce scénario est le bon, alors il me semble que tu te trompes dans
l'usage qui est fait.

Sinon, alors je me trompe et la fonction CONCAT() est exactement ce
qu'il te faut dans le contexte d'une chaine de caractère, par exemple.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: [debian] Re: ajouter une donnée dans le champ d'une table MySQL

2009-03-01 Thread antoine
> > Est-il possible d'ajouter une donnée, en plus de données déjà
> > enregistrées,

> C'est super pas clair du tout, ton truc. Tu veux pas donner un exemple
> plus parlant ?
--
Tu as tronqué ma question ...

Voici ma question de départ :
> Est-il possible d'ajouter une donnée, en plus de données déjà enregistrées,
> dans le champ d'une table MySQL ?

> > insérer, remplacer, updater oui mais ajouter ... ?

> ajouter et insérer, c'est pas pareil?

Non :
-Insérer :  on enregistre une donnée dans un champ,
-Remplacer ou updater : on écrase une donnée existante par une  autre,
-Ajouter : on garde la ou les données existantes dans le champ en y ajoutant 
une nouvelle donnée :

Exemple :
un champ contient :  => ajouter "martin" : 

antoine

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: ajouter une donnée dans le champ d'une table MySQL

2009-02-28 Thread François TOURDE
Le 14303ième jour après Epoch,
anto...@starinux.org écrivait:

> Bonsoir,
>
> Est-il possible d'ajouter une donnée, en plus de données déjà
> enregistrées,

C'est super pas clair du tout, ton truc. Tu veux pas donner un exemple
plus parlant ?

> insérer, remplacer, updater oui mais ajouter ... ?

ajouter et insérer, c'est pas pareil?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org