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 - 20: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 - 21: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 - 01: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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Tag 11 Stunden
  • Hey danke
    vor 2 Tagen 6 Stunden
  • Update: jetzt gibt's ein
    vor 3 Tagen 26 Minuten
  • Hallo, im Prinzip habe ich
    vor 1 Woche 10 Stunden
  • Da scheint die Terminologie
    vor 1 Woche 13 Stunden
  • Kannst doch auch alles direkt
    vor 1 Woche 4 Tagen
  • In der entsprechenden View
    vor 1 Woche 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 4 Tagen
  • gelöst
    vor 4 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 13 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