Aide pour faire une requête dans phpmyadmin

xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009 - 5 janv. 2008 à 11:17
xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009 - 5 janv. 2008 à 18:39
bonjour,

je modifie mon forum qui est en phpbb2 en réalisent quelque petit modul supplémentaire,
mais pour un modul, je bute sur une chose .

dans la table config je lance cette requête :
INSERT INTO phpbb_config (config_name, config_value) VALUES ('tab_index_1_1', 'teste');

tout ce passe bien et ma requête passe, et mon modul fonctionne.
seulement voila, ma config est a "vachar 255" caractères, et j'aurai voulu quel soit sur "text"
sans pour autant changer la valeur directement via la base de donner, j'aurai voulu savoir comment changer cette valeur.
je cherche comment je peut modifier ma requête pour que cette valeur soit pris directement en compte a son lancement.

j'ai bien chercher et fait plusieurs teste pour la modifier, mais je trouve pas .

pouvez vous éclairer ma lanterne ?

merci

6 réponses

gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
5 janv. 2008 à 14:31
Je ne comprends pas ton problème.

Pourquoi tu ne veux pas le changer à la main une fois pour toute ? Ca revient au même que de le faire via un script.

Pour modifier un champ utilise cette requête :

ALTER
TABLE
`
phpbb_config`CHANGE`config_name``config_name`TEXT

Grrrrrrrrrrr
0
xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009
5 janv. 2008 à 14:51
salut gibozsec,
et merci, mais je cherche a faire que ma requête change de suite cette valu, car si je veux faire partager mon modul pour les autres, il serai mieux qu'il ne doivent  plus par la suite rentrer dans phpmyadmin pour le faire.
mon mod peut  très intéressant pour les admin de fofo phpbb, et si je peut en faire profiter les autres sur les site d'antraide pbpbb, se serai avec plaisir
le but n'est pas de changer toute la config de la table, mais uniquement sur le chanp que  la requête que je lance va créer

merci
0
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
5 janv. 2008 à 15:02
Ok, dans ce cas il est peut être interessant de faire d'abord une requête "SHOWCOLUMNSFROM`phpbb_config`"

Cette requête te renverra la liste des champs et leur type, tu pourras contrôler si le champ est de type 'text' et s'il ne l'est pas faire un 'ALTER TABLE'.

Grrrrrrrrrrr
0
xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009
5 janv. 2008 à 16:41
arf, sa m'aide pas

ma table a moi est bonne puisque je l'est changer

mais si un autre veux installer mon module, quel requête doit il faire pour ne plus devoir aller dans phpbb_config et changer la valeur du chanp
car ma requête, n'est donc pas bonne

INSERT INTO phpbb_config (config_name, config_value) VALUES ('tab_index_1_1', 'teste');

désolégibozsec, je me suis peut être mal exprimer

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
5 janv. 2008 à 18:20
Ta requete fonctionnera que le champ soit de type varchar ou text puisque tous les deux contiennent des chaines. La seule différence, en gros, c'est la taille.

Pourquoi tu veux utiliser du text plutot que du varchar ?

Si tu veux absolument changer le type, tu ne peux pas le faire en une seule requete. Tu dois faire un alter table avant ton insert (mais c'est pas très utile de le faire à chaque insert)

Grrrrrrrrrrr
0
xpmen Messages postés 9 Date d'inscription samedi 12 novembre 2005 Statut Membre Dernière intervention 11 janvier 2009
5 janv. 2008 à 18:39
Pourquoi tu veux utiliser du text plutôt que du varchar ?

parce que ce qui sera rajouter dans le tableau dépasseras a coup sur les 255 caractères

donc si je peut pas faire ceci sous ma requête, je comprend pourquoi je buter la dessus  et que je trouver pas la parade
je vais donc devoir trouver une autre solution.
sans doute créer une nouvelle table et refaire les fichier php depuis le début

exemple :

CREATE TABLE IF NOT EXISTS `phpbb_script` (
  `config_name` varchar(255) NOT NULL,
  `config_value` text NOT NULL,
  PRIMARY KEY  (`config_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO phpbb_script (config_name, config_value) VALUES ('tab_index_1_1', 'teste');

en tout cas, merci de toute ton aide est tes explication gibozsec
je sais ce qui me reste a faire a présent
0
Rejoignez-nous