greg505 Opublikowano 16 Maja 2007 Zgłoś Opublikowano 16 Maja 2007 mam tablele w ktorej jest wiersz Nr_indesku wpisywany jest do niej (jak nazwa wskauje ;) ) nr indeksu uzylem char (5) czyli dluzszego stringu niz 5 znakow wpisac nie mozna a jak ograniczyc to od dolu, zeby musialo byc podane dokladnie 5 znakow? alter table studenci modify Nr_Indeksu char (5) not null; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 16 Maja 2007 Zgłoś Opublikowano 16 Maja 2007 (edytowane) Z tego co mi wiadomo MySQL jeszcze nie oferuje constraint'ow na tym poziomie, wiec musisz sie o to zatroszczyc na poziomie aplikacji. Swoja droga.. przechowywanie numeru w zmiennej znakowej.. nie sadzisz, ze nienaturalnie? :) Edytowane 16 Maja 2007 przez FiDO Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sid Opublikowano 16 Maja 2007 Zgłoś Opublikowano 16 Maja 2007 Swoja droga.. przechowywanie numeru w zmiennej znakowej.. nie sadzisz, ze nienaturalnie? :) Wiesz FiDO. Może zawiera literki numer indeksu? A może robi to dlatego bo go tak uczyli/zmusili. Wyobraź sobie że byłem na lekcji raz i widziałem jak jakiś hardy praktykant miał lekcję o ACCESie. Do dzisiaj pamiętam jak krzyczał po uczniach że że numer telefonu(czy było to coś innego, nie pamietam) należy robić jako zmienna znakową, bo jak (prawie wrecz) krzyczał do jednej dziewczyny: Nie będziesz przecież tego dodawała ani odejmowała. Żenua to było... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 16 Maja 2007 Zgłoś Opublikowano 16 Maja 2007 (edytowane) dokladnie w nr indeksu sa litery ;] Edytowane 16 Maja 2007 przez greg505 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ULLISSES Opublikowano 16 Maja 2007 Zgłoś Opublikowano 16 Maja 2007 Dokładnie, jak radzi FiDO, lepiej to zrobić na poziomie aplikacji. A jak już będziesz sprawdzał, to możesz widełki z obu stron zastosować. Podobnie z pozostałymi zmiennymi. Najlepiej sprawdzać cały formularz na raz. No i oczywiście wszystko na funkcjach, ale o tym chyba już wiesz. :] Co do numeru to też racja - lepiej zmienna liczbowa. Np 1000 w zmiennej liczbowej to 2 bajty, a w char już 3. Chyba jakoś tak to było... -edit- Jak są litery, to już odpada. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 16 Maja 2007 Zgłoś Opublikowano 16 Maja 2007 Co do numeru to też racja - lepiej zmienna liczbowa. Np 1000 w zmiennej liczbowej to 2 bajty, a w char już 3. Chyba jakoś tak to było...Juz nawet nie chodzi o rozmiar tego w bazie (chociaz bedzie on faktycznie mniejszy), pola liczbowe sa ogolnie wydajniejsze i jesli cos sie da tak zapisac to powinno sie z tego korzystac. Jakis indeksik na takie pole i wyszukiwanie od razu staje sie szybsze (indeksy na polach liczbowych tez sa mniejsze i raczej wydajniejsze). No ale jesli sa tam literki to nic z tego.. Wyobraź sobie że byłem na lekcji raz i widziałem jak jakiś hardy praktykant miał lekcję o ACCESie. Do dzisiaj pamiętam jak krzyczał po uczniach że że numer telefonu(czy było to coś innego, nie pamietam) należy robić jako zmienna znakową, bo jak (prawie wrecz) krzyczał do jednej dziewczyny: Nie będziesz przecież tego dodawała ani odejmowała. Żenua to było...To, ze tak sie zdarza w szkole to jeszcze pikus.. tez na studiach mielismy paru takich agentow co to zawsze mieli racje. Ale akurat kolesie od baz byli calkiem wporzo i wiekszosc tego co mowili zgadzalo sie z ogolnie przyjetymi zasadami. Gorsze, ze tacy sa rowniez w powaznych firmach... Pracuje teraz przy jednym projekcie we wspolpracy z pewna zagraniczna firma i dawno nie widzialem takich klapek na oczach jak oni maja. W calej firmie jest jeden rozsadny koles, ktory (jak sie dowiedzielismy dopiero niedawno) probowal przeforsowac duza czesc z tych rzeczy, ktore my probujemy, ale mu sie nie udalo "bo nie" :) Nierzadko zdarza sie, ze leja na ogolnie przyjete zasady, ktore stosuje sie w roznych sprawach, ale co sie mozna przy tym nauczyc cierpliwosci i tolerancji to nasze i nie oddamy :] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 16 Maja 2007 Zgłoś Opublikowano 16 Maja 2007 To jaka zmienna w jakim polu powinna być to kwestia uzgodnień i tak naprawdę wszystko zależy co tam musi być przechowywane, od niczego innego. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 22 Maja 2007 Zgłoś Opublikowano 22 Maja 2007 (edytowane) Nie bede zakladac nowego tematu, wiec pisze tu ;] mam skrypcik ktory dodaje dane do tabeli (nie dziala znacznik ) <_< [html]<?php $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; $nr_indeksu = $_POST['nr_indeksu']; if($imie and $nazwisko and $nr_indeksu) { $connection = @mysql_connect('127.0.0.1', 'root', 'greg') or die('Brak połączenia z serwerem MySQL'); $db = @mysql_select_db('zapisy', $connection) or die('Nie mogę połączyć się z bazą danych'); $ins = @mysql_query("INSERT INTO studenci SET imie='$imie', nazwisko='$nazwisko', nr_indeksu='$nr_indeksu'"); if($ins) echo "Rekord został dodany poprawnie"; else echo "Błąd nie udało się dodać nowego rekordu"; mysql_close($connection); } ?>[/html] wpisuje dane do formularzai wysylam[html]<input type="submit" value="Wyslij" name="send">[/html] w innym miejscu strony mam wywietlane dane z tabeli studenciwszystko bylo by ok, ale.... dane na stronie sa aktualizowane dopiero po odswiezeniu,ale w momencie odswiezenia formularz jest wysylany ponownie i wpisy sa powtarzane :-| jak temu zapobiec? Edytowane 22 Maja 2007 przez greg505 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haquim Opublikowano 22 Maja 2007 Zgłoś Opublikowano 22 Maja 2007 w innym miejscu strony mam wywietlane dane z tabeli studenci wszystko bylo by ok, ale.... dane na stronie sa aktualizowane dopiero po odswiezeniu, Tzn. że po wciśnięciu submita strona nie jest ładowana od początku ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 22 Maja 2007 Zgłoś Opublikowano 22 Maja 2007 laduje sie od poczatku (ale nic sie nie zmienia), dopiero po odswiezeniu laduje dane z bazy Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 22 Maja 2007 Zgłoś Opublikowano 22 Maja 2007 Jak mam zgadywac nie widzac calego kodu to najpierw dane sa wyswietlone a dopiero potem dodawane, a w takiej kolejnosci własnie nie wyswietli po dodaniu. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 22 Maja 2007 Zgłoś Opublikowano 22 Maja 2007 (edytowane) wlasnie tak jest ;] zaraz zmienie i przetestuje ;) czemu nie dziala znacznik ?edit:jak zwykle miales racje ;)ale jak zablokowac ponowne wysylanie formularza (po odwierzeniu dodaje caly czas ten sam wpis)kolenjny edit:wystarczy dodac:[html]if($ins) echo "<meta http-equiv=\"refresh\" content=\"0;URL=strona_z_formularzem.php\">";[/html] Edytowane 22 Maja 2007 przez greg505 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
HiPhO Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 (edytowane) lub tak haeder("location:http://a.dres.to.adidas/plik.php?cos=cos&itp=itd") Edytowane 23 Maja 2007 przez HiPhO Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 dokładnie to header :] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 dopiero co zaczynam z php wiec stad moje pytanie jak zrobic zeby nawiazac polaczenie z baza tylko w jednym miejscu w kodzie? teraz to wyglada tak ze w kazdym miejscu gdzie jest mi potrzebne odwolanie do bazy mysql, wpisuje dane serwera, logi, haslo i nazwe bazy (domyslam sie ze nie jest to zbyt efektywne rozwiazanie) zrobic plik php ktory bedzie nawiazywac polaczenie z baza i odwolywac sie do niego w kodzie? cze moze jakos inaczej? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 Na jedne podstronie wystarczy ze raz sie połączysz z bazą zeby móc z niej dalej korzystac. Wystarczy ze na początku sie połączysz i na samym koncu po wykonaniu wszystkich operacji na bazie zamkniesz połaczenie. Nie wiem w jaki sposób tworzysz strone, ale jesli są to osobne pliki php to zapisz w osobnym pliku i dołącz do kazdego np. przez include zeby nie powtarzac kodu. Jezeli ładujesz podstrony przez parametry do strony głownej to w ogóle wystarczy sie połaczyc tylko raz. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yacho Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 dopiero co zaczynam z php wiec stad moje pytanie jak zrobic zeby nawiazac polaczenie z baza tylko w jednym miejscu w kodzie? teraz to wyglada tak ze w kazdym miejscu gdzie jest mi potrzebne odwolanie do bazy mysql, wpisuje dane serwera, logi, haslo i nazwe bazy (domyslam sie ze nie jest to zbyt efektywne rozwiazanie) zrobic plik php ktory bedzie nawiazywac polaczenie z baza i odwolywac sie do niego w kodzie? cze moze jakos inaczej? Zainteresuj sie klasą MyActiveRecord - piekna rzecz i skroci twoje meczarnie z SQLem o 90% Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 czyli jezeli zaczne w kodzie html <?php polaczenie z baza . . .?> html . . <?php . //tu tez wykonuje operacje na bazie . . mysql_close($connection); ?> powinno dzialac? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 Tak. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 (edytowane) juz wczeniej to probowalem i nie chcialo dzialac EDIT: musialem cos zrobic zle ;] teraz strona na serwerze smiga kilka razy szybciej ....... tu wrzucam kod jak to wyglada(dzialajace) wszystkie uwagi (a domyslam sie ze tego bedzie sporo :wink: ) mile widziane » Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... « <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> </head> <body> <br><br><br> <br><br><br><br> <p align = "center"> FORMULARZ DODAWANIA STUDENTOW </p> <form method="POST" action=""> <div align="center"> <table border="1" width="50%" cellspacing="0" cellpadding="0"> <tr> <td width="50%"><font size="2" face="Verdana"> Imie <font></td> <td width="50%" align="center"><font size="2" face="Verdana"> <input type="text" name="imie" size="20"> </font></td> </tr> <tr> <td width="50%"><font size="2" face="Verdana"> Nazwisko </font></td> <td width="50%" align="center"><font size="2" face="Verdana"> <input type="text" name="nazwisko" size="20"> </font></td> </tr> <tr> <td width="50%"><font size="2" face="Verdana"> Numer indeksu </font></td> <td width="50%" align="center"><font size="2" face="Verdana"> <input type="text" name="nr_indeksu" size="20"> </font></td> </tr> <tr> <td width="50%"><font size="2" face="Verdana"> przedmiot </font></td> <td width="50%" align="center"><font size="2" face="Verdana"> <input type="text" name="przedmioty" size="20"> </font></td> </tr> <tr> <td width="100%" colspan="2"> <p align="center"><font size="2" face="Verdana"> <input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj"> </font></td> </tr> </table> </div> </form> <?php // odbieramy dane z formularza $imie = $_POST['imie']; $nazwisko = $_POST['nazwisko']; $nr_indeksu = $_POST['nr_indeksu']; $przedmioty = $_POST['przedmioty']; if($imie and $nazwisko and $nr_indeksu) { // łączymy się z bazą danych $connection = @mysql_connect('127.0.0.1', 'root', 'greg') or die('Brak połączenia z serwerem MySQL'); $db = @mysql_select_db('zapisy', $connection) or die('Nie mogę połączyć się z bazą danych'); // dodajemy rekord do bazy $ins = @mysql_query("INSERT INTO studenci SET imie='$imie', nazwisko='$nazwisko', nr_indeksu='$nr_indeksu'"); $ins2 = @mysql_query("INSERT INTO kursy SET przedmioty='$przedmioty'"); if($ins) { echo "Rekord został dodany poprawnie do tabeli studenci <meta http-equiv=\"refresh\" content=\"0;URL=zapisy1.php\">"; } else echo "Błąd nie udało się dodać nowego rekordu"; if($ins2) { echo "Rekord został dodany poprawnie do tabeli kursy <meta http-equiv=\"refresh\" content=\"0;URL=zapisy1.php\">"; } else echo "Błąd nie udało się dodać nowego rekordu"; mysql_close($connection); } //KONIEC FORMULARZA DODAWANIA STUDENTOW ?> <br><br><br><hr> <?php //TABELA ZAPISY // łączymy się z bazą danych $connection = @mysql_connect('127.0.0.1', root, greg) or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); echo "Udało się połączyć z serwerem!<br />"; $db = @mysql_select_db('zapisy', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); echo "Udało się połączyć z bazą dancych!"; $query="SELECT * FROM zapisy"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close($connection); echo "<b><center>Struktura bazy danych</center></b><br><br>"; $i=0; echo " <p align = center> TABELA ZAPISY </p> <div align=center> <table border = 2> <tr> <td width = 100px align = center>id_kursy</td> <td width = 100px align = center>id_studenci</td> <td width = 100px align = center>id_wykladowcy</td> <td width = 100px align = center>id_sala</td> </tr> </table> "; while ($i < $num) { $id_kursy=mysql_result($result,$i,"id_kursy"); $id_studenci=mysql_result($result,$i,"id_studenci"); $id_wykladowcy=mysql_result($result,$i,"id_wykladowcy"); $id_sala=mysql_result($result,$i,"id_sala"); echo " <table border = 2> <tr> <td width = 100px align = center>$id_kursy</td> <td width = 100px align = center>$id_studenci</td> <td width = 100px align = center>$id_wykladowcy</td> <td width = 100px align = center>$id_sala<td> </tr> </table> "; $i++; } ?> <br><br><hr> <?php // TABELA STUDENCI $connection = @mysql_connect('127.0.0.1', root, greg) or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); $db = @mysql_select_db('zapisy', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); $pytanko=mysql_query("select * from studenci"); echo " TABELA studenci <table border = 2> <tr> <td width = 20px align = center>id</td> <td width = 100px align = center>nazwisko</td> <td width = 100px align = center>imie</td> <td width = 100px align = center>nr_indeksu</td> <td width = 50px align = center>kasuj</td> </tr> </table> "; while ($wiersz=mysql_fetch_array($pytanko)) { $wpis = $wiersz['id']; echo "<table border='1'> <tr> <td width = 20px align = center>".$wiersz['id']."</td> <td width = 100px align = center>".$wiersz['nazwisko']."</td> <td width = 100px align = center>".$wiersz['imie']."</td> <td width = 100px align = center >".$wiersz['nr_indeksu']."</td> <td td width = 50px align = center > <b><a href='del.php?iddel=".$wpis." '>KASUJ</a></b> </td> </tr> </table> "; } mysql_close($connection); // KONIEC TABELA STUDENCI ?> <br><br><hr> <?php // TABELA KURSY $connection = @mysql_connect('127.0.0.1', root, greg) or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); $db = @mysql_select_db('zapisy', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); $query="select * from kursy"; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close($connection); $i=0; echo " TABELA kursy <table border = 2> <tr> <td width = 20px align = center>ID</td> <td width = 100px align = center>Przedmioty</td> <td width = 100px align = center>Data</td> </tr> </table> "; while ($i < $num) { $id=mysql_result($result,$i,"id"); $przedmioty=mysql_result($result,$i,"przedmioty"); $data=mysql_result($result,$i,"data"); echo " <table border = 2> <tr> <td width = 20px align = center>$id</td> <td width = 100px align = center>$przedmioty</td> <td width = 100px align = center>$data</td> </tr> </table> "; $i++; } // KONIEC TABELA KURSY ?> <br><br><hr> <?php // WYPISANIE DANYCH Z TABELI zapisy $connection = @mysql_connect('127.0.0.1', root, greg) or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); $db = @mysql_select_db('zapisy', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); $query=" select studenci.nazwisko, kursy.przedmioty, sala.nr_sali from zapisy, studenci, kursy, sala where studenci.id = id_studenci and kursy.id = id_kursy and sala.id = id_sala "; $result=mysql_query($query); $num=mysql_numrows($result); mysql_close($connection); $i=0; while ($i < $num) { $nazwisko=mysql_result($result,$i,"nazwisko"); $przedmioty=mysql_result($result,$i,"przedmioty"); $nr_sali=mysql_result($result,$i,"nr_sali"); echo " $nazwisko $przedmioty sala: $nr_sali<br><hr> "; $i++; } // KONIEC WYPISANIE DANYCH Z TABELA zapisy ?> </div> </body> </html> przed chwila probowalem wszystko wrzucic w <?php, a kod html wziac w echo""; ale tez nie wyswietlalo poprawnie(tzn nie czytalo danych z bazy) Edytowane 24 Maja 2007 przez greg505 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yacho Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 (edytowane) czyli jezeli zaczne w kodzie html <?php polaczenie z baza . . .?> html . . <?php . //tu tez wykonuje operacje na bazie . . mysql_close($connection); ?> powinno dzialac? Mistrzu - ja wiem ze dopiero zaczynasz :) ale takie pisanie aplikacji to jak zaciskanie sobie petli na szyje - wpisz w google MyActiveRecord sciagnij ta klase z PHPClasses - dokumentacja do niej jest SWIETNA - i rozwiaze 99% twoich problemow z MySQL. Pamietaj tez ze zaczynajac mozesz zaczac wpajac sobie dobre wzorce od począkku - pisanie kodu php i html napewno do nich nie należy... system szablonow to około 2 tygodnie nauki możesz tyle nie mieć - ale zrozumienie MyAR i przepisanie kodu prezentacji w zwykle pliki PHP zajmie ci 1 dzien i twoja aplikacja osiagnie zupelnie nową jakość bedzie prostsza i nie bedziesz sie w niej gubic (co pewno juz powoli sie dzieje.) pozdro ;) OK. Prosty edit - poswiece 15 min i napisze szybki tutorial ze wzorca MVC dla totalnych newbie wiec tak : MVC to sposob pisania aplikacji ktory pozwala pisac aplikacje w sposob przejrzysty tak zebys sam sie nei zamotał w tym co robisz... MVC sklada sie z 3 filarów : M jak Model - jesli przeczytasz dokumentacje klasyMyActiev Record to dowiesz sie ze klasy ktore tworzysz aby zmapowac tabele w bazie (a sa one BANALNIE proste) to wlasnie klasy modelu - bedziesz potrzebowac jedna taka klase na tabele w bazie - Model to ta czesc aplikacji ktora POBIERA DANE. C jak Controller - tu dzieje sie magia - to tu wywolujesz Metody modelu - ktore zwracają ci dane - tymi danymi manipulujesz włączając do nich to co dostaniesz od usera (jesli np ktos poda id strony nr 11 to pobierasz od usera 11 w $_GET pobierasz dane z bazy o takim id (za pomoca metod w modelu) i wyświetlasz odpowiedni WIDOK. przykladowy kloik kontrolera ktory zawiera 2 akcje wyswietlanie newsow i wyswietlanie konkretnej strony o konkretnym id : <?phpswitch($_GET['dzial']) {case 'news':$newsy = // tu pobierasz jakos newsy za pomoca MyActiveRecord - nie powiem jak bo to twoje zadanmie domowe - ale jest to JEDNA LINIJKA koduinclude('widok/newsy.php'); // tu includujesz sobie widok - co to jest widok czytasz dalej wazne ze robisz to po tym jak pobrales danebreak;case 'strona':if(!ermpty($_GET['id'])) {$strona = // jak wyzej tu pobierasz sobiekonkretna strone o id jakie podal uzytkownik w $_GET - to tez pisze w dokumentacji klasy MyAR}include(widok/strona.php);break;} to co jest waze to to ze kontroler nie zajmuje sie tym jak strony wygladaja - on zajmuje sioe tylko tym co dostaje od usera (czyli danymi w POST i GET i na podstawie tego wykonuje jakis kawalek kodu (tu sekcja case) i wywoluje odpowiedni widok. Widok : to poprostu plik php lktory dostaje np zmienna newsy zawierajaca 5 newsow i musli ja wyswietlic w takiej formie jak chcesz - divy tabelki co tam potrzebujesz ! widok nie modyfikuje danych - to jest wazne - tu tylko wyswietlasz ! nic wiecej ! co ci da taki design aplikacji ? to ze mawsz wszystko ladnie poukladane - teraz jesli chcesz zmienic to jak wygladaja np newsy robisz to w pliku widoku - i masz pewnosc ze reszta aplikacji sie nie rozpierdzieli - jesli na jednej stronie chcesz wyswietlic 200 nie 2 newsy - starczy zmienic parametry w kontrolerze - MyAR ppobierze sama co trzeba. Wiem ze przyklad ktory tu podalem jest szczatkowy i byc moze malo przejrzysty - jak cos to zachecam d dalszych pytań ! :) Edytowane 23 Maja 2007 przez Yacho Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 23 Maja 2007 Zgłoś Opublikowano 23 Maja 2007 (edytowane) skoro tak mowisz to sie jutro nia zainteresuje ;) edit: juz ostatnie pytanie ;] mam zapytanie $query=" select studenci.nazwisko, studenci.imie, kursy.przedmioty, kursy.sala, kursy.nazwisko from zapisy, studenci, kursy where studenci.id = id_studenci and kursy.id = id_kursy "; czyli zapytanie do 3 tabel w tabeli studenci i przedmioty sa takie same pola (imie, nazwisko) uzywam while ($wiersz1=mysql_fetch_array($result)) { echo "<table border='1'> <tr> <td width = 100px align = center>".$wiersz1['przedmioty']."</td> <td width = 100px align = center>".$wiersz1['nazwisko']."</td> <td width = 100px align = center>".$wiersz1['imie']."</td> <td width = 100px align = center>".$wiersz1['nazwisko']."</td> <td width = 100px align = center >".$wiersz1['sala']."</td> </tr> </table> ";} jak to wyswietlic zeby byly dwa pola nazwisko(i dwa imie)? oczywiscie po zmianie nazwy bedzie dzialac ale nie o to chodzi ;) Edytowane 24 Maja 2007 przez greg505 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Yacho Opublikowano 26 Maja 2007 Zgłoś Opublikowano 26 Maja 2007 zdob var_dump($wiersz1); dostaniesz strukture tego co sie z bazy pobiera i bedziesz mogl dalej z tym kombinowac.... po co trzymasz imie i nazwisko w 2 miejscach ? to jest zla konstrukcja.... Znowu mowie - zainteresuj sie MyActiveRecord Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 26 Maja 2007 Zgłoś Opublikowano 26 Maja 2007 ale to jest inne imie i inne nazwisko ;] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 26 Maja 2007 Zgłoś Opublikowano 26 Maja 2007 jak dwa pola nazwisko i 2 imie? Gdzie to chcesz wyświetlać? Wyświetlasz nazwe kolumny czy dane w tej kolumnie? I zamiast pisać taki łamany kod htmlowo/phpowy, który absolutnie nie nadaje się do poprawek... zobacz co to jest smarty :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 26 Maja 2007 Zgłoś Opublikowano 26 Maja 2007 kod juz zmieniony ;] w tabelce chce wyswietlic dane z studenci.nazwisko, kursy.nazwisko (tak samo imie) w studentach sa dane (imie,zawisko) sudentow a w kursach sa dane (imie,nazwisko) wykladowcow Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 27 Maja 2007 Zgłoś Opublikowano 27 Maja 2007 no tak mi się też wydawało.. no ale w czym problem? jedyne co mi na myśl przychodzi to to , że chcesz aby tutaj dobrać się do odpowiedniej nazwy kolumny... $wiersz1['nazwisko']aby nie zmieniać nazwy kolumny w bazuni, w zapytaniu sql mozna użyć przemapowania nazwy zmiennej select studenci.nazwisko [b]as[/b] nazwisko_stud, kursy.nazwisko [b]as[/b] nazwisko_kursy ... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 27 Maja 2007 Zgłoś Opublikowano 27 Maja 2007 dokladnie o to chodzilo :D Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...