Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

ganz einfache Formular Funktion

Eingetragen von rupat (15)
am 27.03.2008 - 21:09 Uhr in
  • Modul-Entwicklung
  • Drupal 4.7.x oder neuer

Hallo liebe Drupalcenter Gemeinde !

Ich arbeite seit ca 1 Jahr so mehr oder weniger an einem Modul, welches nur für eine sehr kleine Gruppe von Leuten Wert, hat dieser aber natürlich UNSCHÄTZBAR hoch ! ;)

Nun wollte ich dort eine kleine Verbesserung durchführen. Im Grunde ganz einfach deswegen werd ich das drum rum mal weglassen.
Ich habe mittels des _menu hooks mir eine Seite gebaut die gewisse Daten anzeigt. Diese Daten werden aus verschiedensten Mysql Tabellen ausgelesen. Nun möchte ich einen Filter einbauen mit dem ich ein Feld quasi filtern kann. Ich habe nun 2 Probleme. Ich habe mir mittels des folgenden Codes mein Filterfeld eingebaut. Komme dann auch per $_POST['edit']['title_filter'] an die Daten ran nach dem ich submitted habe.

1. Nun würde ich aber gerne haben das diese Daten dann wieder in der Form drinnen stehen (also vorbelegt sind). Also hab ich das in die Variable tf reingeschrieben und dann wie hier abgebildet als default value gesetzt. Funktioniert aber nicht.
2. Wie übermittle ich den Wert wenn ich unten auf den Pager eine Seite weiter drücke ? Das ist ja nen ganz andres Formular sicherlich ?

Es wäre wirklich nett wenn mir jemand irgendwie zumindest die richtige Richtung weist, da ich schon ca 4 h mich durch zich Beispiele geackter habe aber nix finde. Ich habe auch die Api Doku für die Forms gelesn. ICh finde immer nur wie ich Forms erstelle Theme usw. Aber nicht wie es dann ab dem submitten weiter geht.

Grüße vom Rupat !

$form['title_filter'] = array(
  '#type' => 'textfield',
  '#title' => t('title filter'),
  '#default_value' => $tf,
  '#size' => 30,
  '#maxlength' => 30,
);


$form['submit'] = array(
  '#type' => 'submit',
  '#value' => t('Los!'),
);

$output = drupal_get_form('testform',$form);
$output .= theme('table', $header, $rows);
$output .= theme('pager', NULL, 30, 0);

‹ Argumente mit arg übergeben Darstellung von Daten in "tables" ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

hast du denn <?phpfunction

Eingetragen von dawehner (2639)
am 27.03.2008 - 22:26 Uhr

hast du denn

<?php
function testform_submit($form_id, $form_values) {}
?>
implementiert und $tf zu speichern?
Wenn du diese Funktion benutzt hast du die Variable $form_values in der alle Formwerte gespeichert sind,
dann brauchst du $_POST['edit']['title_filter'] nicht mehr.

--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja habe ich

Eingetragen von rupat (15)
am 28.03.2008 - 02:57 Uhr

Ja habe ich , allerdings weiss ich nicht so recht was da rein soll. So wie ich das verstanden habe ist die Fkt ja dazu da wenn ich mit den ergebnissen etwas machen will. Also inne DB eintragen oder verändern oder sonstwas. Ich möchte sie ja in der selben Seite wieder verwenden. Und naja im Moment steht bei mir der Rohling der Funktion im Quelltext so hier:

function testform_submit($form_id, $form_values) {
}

Tja keine Ahnung, mit $POST komme ich übrigens ran an die Daten aber ich wollte sie ja dann in einer SQL anweisung per LIKE und n bissi umgebastelt also mit % Zeichen dann einarbeiten aber das db_query scheint immer die Like anweisung zu ignorieren. Weiss da jemand was ? Versteh ich alles nicht, ich will doch so ne einfache Sache, das kann doch alles nicht so schwer sein ! Hier nochmal mein kompletter Code der FKT:

function doubles($filter=null) {
if (!empty($_POST['edit']))
$post = $_POST['edit'];

$list[]=array('');
$rows[] = array('');
$header = array(array('data'=>t('Genre'),'field'=>'td.name'), array('data'=>t('Title'),'field'=>'n.title'), array('data'=>t('date'),'field'=>'n.created'), array('data'=>t('average voting'),'field'=>'avg', 'sort' => 'asc'), array('data'=>t('votecount'),'field'=>'count'));

$select = "SELECT td.name,n.title,n.created,n.nid,avg(nv.vote)as avg,count(n.nid) as count ";
$from   = "FROM node n, nodevote nv, term_node tn, term_data td ";
$where = "WHERE n.type='mischungxl'
AND n.status=1
AND n.nid=nv.nid
AND tn.nid=n.nid
AND tn.tid=td.tid ";
$groupby = "GROUP BY n.nid ";
$sort = tablesort_sql($header);

if (!empty($post) && (!empty($post['genre_filter'])))
$gf=$post['genre_filter'];
if (!empty($post) && (!empty($post['title_filter']))) {
$tf=(string)$post['title_filter'];
$l_sLike = '%'.preg_replace('/ /','%',$tf).'%';
$where .= "AND n.title LIKE '$l_sLike' ";
}

$query = $select.$from.$where.$groupby.$sort;



$count_select = "SELECT count(distinct(n.nid)) ";
$count_query = $count_select.$from.$where;

  $result_set = pager_query($query, 30, 0, $count_query);
 
  //echo $query;
while ($obj = db_fetch_object($result_set)){
$rows[] = array($obj->name,l($obj->title, "node/".$obj->nid), date('d.m.Y',$obj->created), round($obj->avg), $obj->count);
}

$form['genre_filter'] = array(
  '#type' => 'textfield',
  '#title' => t('genre filter'),
  '#default_value' => $gf,
  '#value' => $gf,
  '#size' => 12,
  '#maxlength' => 30,
);

$form['title_filter'] = array(
  '#type' => 'textfield',
  '#title' => t('title filter'),
  '#default_value' => $tf,
  '#size' => 30,
  '#maxlength' => 30,
);

$form['submit'] = array(
  '#type' => 'submit',
  '#value' => t('Los!'),
);
$output = $form_values;
$output .=drupal_get_form('testform',$form);
$output .= theme('table', $header, $rows);
$output .= theme('pager', NULL, 30, 0);
return $output; 
}

function testform_submit($form_id, $form_values) {
/*drupal_goto('mischungxl/niasgood');*/
/*$_POST=$form_values;*/
}

die unwichtigen sachen hab ich mal weggelassen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 2 Tagen 11 Stunden
  • Guckst du hier: step by step
    vor 2 Tagen 1 Stunde
  • Guckst du hier: step by step
    vor 2 Tagen 1 Stunde
  • Ich habe ja keine Angst vor
    vor 1 Woche 4 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 1 Woche 6 Tagen
  • Vielen Dank erst einmal, aber
    vor 2 Wochen 1 Tag
  • Du hast die "Trusted host
    vor 2 Wochen 1 Tag
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 4 Wochen 15 Stunden
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 4 Wochen 4 Tagen
  • Arrrrg. Nix Tabelle :-D /*
    vor 8 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250284
Registrierte User: 20498

Neue User:

  • Inga GuAph
  • Robertolix
  • DavidBit

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 20 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association