Pereiti prie turinio

input laukas, kategorijos paimimas iš duom bazės


Rekomenduojami pranešimai

Sveiki,

 

Taigi, aš vėl su savo problemomis, ir klausimais.

 

1.Klausimas

Aš noriu kad input laukelyje būtų užrašas "member" o paspaudus pelytę jis dingtų.. Na principas toks kaip uždarbio paieškos laukelis.

 

<input name="member" size="5" class="id" type="text" onclick="this.value='member'"// mano bandymas kuris nepasiteisino// />

 

<input name="password" class="pass" type="password" />

 

2.Klausimas

 

Kaip padaryt jog atvaizduotų info iš CAT folderio

 

nes pvz. <?php echo $myrow['name']; ?> ima informacija iš kitos lenteles pavadinimu SIUNTINIAI

 

Iš anksto atsiprašau, jei kam mano klausimai pasirodys kvaili.... aš dar tik mokausi :)

post-26988-0-82469700-1321601188_thumb.jpg

Nuoroda į pranešimą
Dalintis kituose puslapiuose

1.Klausimas

Aš noriu kad input laukelyje būtų užrašas "member" o paspaudus pelytę jis dingtų..

<input name="member" size="5" class="id" value="member" type="text" onclick="this.value=''" />

Aš tik pataisiau tavo rašyta html koda, bet čia nereiškia jog geras variantas, nes net jei vartotojas bus užrašęs savo paieškos žodį ir norės jį pataisyti, fieldas iškart išsitrins. Taigi geriau būtų pasirašytį javascript funkcija, kuri prieš fieldo valyma patikrintų ar reikia valyti (ar nėra vartotojo įvestos info). Bet čia palieku tau pačiam sugalvoti.

2.Klausimas

Kaip padaryt jog atvaizduotų info iš CAT folderio

nes pvz. <?php echo $myrow['name']; ?> ima informacija iš kitos lenteles pavadinimu SIUNTINIAI

Šito nelabai supratau, kokios info nori iš cat folderio? Užklausas rašais pats, pats ir nurodai iš kurios lentelės info imtu, jei ten nėra tokios info, čia jau kita bėda.

Redagavo robotas86
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki,

 

Taigi, aš vėl su savo problemomis, ir klausimais.

 

1.Klausimas

Aš noriu kad input laukelyje būtų užrašas "member" o paspaudus pelytę jis dingtų.. Na principas toks kaip uždarbio paieškos laukelis.

 

 

 

2.Klausimas

 

Kaip padaryt jog atvaizduotų info iš CAT folderio

 

nes pvz. <?php echo $myrow['name']; ?> ima informacija iš kitos lenteles pavadinimu SIUNTINIAI

 

Iš anksto atsiprašau, jei kam mano klausimai pasirodys kvaili.... aš dar tik mokausi :)

 

 

1.)

Aš naudoju tokią sintaksę:

<input id="keyword" name="key" type="text" onfocus="if ( $('#keyword').attr('value') == 'Tavo tekstas' ) { $('#keyword').val('') ; }" onblur="if ( $('#keyword').attr('value') == '' ) { $('#keyword').val('Tavo tekstas') ; }" value="Tavo tekstas"

Paprastesnis variantas:

input type="text" name="name" value="Tavo tekstas" onfocus="if(this.value=='Tavo Tekstas'){this.value='';}" onblur="if(this.value==''){this.value='Tavo tekstas';}"/>

 

2) Detalizuok klausimą. "Kaip padaryt jog atvaizduotų info iš CAT folderio".

Redagavo EriX
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Administratoriai

1.Klausimas

Aš noriu kad input laukelyje būtų užrašas "member" o paspaudus pelytę jis dingtų.. Na principas toks kaip uždarbio paieškos laukelis.

 

<input name="member" type="text" class="member" value="member" onblur="if(this.value=='')  this.value='member';" onfocus="if(this.value=='member') this.value='';" />

 

 

2.Klausimas

 

Kaip padaryt jog atvaizduotų info iš CAT folderio

nes pvz. <?php echo $myrow['name']; ?> ima informacija iš kitos lenteles pavadinimu SIUNTINIAI

nori pakeisti tekstą rodomą?

 

// čia "siuntiniai" užrašą pakeičiame "cat"
preg_replace('/siuntiniai/', 'cat', $myrow['name']);

Nuoroda į pranešimą
Dalintis kituose puslapiuose

taip suprantu, kad CAT folderis, tai turima omenyje CAT lentelė. Ar teisingai? :) Tai nurodyk SELECT užklausoje, kad imtų įrašus ne iš lentos SIUNTINIAI, o iš CAT. Kame bėda?

 

man reikia kad imtų iš abiejų lentelių :)

 

jei nurodau kad imtų iš siunt, rodo ['name'] failo, tačiau dingsta kategorija, jeigu nurodau jog imtų iš cat atvirkščiai..

 

siunt lenteleje yra "kid" laukas kuriame nurodytas kategorijos (ID) numeris, tačiau be pavadinimo.

cat lenteleje yra nurodytas ID(numeris) ir pavadinimas (name).

 

jeigu parašau jog rodytų ['name'] man rodo name kuris yra "siunt" lenteleje, o man reikia kad imtų ['name'] iš cat lentelės.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

man reikia kad imtų iš abiejų lentelių :)

 

jei nurodau kad imtų iš siunt, rodo ['name'] failo, tačiau dingsta kategorija, jeigu nurodau jog imtų iš cat atvirkščiai..

 

siunt lenteleje yra "kid" laukas kuriame nurodytas kategorijos (ID) numeris, tačiau be pavadinimo.

cat lenteleje yra nurodytas ID(numeris) ir pavadinimas (name).

 

jeigu parašau jog rodytų ['name'] man rodo name kuris yra "siunt" lenteleje, o man reikia kad imtų ['name'] iš cat lentelės.

 

Join naudok ir viską iškart gausi :)

http://www.sql-tutorial.net/SQL-JOIN.asp

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Join naudok ir viską iškart gausi :)

http://www.sql-tutorial.net/SQL-JOIN.asp

 

mysql duom bazeje parašiau užklausa:

 

SELECT siunt.kid, cat.name

FROM siunt, cat

WHERE siunt.kid = cat.id

GROUP BY siunt.kid, cat.name

 

ką reikia pakoreguoti čia?:

 

<?php

 

ini_set('error_reporting', E_ALL);

ini_set('display_errors', 'Off');

$max_entries = "10";

$total = mysql_num_rows(mysql_query("select * from siunt "));

if (isset($_GET['page'])){ $page = $_GET['page']; }

else { $page=1; }

$start=($max_entries * $page)-$max_entries;

if ($total <= $max_entries) { $num_page=1; }

else if (($total % $max_entries)==0) { $num_page=$total/$max_entries; }

else { $num_page=$total/$max_entries + 1; }

 

$sql = "SELECT * FROM siunt order by id+0 DESC limit $start, $max_entries";

 

$result = mysql_query($sql);

 

while ($myrow = mysql_fetch_array($result)) {

 

?>

 

čia kodas kuris noriu kad atvaizduotu kategorijos pavadinima:

 

<?php echo $myrow['ką rašyti čia?']; ?>
Nuoroda į pranešimą
Dalintis kituose puslapiuose

mysql duom bazeje parašiau užklausa:

 

 

 

ką reikia pakoreguoti čia?:

 

 

 

čia kodas kuris noriu kad atvaizduotu kategorijos pavadinima:

 

 

 

 

 

 

Duomenų bazės užklausa geriau vykdyti taip:

 

 

SELECT kid,name

FROM siunt

JOIN cat ON ( id = kid)

--Gali pamėginti panaudoti ir WHERE sąlygą išfiltruoti kuo daugiau įrašų kurie gali neatitikti, pvz pagal datą, statusą ir t.t.

GROUP BY kid, name

 

 

Stenkis nenaudoti:

SELECT * FROM table

 

* - išrenka visus įrašus kaip bebūtų dažniausiu atveju tau tikrai visų įrašų nereikia.

 

O dėl stulpelių pavadinimų labiau rašyk suvokiamas.

Pvz.: lentelė siuntiniai(patartina rašyti angliškai)

stulpelių pavadinimus galvok taip:

siunt_id, siunt_name,siunt_something.

 

Tai tau padės nesusimaišyti rašant ilgesnius JOINUS bei prisėdus prie to paties selecto po ilgesnio laiko nepasimesti.

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

gali naudoti stulpelių aliasus užklausose:

 

SELECT siunt.kid as `kid_id`, cat.name as `cat_name`
FROM siunt, cat
WHERE siunt.kid = cat.id
GROUP BY siunt.kid, cat.name

 

tada tavo pateiktame PHP kode galėtum pavadinimą pasiimt taip:

<?php echo $myrow['cat_name']; ?>

Redagavo anre
Nuoroda į pranešimą
Dalintis kituose puslapiuose

gali naudoti stulpelių aliasus užklausose:

 

SELECT siunt.kid as `kid_id`, cat.name as `cat_name`
FROM siunt, cat
WHERE siunt.kid = cat.id
GROUP BY siunt.kid, cat.name

 

tada tavo pateiktame PHP kode galėtum pavadinimą pasiimt taip:

<?php echo $myrow['cat_name']; ?>

 

 

Jeigu šį php koda pakeičių

 

$sql = "SELECT * FROM siunt order by id+0 DESC limit $start, $max_entries";

 

į šitą:

 

$sql = 'SELECT siunt.kid as `kid_id`, cat.name as `cat_name`'

. ' FROM siunt, cat'

. ' WHERE siunt.kid = cat.id'

. ' GROUP BY siunt.kid, cat.name LIMIT 0, 30 ';

 

Tuomet man duoda tik šitą reikšmę

 

<?php echo $myrow['cat_name']; ?>

 

, tačiau nebegaunu

 

<?php echo $myrow['name']; ?>

<?php echo $myrow['cred']; ?>

 

taip gaunasi kad iš "siunt" lentelės nebepaima kitų duomenų.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

juk tu persivadini tuos laukus, kuriuos paselectini, is kid i kid_id ir name i cat_name. O uzklausoi lauko cred tu net nepaimi.

 

tavo ta uzklausa viekia taip. is lenteles siunt ir cat paima tik du stulpelius ,kid ir name atitinkamai, ir dar duodi salyga kad rezultatuose butu tik tos eilutes, kur siunt.kid reiksme yra lygi cat.id reiksmei. Vienu zodziu keista sita uzklausa pas tave , neaisku ka tu nori is jos gauti, jami max 30 skirtingu katalogu id(kurie yra lentelei siunt) ir tu katalogu pavadinimus?

Redagavo kaunomanas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

juk tu persivadini tuos laukus, kuriuos paselectini, is kid i kid_id ir name i cat_name. O uzklausoi lauko cred tu net nepaimi.

 

tavo ta uzklausa viekia taip. is lenteles siunt ir cat paima tik du stulpelius ,kid ir name atitinkamai, ir dar duodi salyga kad rezultatuose butu tik tos eilutes, kur siunt.kid reiksme yra lygi cat.id reiksmei.

 

 

kaip man prigriebti kad paimtų prie visko dar ir kitas reikšmes...?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

$sql = 'SELECT siunt.kazkas1, siunt.kazkas2, cat.kazkas3, cat.kazkas4

. ' FROM siunt, cat'

. ' WHERE siunt.kid = cat.id'

. ' LIMIT 0, 30 ';

 

vietoj kazkas isidek tuos stulpelius kuriu reikia, tik zek kad nesidubliuotu, jei dubliuojas persivadink

Nuoroda į pranešimą
Dalintis kituose puslapiuose

$sql = 'SELECT siunt.kazkas1, siunt.kazkas2, cat.kazkas3, cat.kazkas4

. ' FROM siunt, cat'

. ' WHERE siunt.kid = cat.id'

. ' LIMIT 0, 30 ';

 

vietoj kazkas isidek tuos stulpelius kuriu reikia, tik zek kad nesidubliuotu, jei dubliuojas persivadink

 

 

o ką reiškia tai: siunt order by id+0 DESC limit $start, $max_entries";

Nuoroda į pranešimą
Dalintis kituose puslapiuose

ka duoda tas +0 tai nezinau, o kitkas tai:

 

ORDER BY id DESC - isrikiuoja rezultatus pagal stulpelio id reiksmes mazejimo tvarka

limit $x,$y - $x : nuo kurios uzklausos salyga tenkinancios eilutes pradet imt duomenys, $y : kiek is viso tu eiluciu paimt

Redagavo kaunomanas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

$sql = 'SELECT siunt.kazkas1, siunt.kazkas2, cat.kazkas3, cat.kazkas4

. ' FROM siunt, cat'

. ' WHERE siunt.kid = cat.id'

. 'ORDER BY laiko-lauko-pavadinimas DESC'

. ' LIMIT 0, 30 ';

 

bet vistiek sakau, nuo per sudetingu dalyku pradedi, pradek nuo lengvesniu, nes matos kad pirma diena matai ta sql, o kai nesupranti, tai naudos nera is tokio mokslo. Beje visus sios temos atsakymus galejai googlei surast per 1min.

Redagavo kaunomanas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...