PDA

Voir la version complète : Ajout de champs dans un nouveau message ?


TheCoder
22/04/2005, 16h01
Bien le bonjour :rolleyes:.

J'aimerais savoir comment faire pour pouvoir ajouter des champs dans un nouveau message, un peu comme le titre, exemple je voudrais ajouter un champ (DATE: ) que l'ont peu indiquer la date que l'ont veut et que cette date soit stocker dans la BD avec le message et que a l'affichage du nouveau sujet la date soit visible dans le message et que a l'édition du message ce champs soit visible avec la date entrer qui permet de la modifier.

Merci bien de votre aide
:o

TheCoder
22/04/2005, 19h33
Ok j'Ai trouver et modifier quelques truc mais il me reste un soucis :( !!

Lorsque j'Arrive pour éditer les informations, ils apparaissent bien dans les boîtes mais meme si je change les info et que j'enregistre les changements ont dirait qu'il ne prend pas les changements en compte, sauriez-vous m'Aider svp :( !

@+

Akex
22/04/2005, 22h34
Il faut que tu modifies functions_newpost.php :)

TheCoder
25/04/2005, 13h24
J'ai modifier fonctions_newpost.php mais je dois avoir oublier un truc je crois :( !

Si tu saurais me guider un pue Akex ca serait vraiment appréciable ;) !
Merci

(Du moins me dire quel partie du code je dois vérifier !)

Megatekno
25/04/2005, 13h56
recherche dans editpost.php

delete_post_index($postid);

ajoute en dessous ton code
exemple:

if ($bbuserinfo['userid'] != $postinfo['userid'])
{
$postedata = "data = la date";
}

apres dessous tu as


$DB_site->query("
UPDATE " . TABLE_PREFIX . "post
SET title = '" . addslashes(htmlspecialchars_uni($edit['title'])) . "',
pagetext = '" . addslashes($edit['message']) . "',
allowsmilie = $edit[allowsmilie],
showsignature = $edit[signature],
iconid = $edit[iconid],
attach = attach + $newattachments
WHERE postid = $postid
");



remplace par

$DB_site->query("
UPDATE " . TABLE_PREFIX . "post
SET title = '" . addslashes(htmlspecialchars_uni($edit['title'])) . "',
pagetext = '" . addslashes($edit['message']) . "',
allowsmilie = $edit[allowsmilie],
showsignature = $edit[signature],
iconid = $edit[iconid],
attach = attach + $newattachments,
$postedata
WHERE postid = $postid
");

TheCoder
25/04/2005, 16h22
Voici le code que moi j'ai mis

#######################
#Ouvrir root/editpost.php
#######################

######
#Trouver#
######
$edit['title'] = trim($_POST['title']);
$edit['iconid'] = intval($_POST['iconid']);

###########
#Ajouter dessous#
###########

$edit['daterecut'] = trim($_POST['daterecut']);
$edit['recutcost'] = trim($_POST['recutcost']);
$edit['conditions'] = trim($_POST['conditions']);

$edit['ponumber'] = trim($_POST['ponumber']);
$edit['size'] = trim($_POST['size']);

######
#Trouver#
######

// need to update thread title and iconid
$threadupdate[] = "title = '" . addslashes(htmlspecialchars_uni($edit['title'])) . "', iconid = $edit";

##############
#Remplacer par #
##############
// need to update thread title iconid, and thread description
$threadupdate[] = "title = '" . addslashes(htmlspecialchars_uni($edit['title'])) . "', daterecut = '" . addslashes(htmlspecialchars_uni($edit['daterecut'])) . "', recutcost = '" . addslashes(htmlspecialchars_uni($edit['recutcost'])) . "', conditions = '" . addslashes(htmlspecialchars_uni($edit['conditions'])) . "', ponumber = '" . addslashes(htmlspecialchars_uni($edit['ponumber'])) . "', size = '" . addslashes(htmlspecialchars_uni($edit['size'])) . "', iconid = $edit[iconid]";
########
#Trouver #
########

if ($isfirstpost AND $postinfo['title'] == '' AND ($postinfo['dateline'] + $vboptions['editthreadtitlelimit'] * 60) > TIMENOW)
{
$postinfo['title'] = $threadinfo['title'];
}

#############
#Ajouter dessous #
#############

$daterecut = $threadinfo['daterecut'];
$recutcost = $threadinfo['recutcost'];
$conditions = $threadinfo['conditions'];

$ponumber = $threadinfo['ponumber'];
$size = $threadinfo['size'];

################
#Sauver et fermer #
################

[i]Mes variables sont:
$daterecut = $threadinfo['daterecut'];
$recutcost = $threadinfo['recutcost'];
$conditions = $threadinfo['conditions'];
$ponumber = $threadinfo['ponumber'];
$size = $threadinfo['size'];

J'ai essayer ton code mais ca semble merder ou bien c'est moi qui ne le met pas comme il faut :confused: (Désolé de vous dérranger avec ca !)

TheCoder
25/04/2005, 17h53
Après avoir mis le code que tu m'As donner et avoir jouer un peu avec je vois que mes infos mis a jour son passer en donnée, mais j'obtiens cette erreur sql:

Database error in vBulletin 3.0.7:

Invalid SQL:
UPDATE post
SET title = '1.875',
pagetext = 'TESTTTTTTTTTTTTTTTTTTTT

:mad:',
allowsmilie = 1,
showsignature = 0,
iconid = 3,
attach = attach + 0,
daterecut = '2005-04-23',
recutcost = '7000',
conditions = 'NEW',
ponumber = 'D-30180',
size = '2x1'
WHERE postid = 2

mysql error: Unknown column 'daterecut' in 'field list'

mysql error number: 1054

Date: Monday 25th of April 2005 11:48:45 AM
Script: http://127.0.0.1/delta/editpost.php
Referer: http://127.0.0.1/delta/editpost.php?do=editpost&p=2

Si je comprend bien il me dit que la colonne 'daterecut' n'existe pas dans la BD ? Mais pour temps elle y est bien ....
:crazy:

Megatekno
25/04/2005, 18h52
Tu veux que cette date ce change pour le thread ou post en éditent, si c'est thread la ces dans le fichier functions_newpost.php ou pour les post dans editpost.php, thread dans poste est aussi ok dans editpost.php


Mes variables sont:
$daterecut = $threadinfo['daterecut'];
$recutcost = $threadinfo['recutcost'];
$conditions = $threadinfo['conditions'];
$ponumber = $threadinfo['ponumber'];
$size = $threadinfo['size'];


Apparament vue tes codes tu peu que changer la date du thread


pas tous compris ce que tu recherche



regarde dans functions_newpost.php

recherche:

$modlogsql[] = "($bbuserinfo[userid], " . TIMENOW . ", $threadinfo[forumid], $threadinfo[threadid], '" . addslashes($string) . "')";
}


ajoute dessous;



if ($threadinfo['daterecut'])
{
$threadupdate[] = "daterecut = code de la date";
}


ceci est que un exemple.

TheCoder
25/04/2005, 19h26
Non en fait le DATERECUT est une varibale simple et non fix, car exemple le thread a été créer le 2005-04-25, mais la date du boulot effectuer était le 2005-04-22, c'est un champ informatif seulement et non la date du jour ou quelques chose comme ca.

En gros c'est 5 champs qui décrit une tâche effectuer, un genre de descriptif de la tâche.

@+

Megatekno
25/04/2005, 20h51
ceci est un exemple non la soluce, DATERECUT j'airais pue mettre 111111

tu devrai trouve avec ces exemple je pence

J'utilise, le modif du sujet comme les postes pour d'autres variables par édite dans ces 2 fichier pour un hack

Sa devrai te mettre sur le vois

mes réponces sont basé sur sa

Lorsque j'Arrive pour éditer les informations, ils apparaissent bien dans les boîtes mais meme si je change les info et que j'enregistre les changements ont dirait qu'il ne prend pas les changements en compte, sauriez-vous m'Aider svp :( !

@+

TheCoder
26/04/2005, 12h48
Bon a priori tous marche sauf une erreur que j'ai remarquer, si je ne met pas de date dans le champs DATERECUT au départ, après il est impossible de changer les données ?

Mais bon je sais pas pourquoi ca fait ca, vais chercher un peu voir pourquoi ca fait ca, sinon si tu as une idée de ou ca pourrait venir, merci de me guider tes réponses mon beaucoup aider ;) !

@+

TheCoder
26/04/2005, 13h30
Un truc que j'aimerais ajouter, mais je ne sais pas du tout comment faire, c'est d'ajouter la permission par le cpadmin de dire si ces champs peuvent être afficher ou non pour chaque forum ? Est-ce possible ?

Je pose la question mais je cherche en meme temp au cas ou je trouverais ma réponse moi meme ;) !

@+

Megatekno
26/04/2005, 13h33
regarde voir comme sa, c'est toujour qu'un exemple

if ($threadinfo['daterecut'])
{
$threadupdate[] = "daterecut = code de la date";
}else{
$threadupdate[] = "daterecut = $threadinfo['dateline']";
}