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ū!
PHP ir MySQL programavimas, SQL užklausos, duomenų bazės, PHP scriptai, pagalba, diskusijos, pamokos ir straipsniai.
You are not logged in. Please login or register.
PHP ir MySQL → SQL užklausos ir duomenų struktūros → 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ū!
Gali su jquery,
http://plugins.jquery.com/project/selectchain
P.S graudu, kai mvisata taip trumpina LT miestų pavadinimus (JONAVR)
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
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.
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.
.. 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!" (-;
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!
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
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);
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.
gauni tuscia uzklausa, paziurek kokius error gauni: mysql_query($sql) or die(mysql_error); tuomet zinosi kas blogai.
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
Taigi aiskiai parasyta: Error creating database: Can't create database 'my_db' database exists :)
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
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
PHP ir MySQL → SQL užklausos ir duomenų struktūros → Kaip padaryti forma
Powered by PunBB, supported by Informer Technologies, Inc.