[Mysql] Conversion Id Text <-> Int

Twiners Messages postés 34 Statut Membre -  
Twiners Messages postés 34 Statut Membre -
Bonjour,

Je suis en train de travailler sur une base de données qui (à mon avis) est très moche. Résultat, Je dois modifier des valeurs d'Id de type text ou varchar.

Voici ce que je veux faire quand j'ai à faire à des valeurs numériques:
UPDATE nom_table SET id = id + valeur_ajout.


La valeur à ajouter dépend de la table où ce trouve l'id, et du type de donnée que c'est.
Pour faire ça, je passe par du php avec le code suivant.

$req_update = 'UPDATE '.$list_id['TABLE_NAME'].' SET '.$list_id['COLUMN_NAME'].' = '.$list_id['COLUMN_NAME'].' + '.$tab_valeur_ajout[$list_id['TABLE_SCHEMA']].' * '.$tab_valeur_ajout[$list_id['DATA_TYPE']];


Maintenant, comment faire quand j'ai une colonne de type text ou varchar?
Genre j'ai : Id_truc = "2"
et je veux qu'après il soit égal à "102" (j'ai ajouté 100).
A voir également:

2 réponses

Twiners Messages postés 34 Statut Membre 3
 
Bon en fait, je viens de m'apercevoir que je suis un peu mauvaise langue car en fait, les champs id de type text contiennent en fait plusieurs Id. Genre :
id_truc = "3, 15, 2"

donc le problème reste le même, sauf que maintenant, je doit toute les modifiées de la même façon.
Est ce qu'il y aurait pas une fonction du style text_to_array(string truc), qui me met mes valeurs dans un tableau?
0
Twiners Messages postés 34 Statut Membre 3
 
Bon bah en fait j'ai trouvé la bonne fonction
$extend_elements = explode(',',id_truc);

Ensuite je converti les valeurs grâce à la fonction
 intval() 

Puis pour le remettre en chaine de caractère, je la concatène avec une chaine vide (si elle n'est pas vide je rajoute un virgule pour retrouvé ma liste d'id)
Et le compte est bon.

Merci quand même.
0