Výpis dílů z databáze – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výpis dílů z databáze – PHP – Fórum – Programujte.comVýpis dílů z databáze – PHP – Fórum – Programujte.com

 

Roman
~ Anonymní uživatel
134 příspěvků
18. 7. 2009   #1
-
0
-

Zdravím.
Narazil jsem na problém s výpisem automobilových dílů z databáze.

V databázi je uložena značka automobilu(např. BMW), část automobilu (např. motor, podvozek, karoserie . . . ) a dále pak díly, které patří značce a dané části, (např. píst motoru BMW).

Díly jsem chtěl vypsat následujícím způsobem na hlavní stránce by byly dva prvky <SELECT></SELECT>.
V prvním <SELECTu> by si uživate vybral značku vozu, například již zmiňované BMW. Já nyní potřebuji docílit toho, aby se mi ve druhém <SELECTu> nevypisovaly již všechny části automobilu, ale aby se v nabídce zobrazily jen ty části odpovídající značce BMW z databáze.
Jakmile si pak uživatel vybere danou část vozu tak by se měla vypsat tabulka dílu spadajících do značky BMW a části např. motor_bmw.
Lépe se to vysvětluje na příkladu.
Výborně to má udělané INVIA.cz http://www.invia.cz
Vyberu si zemi zájezdu Řecko a ve druhém <SELECTu> se mi nevýpíší ostrovy z jiných zemí, ale jen ostrovy z Řecka.
Snad jsem dostatečně můj "problém" popsal a vysvětlil.
Byl bych rád za jakékoliv rady, tipy, nápady, informace.
Mnohokrát děkuji.

Nahlásit jako SPAM
IP: 77.48.59.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
18. 7. 2009   #2
-
0
-

To Roman : tak máš dvě možnosti

a) (pro uživatele horší) Při změně vyýběru udělat refresh stránky a upravovat jednotlivé dotazy na databázi

b) (elegantnější) Řešit to přes Ajax

Nahlásit jako SPAM
IP: 213.194.252.–
KIIV
~ Moderátor
+43
God of flame
18. 7. 2009   #3
-
0
-

treba php quickform2 ma moznost hodit tam takovej dvojselect.. pouzivat to JS .. akorat narozdil od ajaxu jsou ty data poslany rovnou pri nacteni stranky

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
18. 7. 2009   #4
-
0
-

KIIV: predstav si kolko tam moze mat dielov... do aleluja... vsetko zakazdym tahat... no au...

najlepsie to asi vyriesis ajaxom... na vyhladavacej stranke budes mat dva selecty z vyberom znacky a casti auta + 1 div s nastavenym ID... na oba selecty budes mat napr. udalost onchange (ak sa nemylim) naviazanu na funkciu ktora bude zistovat ci su oba selecty vybrane... ak ano, pomocou ajaxu posles 'ziadost' na subor (s premennymi vybranych selectov) ktory vytvori ten treti select obsahujuci jednotlive diely a vlozi ho do stranky, do divu ktory si si vytvoril na zaciatku....

btw: len tvoj problem nepatri do php sekcie :)

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
18. 7. 2009   #5
-
0
-

To marioff : nemyslim ze by to byl problem.. naprosta vetsina webu je tak silene ohromna, ze na to clovek potrebuje aspon 5Mb linku... (a jeste pokud to nekdo dela v frontpage tak minimalne 2nasobek :))
kdyz se naaahodou snazim na cokoliv kouknout z mobilu tak je to na dlouho...

takze si s tim vetsina lidi nejaky problemy nedela :)

EDIT: ber s nadsazkou :o)

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
18. 7. 2009   #6
-
0
-

To KIIV : jj mas naprostu pravdu... ale na druhu stranu by som takym programatorom lamal ruky... lebo ja dost casto pouzivam mobil na net cez EDGE a niekedy to je fakt zufalstvo.. :(

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
18. 7. 2009   #7
-
0
-

marioff napsal:
KIIV: predstav si kolko tam moze mat dielov... do aleluja... vsetko zakazdym tahat... no au...

najlepsie to asi vyriesis ajaxom... na vyhladavacej stranke budes mat dva selecty z vyberom znacky a casti auta + 1 div s nastavenym ID... na oba selecty budes mat napr. udalost onchange (ak sa nemylim) naviazanu na funkciu ktora bude zistovat ci su oba selecty vybrane... ak ano, pomocou ajaxu posles 'ziadost' na subor (s premennymi vybranych selectov) ktory vytvori ten treti select obsahujuci jednotlive diely a vlozi ho do stranky, do divu ktory si si vytvoril na zaciatku....

btw: len tvoj problem nepatri do php sekcie :)



Mockrát diky za návod jak to pořešit, ale AJAX bohužel neovládám :-( Nemohl by jsi prosím hodit nějaký mini příklad ??? Ať se mám čeho chytit ???
Předem děkuji ;-)

Nahlásit jako SPAM
IP: 77.48.59.–
Roman
~ Anonymní uživatel
134 příspěvků
19. 7. 2009   #8
-
0
-

Takže po progoogleném dnu a noci vím jak sestavit dva a více na sobě závislých <SELECTů> , ale pořád se mi nedaří naprogramovat jednu věc.
Jakmile si v posledním <SELECTu> zvolím položku, tak potřebuju vypsat do té samé stránky data z databáze která patří do položky prvního <SELECTu> a zároveň do druhého <SELECTu>.

uvedu příklad:
V prvním selectu vyberu značku vozu BMW a ve druhém selectu vyberu MOTOR........a teď potřebuju vypsat do tabulky díly z databáze, které patří ke značce BMW a zároveň patří do kategorie MOTOR. Nevím jak mám předávat nebo uchovávat parametry z těch dvou selectů :-(

Nahlásit jako SPAM
IP: 77.48.59.–
marioff0
Expert
19. 7. 2009   #9
-
0
-

uvital by som trosku viac snahy.. napr. ukazat co si doteraz nakodil... ale som sa zlutoval tak tu to mas:

<script type="text/javascript">

function nacitaj() {
var obsahznacky=document.getElementById("znacka").value;
var obsahkategorie=document.getElementById("kategorie").value;

if (obsahznacky>=1 && obsahkategorie>=1) {
zobraztabulku(obsahznacky,obsahkategorie);
}
}

var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else {
alert("vas browser nepodporuje ajax!!");
}

function zobraztabulku(znacka,kategoria) {
xmlhttp.onreadystatechange = zmena;
xmlhttp.open("GET", "tabulka.php?znacka="+znacka+"&kategoria="+kategoria, true);
xmlhttp.send(null);
}

function zmena() {
if (xmlhttp.readyState == 4) {
document.getElementById("tabulka").innerHTML = xmlhttp.responseText;
}
}
</script>


<select id="znacka" onchange='nacitaj()'>
<option value="0">Vyber si značku</option>
<option value="1">Audi</option>
<option value="2">BMW</option>
<option value="3">Honda</option>
<option value="4">Nissan</option>
</select>

<select id="kategorie" onchange='nacitaj()'>
<option value="0">Vyber kategóriu dielu</option>
<option value="1">Motor</option>
<option value="2">Karosárčina</option>
<option value="3">Elektrika</option>
<option value="4">Tesnenia</option>
</select>


<div id="tabulka"></div>


ostava uz len urobit subor tabulka.php s vypisom vybranych dielov.. pomocou parametrov znacka a kategoria.... to uz hadam zvladnes aj sam...

ps: napisal som to z brucha pri jednej cigaretke tak hadam to pojde bez problemu...

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 93 hostů

Podobná vlákna

Výpis z databáze — založil Lukáš

Výpis z databáze — založil Maros

Výpis z databáze — založil Twino

Výpis z databáze — založil fix

Výpis jména z databáze — založil Adam Hofhans

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý