Topic: Kaip padaryti forma

Reikia pagalbos, žodžiu yra tokia forma:  http://www.mvisata.lt/lt/tv/internet/uzsakymas/  noriu ja pasidaryti savo tinklapyje, busiu dėkingas
už pagalbą nuo 0 iki pabaigos.

Ačiū!

Re: Kaip padaryti forma

Gali su jquery,
http://plugins.jquery.com/project/selectchain

P.S graudu, kai mvisata taip trumpina LT miestų pavadinimus (JONAVR)

Kiek maigyklių sudėvėjai ?

Re: Kaip padaryti forma

Labai džiugu taip greitai sulaukti atsakymo, MD5 malonu kad pasiūlei jQuery, tačiau tau tikriausiai tai užtektuu bet ne man :( man reikia daugiau, nuo prasžios VALUE iki SQL gavimo rezultato... Dėkui

Re: Kaip padaryti forma

rolka: turiu įspėti, kad tikėtis gatavų sprendimų čia neverta, jeigu atsiras, kas neturi ką veikti ir tau padarys konkretų scriptą - puiku, bet tai nutinka labai retai (-; Jeigu tai kažkaip susiję su tavo mokslais, tai labai rekomenduoju ir pabandyti tai suprogramuoti pačiam, susidūrus su konkrečiomis problemomis ir pateikus klausimus/problemas mes tikrai padėsime.

Jeigu pasiėmei užduotį ne pagal savo žinias ir patirtį - rekomenduoju pradėti nuo paprastesnių dalykų. Tiek PHP tiek MySQL turi visokių pradedančiųjų pamokų, kur mokomi pagrindai. Aišku iš jų programuoti neišmoksi, nes to mokina mokykloje/universitete. Su sintaksės įpatumais susipažinsi dokumentacijose.


Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

5 (edited by Min2liz 2010-03-26 23:50:12)

Re: Kaip padaryti forma

Pirmiausia manau kad tema totaliai neįsipaišo į nurodytą tema, bet minde čia bosas ir jis sprendžia :)

rolka, kaip minde minėjo, nesitikėk galutinio rezultato.Galim padėt išspręst vieną ar kitą problemą, bet...  Galiu padėt (kai nėr kas veikti, ir nebėra kur klaidžiot po internetą) šiuo atveju. Nes tai ką Mikrovisata ten per formą padarius man nes skaudu žiūrėt :s (Ai beje uzteks Lietuviskai rasyt, labai jau sunku).

Taigi pradedam:

1. Mikrovisata naudoja $_POST kiekviena karta kai pasirenki atitinkama punkta. Na cia srauto netaupymas totalus (kol Ajax neegzistavo tai buvo suprantama), bet siuo atveju programerius ant kuolo!
2. Forma nera sudetinga visiskai tiesiog ismok normaliai suprasti kaip veikia formos ir pasirink sau optimalu varianta. (Su Ajax atnaujinti tik dali html kodo, ar kiekviena karta pasirinkus punkta atnaujinti visa puslapi)


Jei neminejau neesu perdaug uzsiemes, tad nesunku ir pagelbet. Tik prasau jei ko nesuprasi klausk - bet neprasyk kad sukurtume pilnai veikianti scripta!

MySQL DB (logikos gali buti nulis, bet kaip pradziai bus gerai :)):

miestai_rajonai

ID  | m_r                    | rajonas_id | 
1    | Klaipeda              |    0          |
2    | Gargzdai              |    1         |
3    | Klaipeda_Afigiena |    1         |

PHP  "ajax.php" (Tikrinam variantus ir t.t. Logikos = 0, saugumo = -1 :D):

<?php 
    $type = $_POST['type'];
    if (!empty($_POST['id'])) {
          $id = (int)$_POST['id'];
    }        
   
    if ($id > 0) { // Netikiu kad ID gali buti 0 :) jei ivedamas string, (int) grazins 0
            swicth (strtolower($type)) {
                  case 'r':
                       $sql = mysql_query("SELECT * FROM `data` WHERE `rajonas_id`=$id") or die(mysql_error());
                  break;
                  case 'a':
                       $sql = mysql_query("SELECT * FROM `data` WHERE `rajonas_id`=0") or die(mysql_error());
                  break;
                  default:
                       die('Get Lost');
                  break;

            }
            if (mysql_num_rows($sql) != 0) {
                  $r = '';
                   while ($row = mysql_fetch_assoc($sql)) {
                          $r .= '<option value="' . $row['id'] .">' . $row['m_r'] .'</option>';
                   }
                   echo $r;                      
            }
    }
?>

Dabar ziurim HTML (Pasirinkimas <select> punktu ir pan.):

<html>
        <head>
                 <title>Labas ;)</title>
                  <script language="javascript" src="jquery.js" type="text/javascript"></script>
        </head>
        <body>
              <select name="labas" size="1" onchange="Do(this,'r');" id="m_r">
              </select>
              <select name="labas" size="1" id="m_r2">
              </select>
               <script language="javascript">
                   $(document).ready( 
                         $.post('ajax.php',{ type: 'a'}, function (data) {
                             $("#m_r").html(data);
                         });
                    );
                    function Do(f,t) {
                        $.post("ajax.php", { id: $(f).val(), type: t}, function (data) {
                             $("#m_r2").html(data);
                        });
                    }
               </script>
        </body>
</html>

Trumpai tariant cia balaganas, bet gal ka nors issiaiskinsi :) Penktadienis == Ne laikas programuot, bet... :) Taigi jei sugebesi pagal pateikta pavyzdi ka nors issiaiskinti tuomet zinosi link kur krypsti (95% kodas neveikiantis :)). Sekmes darbuose.

Re: Kaip padaryti forma

Min2liz wrote:

.. bet minde čia bosas ir jis sprendžia :)

.. aš ne joks čia ne bosas. Kiekvienas sprendžia ar kodint kažką ar ne, aš parašiau, kad nesitikėtų gatavų sprendimų (-; Nes manau, kad tai ne į gerą, kai žmonės pripranta gauti viską suprograminta, paskui ateina į forumą ir iš karto rašo "nu, krc, greitai man pavarykit čia tokio scriptuko reikia!" (-;

Re: Kaip padaryti forma

Ne as sneku apie tai kad ta tema neisipaiso i "SQL užklausos ir duomenų struktūros" foruma, o kad tu jos neperkeli, tai tu sprendi kur ji tinka. :) Beje tu cia bosas! Ir dar aiskiai parasyta:

minde
Administrator

:D Beware!

Re: Kaip padaryti forma

Labas Min2liz ir md5, pirma labas pasakiau Min2liz todel kad... na supratote.

Situacija tokia: http://test2.kli.lt/pvz/   tikriausiai dabar juoksites, nors man visai nejuokinga

As suprantu stai taip http://test2.kli.lt/pvz/mano.php   pasirenku miesta sis gi duoda uzklausa i DB kur gauna atsakyma patalpinta  ( name="rajonai" ) lauke, toliau rajonas duoda uzklausa ir gauna atsakyma ( name="gatves"), toliau gatves duoda uzklausa ir gauna atsakyma lauke ( name="namai")  visa si informacija bus DB, na namai gatves ir t.t.

Statau uz pagalba, reikia: po pavyzdziu su vienu pavadinimu pvz.

miestas: Vilniu
rajovas: Zirmunas
gatve: zemaites
namas: 2

Re: Kaip padaryti forma

rolka niekas cia is nieko nesijuokia. Visi kazkada buvom pradedantieji.

Tavo http://test2.kli.lt/pvz/mano.php select neveikia nes this.form is null isigyk FireBug - patikek rupesciu sumazes per pus.

O gauni ta klaida del to kad tu neturi formos susikures.

Beto nematau pagal source niekur kad egzistuotu sios funkcijos back_action() ir submit(). Tai iskart jei susitvarkysi viena error, gausi kita kad back_action() is not defined

O siaip jei supratau submit() funkcija skirta perduoti pasirinkta elementa i Ajax ar dar kazka tokio gauti norimiems duomenims. Tad naudok: submit(this.form);

Re: Kaip padaryti forma

Susikuriau pvz. , taciau kai uzklausa padarau, atsakyma is SQL gaunu: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

taciau pasitikrinus lyg lenete yra sukurtos ir informacija patalpinta jose yra.

Re: Kaip padaryti forma

gauni tuscia uzklausa, paziurek kokius error gauni: mysql_query($sql) or die(mysql_error); tuomet zinosi kas blogai.

Re: Kaip padaryti forma

Uzklaus tokia paraiau:

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$sql = "SELECT * FROM Person";
mysql_query($sql,$con);

// some code

mysql_close($con);
?>

Ten lenteles pas mane siuo metu be duomenu tai gavau atsakyma tuscia balta lapa.

o jeigu parasau:

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$sql = "CREATE DATABASE my_db";
if (mysql_query($sql,$con))
  {
  echo "Database my_db created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }
?>

Tai atsakyma gaunu:

Error creating database: Can't create database 'my_db'  ( my_db.. as tokiu pavadinimu sukuriau savo); database exists

Re: Kaip padaryti forma

Taigi aiskiai parasyta: Error creating database: Can't create database 'my_db'  database exists :)

Re: Kaip padaryti forma

Na bet kalba ne apie tai, as gi sakau kad db neatvaizduoja o kad ji yra as pats zinau, o kai  noriu pasitikrinti   mysql_query($sql,$con); gaunu tuscialapa. As taip suprantu jeigu tuscias tai jokiu eroru nera? Na jeigu nera, tai kodel kai noriu atvaizduoti duomenis is DB gaunu Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

Re: Kaip padaryti forma

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

Reiškia, kad tu funkcijai musql_fetch_array() nepaduodi gero MySQL resurso. Kas reiškia, kad tavo užklausa, kurios pasekoje tas resursas būtų sukurtas, neįvyko. Užklausa neįvyko dėl klaidos mysql_query(), kurios tu niekaip neapdorojai.

Jeigu naudoji CREATE TABLE, tai gali pridėti IF NOT EXISTS, kas leis nekurti lentos jeigu ji jau yra.

Plačiau: http://dev.mysql.com/doc/refman/5.1/en/ … table.html