teatarea mit Text füllen
am 02.02.2012 - 11:53 Uhr in
Hallo ,
ich bin Anfänger was Drupal angeht und hab eine kurze frage,
ich habe mir ein modul geschrieben das mir zahlen die ich in einem formular in die textbox eingebe in eine datenbank speichert.
nun möchte ich das ganze rüchwärts, ich habe ein zweites formular erstellt, mit einer textbox und möchte nun ergebnisse aus der db rein schreiben, wie spreche ich die textarea an?
danke im voraus.
- Anmelden oder Registrieren um Kommentare zu schreiben

Erkläre mal
am 02.02.2012 - 11:59 Uhr
was du vor hast.
Welche Anwendungsaufgabe möchtest du lösen?
Ein Inhaltstyp mit CCK könnte vielleicht der richtige Ansatz sein?
habe die formulierung
am 02.02.2012 - 12:01 Uhr
habe die formulierung geändert, sorry war schlecht ausgedrückt.
OK - was willst du machen?
am 02.02.2012 - 12:49 Uhr
Wie gelangen die Informationen in der Datenbank?
So wie sie reingekommen sind, kommen sie wieder heraus.
Das non plus ultra Werkzeug für die Datenbankabfrage heißt VIEWS.
Dennoch, auch wenn ich Starrsinnig erscheine, was hast du vor?
Gibt es einen Grund nicht mit Nodetypes und Nodes zu arbeiten?
ich möchte mir ein modul
am 02.02.2012 - 13:00 Uhr
ich möchte mir ein modul schreiben das für user punkte vergibt, z.b wenn sie ein kommentar machen, oder einen eintrag....je nach aktion gibt es verschieden viele punkte.
ich habe mir ein admin formular geschrieben in dem die punkte die zu vergeben sind angegeben werden und in eine db geschrieben werden.
nun mächte ich die werte aus der db wieder rausholen und mir (aqls test) in einer textarea anzeigen lassen.
also hier die punke.module :
function punkte_menu(){
$items=array();
$items['admin/settings/Punkte'] = array(
'title' => 'Punktesystem',
'description' => 'Einstellungen fruer das Punktesystem.',
'page callback' => array('system_admin_menu_block_page'),
'access arguments' => array('administrator site configuration'),
'file' => 'punkte.admin.inc',
'file path' => drupal_get_path('module', 'system'),
);
$items['admin/settings/Punkte/Einstellungen'] = array(
'title' => 'Punktevergabe',
'description' => 'Konfigurieren Sie die Anmerkungen.',
'weight' => -10,
'page callback' => 'drupal_get_form',
'page arguments' => array('admin_punkte_vergabe'),
'access arguments' => array('administrator site configuration'),
'type' => MENU_NORMAL_ITEM,
'file' => 'punkte.admin.inc',
);
$items['admin/settings/Punkte/Auswertung'] = array(
'title' => 'Punkteauswertung',
'description' => 'Punkteauswertung.',
'page callback' => 'drupal_get_form',
'page arguments' => array('admin_punkte_auswertung'),
'access arguments' => array('administrator site configuration'),
'type' => MENU_NORMAL_ITEM,
'file' => 'punkteauswertung.admin.inc',
);
return $items;
}
function punkte_nodeapi(&$node,$op, $a3= NULL ,$a4 = NULL) {
global $user;
drupal_set_message('Status - '.$op.'page '.$page);
// drupal_set_message('Status - '.$op.'_____-'.$node->type);
if($page='loadpage'){
$form_state['punktevergabe']['values']['gggggggggggggg'];
}
print_r($node);
switch ($op){
//When a new recipt will be created
case 'insert':
//drupal_set_message('Status - '.$op.'nodetype '.$node->type);
if ($node->type=='recipe'){
$points=variable_get('punkte_neues_rezept',0);
db_query("INSERT INTO {punkte}(nid,uid,nodetype,points)VALUES(%d,%d,'%s',%d)",$node->nid,$user->uid,$node->type,$points);
}
if($node->type==cookbook){
$points=variable_get('punkte_kochbuch',0);
db_query("INSERT INTO {punkte}(nid,uid,nodetype,points)VALUES(%d,%d,'%s',%d)",$node->nid,$user->uid,$node->type,$points);
}
if($node->type==wissen){
$points=variable_get('punkte_wiki',0);
db_query("INSERT INTO {punkte}(nid,uid,nodetype,points)VALUES(%d,%d,'%s',%d)",$node->nid,$user->uid,$node->type,$points);
}
break;
};
}
function punkte_comment(&$a1, $op) {
global $user;
$points=variable_get('punkte_kommentar',0);
if ($op == 'insert') {
$nid = $a1['nid'];
db_query("INSERT INTO {punkte}(nid,uid,nodetype,points)VALUES(%d,%d,'%s',%d)",$nid,$user->uid,'comment',$points);
}
}
function punkte_votingapi_insert($vote){
global $user;
//printr_r($user);
// printr_r($form);
drupal_set_message('Status jjjjjjjjjjjjjjjjjjjjjjjjjjj- '.print_r($vote));
// db_query("INSERT INTO {punkte}(nid,uid,nodetype,points)VALUES(%d,%d,'%s',%d)",1,1,'comment',33);
//if ($type == 'node' && $node = node_load($id)) {
//if (variable_get('fivestar_'. $node->type, 0)) {
//return TRUE;
}
dann die punkte.admin.inc.
function admin_punkte_vergabe(){
$form = array();
$form['punkte_rezept_erstellen']= array(
'#type' => 'textfield',
'#titel' => t('Punkte fuer rezept erstellung'),
'#description' => t('wieviele Punkte sollen für ein neues Rezept vergeben werden?)'),
'#default_value' => variable_get('punkte_neues_rezept',0),
'#size' => 5,
);
$form['punkte_kommentar_verfassen']=array(
'#type'=>'textfield',
'#titel'=>t('Punkte_fuer das verfassen eines Kommentars?'),
'#description'=>t('Wieviele Punkte für ein Kommentar?'),
'#default_value' => variable_get('punkte_kommentar',0),
'#size' => 5,
);
$form['punkte_wiki_verfassen']=array(
'#type'=>'textfield',
'#titel'=>t('Punkte_fuer das verfassen eines Wiki Eintrags ?'),
'#description'=>t('Wieviele Punkte für ein Wiki Eintrag?'),
'#default_value' => variable_get('punkte_wiki',0),
'#size' => 5,
);
$form['punkte_bewertung_abgeben']=array(
'#type'=>'textfield',
'#titel'=>t('Punkte fuer das Bewerten'),
'#description'=>t('Wieviele Punkte fuer das Bewerten?'),
'#default_value' => variable_get('punkte_bewertung',0),
'#size' => 5,
);
$form['punkte_kochbuch_anlegen']=array(
'#type'=>'textfield',
'#titel'=>t('Punkte_fuer das anlegen eines Kochbuchs'),
'#description'=>t('Wieviele Punkte fuer das anlegen eines Kochbuchs?'),
'#default_value' => variable_get('punkte_kochbuch',0),
'#size' => 5,
);
$form['punkte']['submit'] = array(
'#type' => 'submit',
'#value' => t('submit'),
);
return($form);
}
/**
*Ueberfruefung des annotaions konfiguracionsformulars (error handyling)
*
*/
function admin_punkte_vergabe_validate($form, $form_state){
$limit=array();
$limit[] = $form_state['values']['punkte_rezept_erstellen'];
$limit[] = $form_state['values']['punkte_kommentar_verfassen'];
$limit[] = $form_state['values']['punkte_wiki_verfassen'];
$limit[] = $form_state['values']['punkte_bewertung_abgeben'];
$limit[] = $form_state['values']['punkte_kochbuch_anlegen'];
foreach ($limit as $value) {
if (!is_numeric($value) or $value<0){
drupal_set_message('Bitte eine richtige Zahl eingeben');
}
}
}
function admin_punkte_vergabe_submit($form, $form_state){
$limit=array();
$limit[] = $form_state['values']['punkte_rezept_erstellen'];
$limit[] = $form_state['values']['punkte_kommentar_verfassen'];
$limit[] = $form_state['values']['punkte_wiki_verfassen'];
$limit[] = $form_state['values']['punkte_bewertung_abgeben'];
$limit[] = $form_state['values']['punkte_kochbuch_anlegen'];
variable_set('punkte_neues_rezept', $limit[0]);
variable_set('punkte_kommentar', $limit[1]);
variable_set('punkte_wiki', $limit[2]);
variable_set('punkte_bewertung', $limit[3]);
variable_set('punkte_kochbuch', $limit[4]);
//variable_set('annotate_nodetypes',array($checked));
}
und dann halt diepunkteauswertung.admin.inc :
function admin_punkte_auswertung(){
$form['punkte_auswertung']=array(
'#type'=>'textarea',
'#titel'=>t('Punkte Auswertung'),
'#description'=>t('Hier werden die Punkte zu den usern angezeigt'),
'#default_value' => variable_get('punkte_auswertung','IN ARBEIT!!!'),
'#size' => 20,
);
$form['punkte_auswertung']['submit']=array(
'#type'=>'submit',
'#value'=>t('submit'),
);
return($form);
}
/*
function punkteauswertung_nodeapi(&$node, $op, $teaser, $page){
global $user;
drupal_get_messages($op);
$result=db_query('SELECT * FROM {punkte}');
while($data=db_fetch_object($result)){
$form['punkte_auswertung']['values']=$data->points;
echo $data->uid;
}
$form['punkte_auswertung']['values']='hallo';
}
*/
function punkte_auswertung_submit($form, $form_state){
$form['textarea']['values']='lllllllllllllll';
}
wie gesagt, bin Anfänger, beschäftige mich erst seit 2 wochen mit drupal..
danke!
Vielleicht bin auch ich auf
am 02.02.2012 - 13:38 Uhr
Vielleicht bin auch ich auf dem Holzweg, aber hast Du Dir dieses Modul schon einmal angeschaut?
Gruß
Daniel
hi, ja ich weis das es
am 02.02.2012 - 13:54 Uhr
hi,
ja ich weis das es bestimmt so ein Modul schon gibt, ich wollte das zu lernzwecken selber schreiben.....
ich möchte einfach die sql
am 02.02.2012 - 14:00 Uhr
ich möchte einfach die sql ausgabe in einer textbox haben, kann doch nicht so schwer sein :(??, ich weiss das ich da halben mist gecodet habe, wie gesagt lerne noch, kann mir keiner ein paar stichworte nennen?
Wenn Du das Formular selbst
am 02.02.2012 - 14:15 Uhr
Wenn Du das Formular selbst gecodet hast, kannst Du mit #default_value den Wert veränderbar setzen und wenn Du nur #value benutzt ist er nicht veränderbar. Da mußt Du in der Forms-API noch mal nachsehen.
Beste Grüße
Werner
danke für die Antwort, kannst
am 02.02.2012 - 14:28 Uhr
danke für die Antwort, kannst du mir das ein wenig genauer erklähren? danke.