Sziasztok!
Kezdő Drupal-os vagyok, és következő a kérdésem.
Van egy fejlesztett modulom amiben lekérdezést csinálok egy oracle-s adatbázisból.
Szeretném ha a submit eseményben a lekérdezés adatait viszontlátni.
Hogyan csináljam?
Drupal verzió:
Fórum:
pl. értelmesen teszed fel a
pl. értelmesen teszed fel a kérdést.
Nincs "submit esemény". Kódpéldát mutatnál lehet előrébb lennénk.
Mit jelent viszontlátni? Már találkoztál velük? De hol?
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Túllépve a fogalmazáson, a
Túllépve a fogalmazáson, a tartalom beküldés után szeretnéd még mondjuk az adatbázis mentés előtt elérni a form beküldött adatait, vagy a form-ba szeretnéd elhelyezni az adataidat, hogy mentéskor már ott legyenek ?
Az előbbihez a hook_nodeapi() az utóbbihoz hook_form_alter() tanulmányozását ajánlom.
A leírásokat itt megtalálod: http://api.drupal.org/api/drupal
...mit tudok: http://web.termuves.hu
Fussunk neki még egyszer
Van egy formom, amin a lekérdezés ürlapjának adatait és a lekérdezés eredményét szeretném látni az adatok bevitele után.
function lekerdezes_szamlak(&$form_state){
/*--------------------------------------*/
$form['description'] = array(
'#type' => 'item',
'#title' => t('Számla lekérdezés'),
);
// Partner kód textfield;
$form['partnerkod'] = array(
'#type' => 'textfield',
'#title' => t('Partner kód'),
'#size' => 15,
'#maxlength' => 10,
'#default_value' => $node->partnerkod,
);
// Választás radios
$form['valasztas'] = array(
'#type' => 'radios',
'#title' => t(''),
'#default_value' => variable_get('nowagent_lekerdezes_szamlak_'. $form['#valasztas']->type,
'#options' => array(0 => t('Lejárt'), 1 => t('Nyitott'), 2 => t('Összes') ),
'#size' => 15,
'#maxlength' => 10,
);
// Lekérdezés submit
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Lekérdezés',
);
return $form;
}
function lekerdezes_szamlak_submit( $from, &$form_state){
/* ------------------------------------------------------------- */
$partnerkod = $form_state['values']['partnerkod'];
$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.111)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle)
(INSTANCE_NAME = oracle)))";
$conn = oci_connect('oracleuser', 'passwd', $dbstr);
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
// query sztring
$sqlstring = "SELECT * FROM table where mezo = $partnerkod";
// végrehajtás
$stid = oci_parse($conn, $sqlstring );
oci_execute($stid);
// kimeneti tábla
$s = "partnerkod:" . $partnerkod . "
";
$s .= "
";
$s .= "";
while (($row = oci_fetch_array($stid, OCI_BOTH)))
{
$s .= "";
$s .= "".l($row[0],'/nowagent/lekerdezes/szamlak1/?szlaid='. $row[0] )."".$row[1]."";
$s .= "".$row[2]."";
$s .= "".$row[3]."";
$s .= "";
}
$s .= "";
oci_free_statement($stid);
oci_close($conn);
drupal_set_message('
');
return $form;
}
én külön választanám a
én külön választanám a dolgokat.
Készítenék egy oldalt, ahol megjelenik az űrlap és a paraméterektől függően megjelenik a lista.
Ezt ugye egy függvény állítja elő ami megkapja a szükséges paramétereket, amit továbbtolhat az űrlap megjelenítőhöz és a táblázat megjelenítőhöz.
A submit pedig nem csinál mást, mint áttolja az oldalt a megadott útvonalra a megfelelő paraméterekkel.
Mivel neked csak partnerkódod van, ezért kb. úgy fog kinézni az útvonalad, hogy /lekerdezes/[partnerkod]
Nem tudom mennyire érthető így a dolog.
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Értem én, de mi hajtja....
Értem amit javasolsz.
A következők miatt szeretném egy oldalon látni:
- látszanak a lekérdezés paraméterei ( bár ez kiíratható )
- kezelhetőbb a lekérdezés, ha fennmarad az űrlap az értékeivel
Gondolom a default_value-ba kellene az értékeket visszaadni, de hol?
tehát még egyszer: külön
tehát még egyszer: külön választod a megjelenítést és a feldolgozást. Az űrlap megjelenítése és a táblázat megjelenítése az egy oldalon lenne. A feldolgozás pedig csak egy átirányítás lenne a megfelelő oldalra.
Palócz István
https://palocz.hu | https://tanarurkerem.hu
megpróbálom
Oké.
Most már tiszta. Megnézem.
Köszi
Köszönöm.
Működik.