PHP Centeri avaleht Skriptikogu Küsimuste-vastuste leht Teadete vaatamine ja saatmine Foorum - koht küsimiseks Otsingumootor Siit saad infot meie kohta

Kasutajanimi:  
  Parool: 
  Registreeri!   Unustasid salasõna?

Foorumid Programmeerimine PHP & MySQL Dünaamiline rippmenüü ainult php'ga

Kokku on 55 postitust, jaotatud 4 leheküljele: 1-2-3-4. Praegu näidatakse postitused 16-30.

Autor Abi Postitus Abi

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: Dünaamiline rippmenüü ainult php'ga

Tsiteeritud tekst:

PHP kood:


// keys are 0, 1, 2
require 'HTML/QuickForm.php';
$form = new HTML_QuickForm();
$meals array('Breakfast''Lunch','Dinner');

// keys of dimension 1 are 0, 1, 2
// keys of dimension 2 are 0, 1, 2
$dishes array(array('Toast','Cold Cereal','Porridge'),
                array(
'Sandwich''Soup','Salad'),
                array(
'Meat and Potatoes','Stir-fried Tofu','Steamed Fish'));
$garnishes array(array(array('Jam','Butter'),
                         array(
'Sugar','Bananas'),
...
...          
$sel =& $form->addElement('hierselect','food');
$options array($meals$dishes$garnishes);
$sel->setOptions($options);
$form->display();





Kuidas ma siit $_POST'i abiga esimese ja teise listi muutujad kätte saan, mille listist valisin?

___________________________________________________
Kui sul pole midagi öelda, ole vait.

20.09.2005 21:56:19 Vajutades siia näed kasutaja mairo22 profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

Näide
Source
Zip

20.09.2005 22:30:43 Vajutades siia näed kasutaja laurik profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: Dünaamiline rippmenüü ainult php'ga

Tänud.

Nagu aru sain, väljastab ta POST'iga muutujad 0,1 või 2. Minul oleks aga vaja nende söökide nimed teada saada kuna need peavad minema andmebaasi edasi.


___________________________________________________
Kui sul pole midagi öelda, ole vait.

21.09.2005 08:02:44 Vajutades siia näed kasutaja mairo22 profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

Mh, vaata lehe lõppu, valitud asjad on seal tekstikujul olemas?

21.09.2005 12:50:20 Vajutades siia näed kasutaja laurik profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: Dünaamiline rippmenüü ainult php'ga

Tekkis veel küsimus seoses menüüga.
Ülal antud näites http://www.bytez.net/test/quickform/hierselect2.php
kui vajutad Minek nuppu kuvatakse tulemused samal lehel.

Tegin oma menüü valmis http://beta.soida.ee/index.php?page=pakusoitu
aga kui vajutan Minek nuppu lööb mulle ette esilehe.

Kuidas nii saaks, et tulemused kuvatakse teisel lehel nagu tavaliselt FORM ACTION="vastus.php" puhul tehakse.

Pole OOP osas just suurem käsi...

___________________________________________________
Kui sul pole midagi öelda, ole vait.

30.09.2005 20:10:03 Vajutades siia näed kasutaja mairo22 profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

PHP kood:

$form = new HTML_QuickForm('searchform''POST''/index.php?page=pakusoitu');




30.09.2005 20:27:58 Vajutades siia näed kasutaja laurik profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: Dünaamiline rippmenüü ainult php'ga

Tänud aga mul JÄLLE küsimus

Mis osa ma sinna pakusoitu faili pean panema, et need andmed ka seal kuvataks.

Lihtsalt
PHP kood:



function process_data($a
{
    echo 
$GLOBALS['meals'][$a['food'][0]];
    echo 
'<br>'.$GLOBALS['dishes'][$a['food'][0]][$a['food'][1]];
}


sinna kopeerides ei sobi.
Tuleks arvatavasti $_POST muutujat kasutad aga kuhuma selle täpselt panen

tunnen end üsna lollina



___________________________________________________
Kui sul pole midagi öelda, ole vait.

30.09.2005 20:54:40 Vajutades siia näed kasutaja mairo22 profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

Sellele lehele kuhu ankeedi submitid (pakusoitu_db ?), tuleb lisada need meals ja dishes massiivid ning lisaks ka midagi taolist:
PHP kood:

if(!empty($_POST))
{
    echo 
$GLOBALS['meals'][$_POST['food'][0]]; 
    echo 
'<br>'.$GLOBALS['dishes'][$_POST['food'][0]][$_POST['food'][1]];
}




30.09.2005 21:29:33 Vajutades siia näed kasutaja laurik profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: Dünaamiline rippmenüü ainult php'ga

Tänud jällegi. Oleks nagu asja tööle saanud, vähemalt väljastatakse nüüd nii riik kui linn järgmisel lehel.
Otsustasin juba terve selle formi OOP peale ümber teha.
Esimene probleem on , et miks http://beta.soida.ee/index.php?page=pakusoitu lähtekoha, läbisõidetava koha ja sihtkoha valikumenüüde vahel nii suur vahe on. Ilma OOP'ta seda ei olnud.
Teiseks kuidas anda igaühele väärtus valides esimene on ta lähtekoht, teine on läbisõidetav koht ja kolmas ntx sihtkoht.
Lisaks on probleem veel nö kahe formi üheks tegemisel kuna select menüü alguses on määratud uus form

PHP kood:


$form = new HTML_QuickForm('paku''POST''index.php?page=pakusoitu_db');


ja see OOP'ga tehtud formi tahaks panna eelneva vanema formi sisse.
Source panin ka üles http://beta.soida.ee/pakusoitu.phps



___________________________________________________
Kui sul pole midagi öelda, ole vait.

01.10.2005 12:43:31 Vajutades siia näed kasutaja mairo22 profiili

muidumeez
Ignorantia non est
argumentum


Postitusi: 3864
Tase: Administraator
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

Ei viitsi uurida, aga see, et OOP korral mingi HTML väljund erinev on, seda küll OOP kraesse ajada ei saa.

___________________________________________________
An Opinion Is Like An Asshole -- Everybody Has One

01.10.2005 13:20:58 Vajutades siia näed kasutaja muidumeez profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

See vahe oli seal seetõttu, et iga valik asus eraldi formis... $form->display väljastab formi, aga enne tulnuks kõik väljad sinna peale kanda.

Siin on näide: http://www.bytez.net/test/quickform/pakuistet.php
Ja siin zip: http://www.bytez.net/test/quickform/pakuistet.zip

Abiinfo kastikese lisamine teeks asja mõnevõrra segasemaks, kuna tuleks addelement funktsiooniga lisada need lingid htmlina. Seal tuleks lisada vist kasutada ka addGroup-i, et need asuksid samal real..

Igaljuhul siit leiad väikse reference:
http://www.thelinuxconsultancy.co.uk/quickform.php

01.10.2005 15:32:52 Vajutades siia näed kasutaja laurik profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: Dünaamiline rippmenüü ainult php'ga

Suurimad tänud!

Väike probleem veel. Kui püüan andmeid väljastada näiteks nii:

PHP kood:


    echo '<br>'.$GLOBALS['vabadkohad'][$_POST['vabadkohad'][0]];
    echo 
'<br>'.$GLOBALS['suits'][$_POST['suits'][0]];
    
print_r($_POST['markused']);



siis vabadkohad ei kuvata mulle aga samas suits kuvatakse ilusti. Märkuste kuvamiseks leidsin ainukese võimaluse kuvamiseks print_r kaudu. Aga miks vabadkohad muutujat ei kuvata

EDIT: täpselt sama jama on ka muutujaga kellonoluline

PHP kood:


    print_r($_POST['kellonoluline']);
    echo 
'<br>'.$GLOBALS['kellonoluline'][$_POST['kellonoluline']];


kumbki ei anna midagi mulle tagasi

___________________________________________________
Kui sul pole midagi öelda, ole vait.

01.10.2005 18:15:02 Vajutades siia näed kasutaja mairo22 profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

checkboxiga on nagu ikka, kui sinna linnukest tehtud ei ole siis vastavat muutujat ei ole. Algsete andmete korral peaks asi olema taoline:
PHP kood:

echo 'istekohti:' $istekohti[$_POST['vabadkohad']];
echo 
'<br>suits: ' $suits[$_POST['suits']].'<br>kellonoluline';
echo isset(
$_POST['kellonoluline']) ? 'ei' 'jah';



01.10.2005 19:30:05 Vajutades siia näed kasutaja laurik profiili

mairo22

Postitusi: 220
Tase: 5
Olek: Offline

Hinnang: Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10Administratiivhinnang: 4/10
RE: Dünaamiline rippmenüü ainult php'ga

Vorm töötab kenasti. Nüüd veel pisinikerdused jäänud.

Textarea jaoks olen teinud eraldi klassi, mis enne html koodis töötas aga kui panen

PHP kood:


$form->addElement('textarea''markused''Märkused''cols=24 rows=4'"class=inputtext");



siis ei muutu midagi. Ülal antud õpetusest leidsin ja selle järgi tegin...

Lisaks on kõik tekstid formis boldiga nagu ülal Märkused. Ei oska kuidagi sellele Märkused tekstile eraldi classi panna kui textarea jaoks juba on üks klass inputtext.

___________________________________________________
Kui sul pole midagi öelda, ole vait.

02.10.2005 10:11:26 Vajutades siia näed kasutaja mairo22 profiili

laurik
_/<

Postitusi: 847
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10Administratiivhinnang: 10/10
RE: Dünaamiline rippmenüü ainult php'ga

PHP kood:

$form->addElement('textarea''markused''Märkused''cols=15 rows=4 class=inputtext');



Inputide labelite sättimiseks tuleb muuta elemendi templatet..

http://www.bytez.net/test/quickform/custom_tpl.php
http://www.bytez.net/test/quickform/custom_tpl.phps

02.10.2005 12:45:24 Vajutades siia näed kasutaja laurik profiili

Kokku on 55 postitust, jaotatud 4 leheküljele: 1-2-3-4. Praegu näidatakse postitused 16-30.

Kokku: 25955 registreerunud kasutajat, 9711 teemat, 54603 postitust.
Täna on neljapäev, 28. mai 2020. Kell on 05:17.

    Vaata selle lehe printerisõbralikku versiooni

Avaleht   -    Skriptikogu   -    Teated   -    Foorum   -    Reklaam   -    Tagasiside   -    Kasutamise reeglid

© Copyright 2002-2020 PHP Center. Kõik õigused reserveeritud.