Modifier champ dans la base de donnée

Eléphant du PHP | 101 Messages

02 juin 2008, 21:24

bonjour,
J'ai un champ dans ma table qui ressemble à ceci 0,2,3,7,10,22,9,17,0
et j'aimerais savoir si il était possible de modifier une seule donnée de ce champ sans modifier les autres champs.
Par exemple remplacer le 10 par un 32 .
Merci de votre réponse

ViPHP
ViPHP | 2287 Messages

02 juin 2008, 21:53

Bonsoir,

Problème de conception ça. :?

A mon avis tu t'embeteras autant à tenter de faire les modifs que tu veux faire qu'à repenser ce champ de manière normalisée (une valeur par champ).

Pour répondre à ta question : oui, c'est possible, mais pas facilement et pas sans poser de problèmes (surtout si tu dois effectuer ce remplacement de manière variable).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2008, 23:08

Comme le dit Calimero, normalement cela doit se prévoir lors de la conception de la table.

Tu peux le faire néanmoins relativement facilement si c'est toujours le nombre 10 qu'il faut remplacer par une autre valeur, ou si c'est par exemple toujours le 5ème élément de ta liste qu'il faut remplacer par un autre.

Dans ce dernier cas tu peux par exemple sélectionner le champ correspondant puis faire un explode() sur ta liste et faire un update - après avoir changé le cinquième élément du tableau puis implode() pour reconstituer ta liste.

Si ce n'est pas aussi simple il va falloir faire des tris pour pouvoirs appliquer des modifications séquentielles suivants les cas... Et là ça risque d'être coton, et pour le moins fastidieux si ta table est grande.

Eléphant du PHP | 101 Messages

03 juin 2008, 06:41

merci je vais utilisé la solution de AB