| | |
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Autor | Správa |
---|
Registrovaný: 04.08.10 Prihlásený: 27.02.19 Príspevky: 117 Témy: 29 |
Ahojte. Potreboval by som pomôcť s vyhľadávaním podľa textu z textfieldu. Mám dva textfieldy...z jedného sa dá triediť dvomi tlačidlami(spz) a z druhého sa berie a triedi podľa dátumu. Mám kód:
Kód: <form action="index.php?a=<?php echo $_POST['triedit'] ?>" method="POST"><input type="text" name="triedit" size="6" value=""><input type="submit" name="triedit1" value="ŠPZ ťahača"><input type="submit" name="triedit2" value="ŠPZ návesu"></form>
<form action="index.php?a=<?php echo $_POST['triedit2'] ?>" method="POST"><input type="text" name="triedit2" size="6" value="<?php echo date("Y-m-d") ?>"><input type="submit" name="triedit3" value="Dátumu"/></form> </td></tr></table>
</td> </table> <?php require "../mysql.php"; $a=$_GET['a']; if(isset($_POST['triedit1'])){ $kontrola=mysql_query("select id,date,spz_naves,spz_auto,spolocnost,vodic,technik,poznamka FROM kontrola WHERE spz_auto=$a order by date ASC LIMIT 100");} elseif(isset($_POST['triedit2'])){ $kontrola=mysql_query("select id,date,spz_naves,spz_auto,spolocnost,vodic,technik,poznamka FROM kontrola WHERE spz_naves=$a order by date ASC LIMIT 100");} elseif(isset($_POST['triedit3'])){ $kontrola=mysql_query("select id,date,spz_naves,spz_auto,spolocnost,vodic,technik,poznamka FROM kontrola WHERE date=$a order by date ASC LIMIT 100");} else { $kontrola=mysql_query("select id,date,spz_naves,spz_auto,spolocnost,vodic,technik,poznamka FROM kontrola order by date ASC LIMIT 30"); } if (!$kontrola){ echo "doslo k chybe pri otavarani SQL odkazu !"; } else{ ?>
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 25.05.2012 21:57 | |
|
Pekný kód, ďakujeme, že si sa podelil.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 04.08.10 Prihlásený: 27.02.19 Príspevky: 117 Témy: 29 | Napísal autor témy xxx9955: 25.05.2012 22:04 | |
|
Nechápem, čo myslíš. Mám dať celý? Ale všimol som si, že som zabudol napísať s čím je problém. Pardon. Takže. Horný form mi vyhľadá len podľa čísel, dolný, dátum mi nechce vyhľadať. Resp nechce vytriediť podľa toho. A aj keď vytriedi podľa čísel, tak po stlačení zlačidla sa vypíše chyba:"doslo k chybe pri otavarani SQL odkazu"a až po ďalšom refreshi spraví to čo chcem. Dal by sa ten medzikrok(refresh) vynechať?Vo výsledku by to teda malo po stlačení tlačidla zobraziť výsledky vhodné pre triedenie podľa textfieldu. Ďakujem.
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 25.05.2012 22:30 | |
|
Nezamýšlal som sa nad tým, v čom je problém, ale ten kód je otrasný.
Poďme poporiadku:
Kód: form action="index.php?a=<?php echo $_POST['triedit'] uvedomuješ si, že pri prvej návšteve stránky bude POST triedit prázdne a tým pádom sa ti ani nič Nenaplní do $a (ani po odoslaní formuláru). Kód: <input type="submit" name="triedit2" value="ŠPZ návesu"> ... <input type="text" name="triedit2" size="6" value="<?php echo date("Y-m-d") ?>">
Nevidíš tam nejakú podobnosť? Prečo máš dva odlišné inputy s rovnakým name?
A ten spodný kód ani komentovať nejdem, zbytočne sa ti opakuje kód, je väčšia pravdepodobnosť, že urobíš chybu.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 04.08.10 Prihlásený: 27.02.19 Príspevky: 117 Témy: 29 | Napísal autor témy xxx9955: 25.05.2012 22:49 | |
|
Ten vrch skúsim zajtra poludštiť. Čo sa týka spodku, tak neviem ako inak to spraviť, ide o reakcie na jednotlive tlačidlá, s tým, že prvý select triedi podla spz_navesu, druhy podla spz_auta a tretí by mal podľa dátumu...Mal by som radšej do premennej ukladať celé where a to vkladať podľa potreby iba do jedného selectu?
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 26.05.2012 10:21 | |
|
Začal by som týmto:
1. Ak to chceš mať cez rôzne buttony, dal by som to do jedného formuláru (nechápem, prečo používaš dva)
2. Namiesto viacerých odosielacich buttonov by som prepínanie medzi triedením riešil cez radio buttony, alebo cez select.
3. Pozri si tvoju query (queries), spz_auto, spz_naves a datum sú čísla? Lebo ak nie, tak ti tam chýbajú úvodzovky okolo stringu.
4. A áno, riešil by som to tak, že by som mal iba jednu query, ktoré by som predával celý where parameter cez premennú. Prípadne by som použil nejaký db layer, kde sa takéto veci robia oveľa jednoduchšie (ale tým sa ty teraz nezaťažuj).
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 04.08.10 Prihlásený: 27.02.19 Príspevky: 117 Témy: 29 | Napísal autor témy xxx9955: 26.05.2012 10:28 | |
|
Dva formuláre som mal, lebo najprv som chcel vyhľadávať aj podľa dátumu aj podľa spz, ale nakoniec dátum netreba, takže je iba jeden a dve tlačítka. Ale o to nejde. Tie chýbajúce úvodzovky sú asi ten problém, že mi nechce vyhľadať ten text. Tie tlačidlá skúsim cez ten radio button...Skúsim sa s tým vyhľadávaním pobiť. Ďakujem shaggy.
|
|
Registrovaný: 04.08.10 Prihlásený: 27.02.19 Príspevky: 117 Témy: 29 | Napísal autor témy xxx9955: 28.05.2012 0:47 | |
|
Odosielanie formulára som vyriešil pomocou javascriptu. Kód:
Kód: <script type="text/javascript"> function submitform() { document.forms["triedic"].submit();
} </script> <form id="triedic" action="index.php"> <input type='text' name='a'> <input type="button" name="triedit1" id="triedit1" value="ŠPZ auta" onClick="submitform()" /> <input type="button" name="triedit2" id="triedit2" value="ŠPZ návesu" onClick="submitform()" /></form>
</td></tr></table></td></table> <?php require "../mysql.php"; $a=$_GET['a']; if(isset($_POST['triedit1'])){ $kontrola=mysql_query("select id,date,spz_naves,spz_auto,spolocnost,vodic,technik,poznamka FROM kontrola WHERE spz_auto in '$a' order by date ASC LIMIT 100");} elseif(isset($_POST['triedit2'])){ $kontrola=mysql_query("select id,date,spz_naves,spz_auto,spolocnost,vodic,technik,poznamka FROM kontrola WHERE spz_naves in '$a' order by date ASC LIMIT 100");} else {$kontrola=mysql_query("select id,date,spz_naves,spz_auto,spolocnost,vodic,technik,poznamka FROM kontrola order by date ASC LIMIT 100");} if (!$kontrola){ echo "doslo k chybe pri otavarani SQL odkazu !"; } else{ ?>
Problém je, že aj keď formulár odošlem, tak sa mi zmení url na napr: http://localhost/kontrola/index.php?a=13, ale stránka sa nevytriedi. Nevytriedi sa dokonca ani keď dám do toho selectu v else podmienku. Nezamýšľajme sa nad škaredosťou kódu prosím ale nad problémom. Ďakujem.
|
|
Registrovaný: 28.04.11 Prihlásený: 25.04.24 Príspevky: 296 Témy: 27 Bydlisko: Martin/Brno | Napísal mitko: 28.05.2012 13:55 | |
|
nechápem načo si tam vtrepal ten javascript. Minimálne jedna chyba je, že nemáš zadané, ktorú metódu požívaš si vyber buď GET alebo POST lebo z obomi naraz ti to asi nepôjde.
|
|
Registrovaný: 04.08.10 Prihlásený: 27.02.19 Príspevky: 117 Témy: 29 | Napísal autor témy xxx9955: 28.05.2012 17:19 | |
|
Už mi to fičí. Mám s tým len malý kozmetický problém. Ako...funguje to, ale bol by som radšej keby sa z textboxu odosielali údaje veľkými písmenami. V textboxe to mám zabezpečené pomocou: Kód: style="text-transform:uppercase" , ale v url sa text zobrazí malými písmenami. Dá sa to spraviť? Form vyzerá takto: Kód: <form id="triedic" action="index.php"> Podľa ŠPZ auta<input type="radio" name="podla" id="podla" value="1" checked/> Podľa ŠPZ návesu<input type="radio" name="podla" id="podla" value="2" /><br> <input type="text" id="spz" name="spz" value="" style="text-transform:uppercase;width:126px" > <input type="submit" name="triedit" value="Triediť" style="width: 126px"/></form> A ešte jedna kozmetická vec, keď sa odošle form, tak v url je zahrnuté aj tlačidlo(triedit). Dá sa tomu vyhnúť? Aby bolo namiesto tohto: Kód: index.php?podla=2&spz=tt-123ab&triedit=Triediť toto: Kód: index.php?podla=2&spz=TT-123AB
Sú to len kozmetické veci, ale tie malé písmená by možno mohli robiť problémy na linuxe(neskúšal som, neviem).
Čo sa týka toho textboxu, ten má predpísaný vzor pomocou js. Bolo by treba ten uppercase použiť v tom js? Ďakujem.
|
|
Registrovaný: 28.04.11 Prihlásený: 25.04.24 Príspevky: 296 Témy: 27 Bydlisko: Martin/Brno | Napísal mitko: 28.05.2012 20:02 | |
|
Použi metódu POST. A kedy konkrétne potrebuješ tie veľké písmená pri hľadaní v DB ? Môžeš použiť PHP funkciu strtoupper($str).
|
|
Registrovaný: 04.08.10 Prihlásený: 27.02.19 Príspevky: 117 Témy: 29 | Napísal autor témy xxx9955: 28.05.2012 20:13 | |
|
No ja to nepotrebujem skryť, ja by som chcel aby to tam vôbec nebolo, ale ono to až tak nevadí. strtoupper($str) skúsim použiť. Ďakujem.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 29.05.2012 9:43 | |
|
xxx9955 píše: bol by som radšej keby sa z textboxu odosielali údaje veľkými písmenami Stavajuci sposob ti nefungoval, lebo ten text sa premeni na velke pismena len u klienta, iba to meni sposob zobrazenia, v skutocnosti je ten obsah stale malymi pismenami.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| foobar2000 triedenie podla priecinka v Audio programy | 0 | 531 | 02.05.2010 9:03 Johnnny | | Pascal - triedenie podla jednotlivych poloziek záznamov v Assembler, C, C++, Pascal, Java | 8 | 806 | 08.02.2009 19:25 tominoZA | | Vkladanie textu podľa vzoru v PHP, ASP | 2 | 323 | 27.05.2012 22:27 xxx9955 | | Odstránenie textu navyše z premennej podľa podmienky. v PHP, ASP | 3 | 565 | 01.01.2013 14:16 1daemon1 | | vypis textu podla vybranej polozky v selecte v JavaScript, VBScript, Ajax | 5 | 454 | 06.02.2010 22:41 1daemon1 | | Zmena textu a zanechani pozice v textu v PHP, ASP | 4 | 755 | 01.08.2009 21:26 Tominator | | WIN7-usporiadanie podla typu a zaroven podla datumu v Operačné systémy Microsoft | 1 | 723 | 10.10.2011 17:16 Logik | | Triedenie pesničiek v Ostatné programy | 1 | 487 | 04.06.2014 7:47 mirom | | Pascal - triedenie v Assembler, C, C++, Pascal, Java | 6 | 1606 | 05.03.2009 2:36 TrSek | | Rozsirene triedenie v PHP, ASP | 6 | 531 | 10.12.2010 10:50 psm | | Triedenie čísliel v JavaScript, VBScript, Ajax | 1 | 573 | 23.03.2009 21:18 myxall | | Pascal - triedenie + vyhladavanie v Assembler, C, C++, Pascal, Java | 0 | 386 | 22.11.2012 17:21 Reason166 | | JAVA - triedenie cisiel v Assembler, C, C++, Pascal, Java | 12 | 2306 | 24.10.2010 13:00 coldak | | Thunderbird - triedenie spamu v Sieťové a internetové programy | 4 | 477 | 15.02.2010 20:07 Blackshadow | | Zlé triedenie...prosím pomôžte!! v Assembler, C, C++, Pascal, Java | 22 | 943 | 04.05.2010 22:21 klaudia | | Program na triedenie fotografii v Grafické programy | 20 | 3340 | 11.12.2018 13:58 Joeyeti |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|