PHP, SQL Séparer des données
7 messages
• Page 1 sur 1
- gcvoiron
- WRInaute occasionnel

- Messages: 494
- Inscription: 19 Oct 2005
PHP, SQL Séparer des données
Bonjour,
J'aimerai un peu d'aide pour du PHP/mySQL.
Dans ma BDD, j'ai une table "TABLE", avec un champ "user-newsletter". Si un membre s'inscrit à la newsletter 1, "user-newsletter" aura pour valeur "n1", newsletter 2, "user-newsletter" vaudra "n2"et ainsi de suite...
Si un membre est inscrit à la newsletter 8 et à la 23, "user-newsletter" vaudra "n8,n23".
Comment séparer les données de "user-newsletter" ?
Merci.
J'aimerai un peu d'aide pour du PHP/mySQL.
Dans ma BDD, j'ai une table "TABLE", avec un champ "user-newsletter". Si un membre s'inscrit à la newsletter 1, "user-newsletter" aura pour valeur "n1", newsletter 2, "user-newsletter" vaudra "n2"et ainsi de suite...
Si un membre est inscrit à la newsletter 8 et à la 23, "user-newsletter" vaudra "n8,n23".
Comment séparer les données de "user-newsletter" ?
Merci.
- jeroen
- WRInaute passionné

- Messages: 2461
- Inscription: 30 Aoû 2002
Perso il m'arrive de faire comme ça aussi, ça simplifie bien les choses parfois.
Pour séparer les champs, je fais
#8#23#...#
Comme ça je peux directement rechercher dans la table, sans avoir a exploser, genre pour selectionner tous les user abonnés à la newsletter 23 :
SELECT user
FROM table
WHERE user-newsletter LIKE '%#23#%';
Pour séparer les champs, je fais
#8#23#...#
Comme ça je peux directement rechercher dans la table, sans avoir a exploser, genre pour selectionner tous les user abonnés à la newsletter 23 :
SELECT user
FROM table
WHERE user-newsletter LIKE '%#23#%';
- ___seb
- Nouveau WRInaute

- Messages: 40
- Inscription: 4 Déc 2005
J'ai recemment fais de cette façon et je suis vite revenu dessus. Ce n'est pas pratique du tout. dans mon cas au moins.
Je m'en suis rendu compte en tapant les requetes. Je ne pouvais pas faire simplement les jointures que je voulais et LIKE c'est pas top niveau performances.
Donc je rejoind zeb.
Tu veux dire quoi par séparer ? pour l'insertion ? l'extraction ? pour refaire une nouvelle table ... ?
Je m'en suis rendu compte en tapant les requetes. Je ne pouvais pas faire simplement les jointures que je voulais et LIKE c'est pas top niveau performances.
Donc je rejoind zeb.
Tu veux dire quoi par séparer ? pour l'insertion ? l'extraction ? pour refaire une nouvelle table ... ?
- skippyzrnr
- WRInaute impliqué

- Messages: 664
- Inscription: 11 Jan 2005
bien daccord, on utilise des modèles un peu foireux et pratique mais un jour ou l'autre on se retrouve toujours dans l'impasse... autant partir sur de bonnes bases ou repenser le truc tant qu'il en est encore temps
-

zeb - WRInaute accro

- Messages: 4560
- Inscription: 5 Déc 2004
Si des fois tu ne veux pas ou ne peux pas repenser le truc, c'est super simple avec les expressions regulières.
te donnera un visuel de ce type :
Bien sur je pense que la nouvelle tables est la bonne solution car tu pourra laisser le traitement au SGBD ce qui ne fera qu'alleger ton serveur HTTP.
le {1,4} du preg match est conditionné par la taille maximum du nombre correspondant a la news.

- Code: Tout sélectionner
$news = "n8,n23,n213,n1,n1014";
preg_match_all("/[0-9]{1,4}/",$news,$mesnews,PREG_SET_ORDER);
foreach($mesnews as $anews){
echo $anews[0]."<br>";
}
te donnera un visuel de ce type :
8
23
213
1
1014
Bien sur je pense que la nouvelle tables est la bonne solution car tu pourra laisser le traitement au SGBD ce qui ne fera qu'alleger ton serveur HTTP.
le {1,4} du preg match est conditionné par la taille maximum du nombre correspondant a la news.
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Diagrammes avec PHP et données SQL
- Séparer forum et base de données
- Sql et sauvegardes de données
- Base de données sql illimitées ?
- [SQL] Copie de bases de données
- Regroupement de données dans un champs SQL
- Suppression de données sql superieur à 15 jours
- Organisation d'une base de données SQL
- [SQL] Recherche dans une base de données
- base de données sql pour un chiffre décimal
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Plug-in d'opt-out de Google Analytics - 19-03-2010
- Recherches Google en HTTPS : suppression du referrer - 25-05-2010
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Opt-out Google Analytics : plugin Internet Explorer, Firefox, Chrome - 26-05-2010
- Actualité du référencement pendant l'été 2009 - 31-08-2009
- Positionnement sur data centers Google
Cet outil vous permet d'afficher sur une seule page les résultats Google effectués sur de nombreux data centers (centres de données).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
