Bonjour,
pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
Pour faire ceci, j'utilise un array, auquel :
- j'empêche d'ajouter un doublon avec in_array (plutôt que d'utiliser
array_unique à la fin)
- j'ajoute des éléments par array_push
- je supprime une valeur donnée d'abord en la cherchant avec
array_search puis en l'effaçant avec unset (j'ai pensé à array_filter
également).
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ? SQLite (mais bof parce que pas
facilement dispo) ?).
Bonjour,
pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
Pour faire ceci, j'utilise un array, auquel :
- j'empêche d'ajouter un doublon avec in_array (plutôt que d'utiliser
array_unique à la fin)
- j'ajoute des éléments par array_push
- je supprime une valeur donnée d'abord en la cherchant avec
array_search puis en l'effaçant avec unset (j'ai pensé à array_filter
également).
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ? SQLite (mais bof parce que pas
facilement dispo) ?).
Bonjour,
pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
Pour faire ceci, j'utilise un array, auquel :
- j'empêche d'ajouter un doublon avec in_array (plutôt que d'utiliser
array_unique à la fin)
- j'ajoute des éléments par array_push
- je supprime une valeur donnée d'abord en la cherchant avec
array_search puis en l'effaçant avec unset (j'ai pensé à array_filter
également).
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ? SQLite (mais bof parce que pas
facilement dispo) ?).
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Ca n'utilise pas de tableau, c'est une autre solution.
Et ça évite le (un)serialize, c'est bien.
Merci pour la piste.
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Ca n'utilise pas de tableau, c'est une autre solution.
Et ça évite le (un)serialize, c'est bien.
Merci pour la piste.
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Ca n'utilise pas de tableau, c'est une autre solution.
Et ça évite le (un)serialize, c'est bien.
Merci pour la piste.
Le 29 Jun 2006 21:53:39 GMT, Olivier Masson
écrivait dans fr.comp.lang.php:pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
(snip)
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ? SQLite (mais bof parce que pas
facilement dispo) ?).
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Le 29 Jun 2006 21:53:39 GMT, Olivier Masson <sisemen@laposte.net>
écrivait dans fr.comp.lang.php:
pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
(snip)
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ? SQLite (mais bof parce que pas
facilement dispo) ?).
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Le 29 Jun 2006 21:53:39 GMT, Olivier Masson
écrivait dans fr.comp.lang.php:pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
(snip)
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ? SQLite (mais bof parce que pas
facilement dispo) ?).
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Bonjour,
pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
Pour faire ceci, j'utilise un array, auquel :
- j'empêche d'ajouter un doublon avec in_array (plutôt que d'utiliser
array_unique à la fin)
- j'ajoute des éléments par array_push
- je supprime une valeur donnée d'abord en la cherchant avec
array_search puis en l'effaçant avec unset (j'ai pensé à array_filter
également).
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire
et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ?
SQLite (mais bof parce que pas
facilement dispo) ?).
Bonjour,
pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
Pour faire ceci, j'utilise un array, auquel :
- j'empêche d'ajouter un doublon avec in_array (plutôt que d'utiliser
array_unique à la fin)
- j'ajoute des éléments par array_push
- je supprime une valeur donnée d'abord en la cherchant avec
array_search puis en l'effaçant avec unset (j'ai pensé à array_filter
également).
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire
et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ?
SQLite (mais bof parce que pas
facilement dispo) ?).
Bonjour,
pour une utilisateur donné, j'associe une liste de valeur.
Cette liste peut varier en longueur.
Je dois ensuite stocker cette liste dans une table MySQL.
Pour faire ceci, j'utilise un array, auquel :
- j'empêche d'ajouter un doublon avec in_array (plutôt que d'utiliser
array_unique à la fin)
- j'ajoute des éléments par array_push
- je supprime une valeur donnée d'abord en la cherchant avec
array_search puis en l'effaçant avec unset (j'ai pensé à array_filter
également).
Puis je 'serialize' le tableau pour le placer dans un champ MySQL.
Ca me parait bizarre comme façon de faire
et comme mon niveau en php
n'est pas brillant, je voulais savoir comment mieux faire (sans utiliser
d'array ? en utilisant mieux MySQL ?
SQLite (mais bof parce que pas
facilement dispo) ?).
Tu ne devrais pas le remercier.
Tu ne devrais pas le remercier.
Tu ne devrais pas le remercier.
Tu ne devrais pas le remercier.
:) Bon ok, je ne le remercie plus.
Pour revenir à ton post précédent, qui me dit de me tourner vers une
solution purement SQL,
j'ai évoqué SQLite pour la raison suivante.
Si je fais comme tu l'indiques, ça va y aller à coup de INSERT.
En plus,
il faudra chercher les doublons dans la base.
Or, les ajouts et suppression sur cette liste doivent se faire rapidement.
Bien sûr, je me doute bien que ce sera immédiat, mais dans tous les cas,
forcément plus long que de passer par une simple variable ou un tableau.
Ainsi, j'ai évoqué SQLite car c'est, il me semble, l'idéal pour ce genre
de table très petite aux requêtes simples.
Alors, déjà, pourquoi est-ce si atroce d'utiliser une variable ou un
tableau ?
Sachant que les données sont gardées dans une session.
Je
n'utilise MySQL que pour stocker la liste une fois qu'elle est confirmée
par l'utilisateur.
Si c'est uniquement la liste stockée dans la base qui te gêne,
je peux
très bien stocker comme tu l'indiques lors du passage session -> base.
Qu'est-ce qui est gênant dans le fait de stocker ma liste dans un champ,
sachant que je n'ai *aucune* recherche à faire dans cette liste ?
La
base me sert uniquement à stocker des listes en leur donnant un id.
Je
pourrais utiliser des fichiers, mais je n'aime pas ça.
Tu ne devrais pas le remercier.
:) Bon ok, je ne le remercie plus.
Pour revenir à ton post précédent, qui me dit de me tourner vers une
solution purement SQL,
j'ai évoqué SQLite pour la raison suivante.
Si je fais comme tu l'indiques, ça va y aller à coup de INSERT.
En plus,
il faudra chercher les doublons dans la base.
Or, les ajouts et suppression sur cette liste doivent se faire rapidement.
Bien sûr, je me doute bien que ce sera immédiat, mais dans tous les cas,
forcément plus long que de passer par une simple variable ou un tableau.
Ainsi, j'ai évoqué SQLite car c'est, il me semble, l'idéal pour ce genre
de table très petite aux requêtes simples.
Alors, déjà, pourquoi est-ce si atroce d'utiliser une variable ou un
tableau ?
Sachant que les données sont gardées dans une session.
Je
n'utilise MySQL que pour stocker la liste une fois qu'elle est confirmée
par l'utilisateur.
Si c'est uniquement la liste stockée dans la base qui te gêne,
je peux
très bien stocker comme tu l'indiques lors du passage session -> base.
Qu'est-ce qui est gênant dans le fait de stocker ma liste dans un champ,
sachant que je n'ai *aucune* recherche à faire dans cette liste ?
La
base me sert uniquement à stocker des listes en leur donnant un id.
Je
pourrais utiliser des fichiers, mais je n'aime pas ça.
Tu ne devrais pas le remercier.
:) Bon ok, je ne le remercie plus.
Pour revenir à ton post précédent, qui me dit de me tourner vers une
solution purement SQL,
j'ai évoqué SQLite pour la raison suivante.
Si je fais comme tu l'indiques, ça va y aller à coup de INSERT.
En plus,
il faudra chercher les doublons dans la base.
Or, les ajouts et suppression sur cette liste doivent se faire rapidement.
Bien sûr, je me doute bien que ce sera immédiat, mais dans tous les cas,
forcément plus long que de passer par une simple variable ou un tableau.
Ainsi, j'ai évoqué SQLite car c'est, il me semble, l'idéal pour ce genre
de table très petite aux requêtes simples.
Alors, déjà, pourquoi est-ce si atroce d'utiliser une variable ou un
tableau ?
Sachant que les données sont gardées dans une session.
Je
n'utilise MySQL que pour stocker la liste une fois qu'elle est confirmée
par l'utilisateur.
Si c'est uniquement la liste stockée dans la base qui te gêne,
je peux
très bien stocker comme tu l'indiques lors du passage session -> base.
Qu'est-ce qui est gênant dans le fait de stocker ma liste dans un champ,
sachant que je n'ai *aucune* recherche à faire dans cette liste ?
La
base me sert uniquement à stocker des listes en leur donnant un id.
Je
pourrais utiliser des fichiers, mais je n'aime pas ça.
Et UPDATE, ça sert à quoi ?
Si ton schema est correct, tu ne devrais pas voir la différence.
Ai-je dis que c'était atroce ? Je ne parles pas de la représentation de
tes données en PHP durant l'exécution de ton script, mais du schema de
la base relationelle.
Une base relationelle est bien plus qu'un moyen de persistence.
Pourquoi ?-)
Et UPDATE, ça sert à quoi ?
Si ton schema est correct, tu ne devrais pas voir la différence.
Ai-je dis que c'était atroce ? Je ne parles pas de la représentation de
tes données en PHP durant l'exécution de ton script, mais du schema de
la base relationelle.
Une base relationelle est bien plus qu'un moyen de persistence.
Pourquoi ?-)
Et UPDATE, ça sert à quoi ?
Si ton schema est correct, tu ne devrais pas voir la différence.
Ai-je dis que c'était atroce ? Je ne parles pas de la représentation de
tes données en PHP durant l'exécution de ton script, mais du schema de
la base relationelle.
Une base relationelle est bien plus qu'un moyen de persistence.
Pourquoi ?-)
Olivier Masson wrote:avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Ca n'utilise pas de tableau, c'est une autre solution.
Et ça évite le (un)serialize, c'est bien.
Non. C'est tout aussi inepte.Merci pour la piste.
Tu ne devrais pas le remercier.
Olivier Masson wrote:
avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Ca n'utilise pas de tableau, c'est une autre solution.
Et ça évite le (un)serialize, c'est bien.
Non. C'est tout aussi inepte.
Merci pour la piste.
Tu ne devrais pas le remercier.
Olivier Masson wrote:avec implode et explode peut-être ?
si la liste est toto, tutu, tata, tu la transformes en
:toto:tutu:tata:
puis avec un str_replace, tu enlèves par exemple tata en
remplaçant :tata: par :
Ca n'utilise pas de tableau, c'est une autre solution.
Et ça évite le (un)serialize, c'est bien.
Non. C'est tout aussi inepte.Merci pour la piste.
Tu ne devrais pas le remercier.
- Il cherche une solution simple. Ce que je lui suggère: utiliser
une chaîne, ajouter un élément à la fin ($a = $a . $b), et enlever
un élément en double (en fait, enlever l'élément d'abord avec le
str_replace, puis l'ajouter en concaténant). Il trouve trop
compliqué de le faire avec des arrays.
- Il cherche une solution simple. Ce que je lui suggère: utiliser
une chaîne, ajouter un élément à la fin ($a = $a . $b), et enlever
un élément en double (en fait, enlever l'élément d'abord avec le
str_replace, puis l'ajouter en concaténant). Il trouve trop
compliqué de le faire avec des arrays.
- Il cherche une solution simple. Ce que je lui suggère: utiliser
une chaîne, ajouter un élément à la fin ($a = $a . $b), et enlever
un élément en double (en fait, enlever l'élément d'abord avec le
str_replace, puis l'ajouter en concaténant). Il trouve trop
compliqué de le faire avec des arrays.