Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
Witam, ponizej przedstawiam kod calego skryptu. Problem pojawia się gdy chce wykonac funkcje drukuj i drukuj2 w punkcie o id=13, wszędzie wczesniej działa prawidłowo. Wkleilem te funkcje do id=13 i zmienilem ich nazwy, prubowalem w taki sposob, ale nic z tego nie wyszlo, szczerze mówiąc to nie wiem w czym tkwi problem.
Moze komus uda sie to rozszyfrowac (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) , pozdrawiam Kod <?php
session_start(); function drukuj($kontrahent_id) { mysql_select_db('transport'); $zapytanie = "select * from kontrahenci WHERE kontrahent_id=".$kontrahent_id.""; $wynik = mysql_query($zapytanie); @ $ile_znalezionych = mysql_numrows($wynik); for ($i=0; $i <$ile_znalezionych; $i++) { $wiersz=mysql_fetch_array($wynik); echo 'Nazwa: '; echo stripslashes($wiersz['nazwa']); echo '<br />Miasto: '; echo stripslashes($wiersz['miasto']); echo '<br />NIP: '; echo stripslashes($wiersz['nip']); } } function drukuj2($miejsce_id) { mysql_select_db('transport'); $zapytanie = "select * from miejsca WHERE miejsce_id=".$miejsce_id.""; $wynik = mysql_query($zapytanie); @ $ile_znalezionych = mysql_numrows($wynik); for ($i=0; $i <$ile_znalezionych; $i++) { $wiersz=mysql_fetch_array($wynik); echo 'Nazwa: '; echo stripslashes($wiersz['nazwa']); echo '<br />Symbol: '; echo stripslashes($wiersz['symbol']); echo '<br />Miasto: '; echo stripslashes($wiersz['miasto']); echo '<br />Ulica nr: '; echo stripslashes($wiersz['ulica_nr']); } } echo "<table>"; echo "<tr>"; echo "<td WIDTH=33% VALIGN = TOP >"; if(isset($_POST['id'])==1) { $id=$_POST['id']; } if(!isset($id)) { $id=1; } if($id==1) { include("klient.php"); if(isset($_POST['kontrahent_id'])) { $id=$id+1; } } if($id==2) { $klient=$_POST['kontrahent_id']; $id+=1; $_POST = array(); } if($id==3) { if(isset($klient)) { drukuj($klient); } else { $klient=$_POST['klient']; drukuj($klient); } include("platnik.php"); if(isset($_POST['kontrahent_id'])) { $id=$id+1; } } if($id == 4) { $platnik = $_POST['kontrahent_id']; echo '<h3>Klient</h3>'; $_SESSION['klient']= $klient; drukuj($klient); echo '<h3>Platnik</h3>'; $_SESSION['platnik']= $platnik; drukuj($platnik); $_POST = array(); $id=$id+1; } if($id == 5) { include("zaladunek.php"); if(isset($_POST['miejsce_id'])) { $id=$id+1; } } if($id == 6) { $zaladunek=$_POST['miejsce_id']; $id+=1; $_POST = array(); } if($id == 7) { if(isset($zaladunek)) { drukuj2($zaladunek); } else { $zaladunek=$_POST['zaladunek']; drukuj2($zaladunek); } include("rozladunek.php"); if(isset($_POST['miejsce_id'])) { $id=$id+1; } } if($id == 8) { $rozladunek = $_POST['miejsce_id']; echo '<h3>Klient</h3>'; drukuj($_SESSION['klient']); echo '<h3>Platnik</h3>'; drukuj($_SESSION['platnik']); echo '<h3>Miejsce zaladunku</h3>'; $_SESSION['zaladunek']= $zaladunek; drukuj2($_SESSION['zaladunek']); echo '<h3>Miejsce rozladunku</h3>'; $_SESSION['rozladunek']= $rozladunek; drukuj2($_SESSION['rozladunek']); $id=$id+1; $_POST = array(); } if($id==9) { echo "<td WIDTH=33% VALIGN = TOP >"; include("przewoznik.php"); if(isset($_POST['kontrahent_id'])) { $id=$id+1; } echo "</td>"; echo "</tr>"; echo "</table>"; } if($id==10) { $przewoznik=$_POST['kontrahent_id']; $id+=1; } if($id==11) { echo "<table>"; echo "<tr>"; echo "<td WIDTH=33% VALIGN = TOP >"; echo '<h3>Klient</h3>'; drukuj($_SESSION['klient']); echo '<h3>Platnik</h3>'; drukuj($_SESSION['platnik']); echo '<h3>Miejsce zaladunku</h3>'; $_SESSION['zaladunek']= $zaladunek; drukuj2($_SESSION['zaladunek']); echo '<h3>Miejsce rozladunku</h3>'; $_SESSION['rozladunek']= $rozladunek; drukuj2($_SESSION['rozladunek']); echo "<td WIDTH=33% VALIGN=TOP>"; echo '<h3>Przewoznik</h3>'; $przewoznik=$_POST['klient']; $_SESSION['przewoznik']= $przewoznik; drukuj($_SESSION['przewoznik']); $_POST = array(); $id=$id+1; } if($id==12) { echo "<table>"; echo "<tr>"; echo "<td WIDTH=33% VALIGN = TOP >"; ?> <table> <form action="index.php" method="post"> <br /> <h3>Kierowca</h3> </td></tr> <tr><td>Imie </td> <td> <input type="text" name="imie" maxlenght="20" size="20"> <br /></td></tr> <tr><td>Nazwisko</td> <td> <input type="text" name="nazwisko" maxlenght="20" size="20"> <br /></td></tr> <tr><td>nr Dowodu </td> <td> <input type="text" name="dowod" maxlenght="15" size="15"> <br /></td></tr> <tr><td>nr Samochodu </td> <td> <input type="text" name="nr_samochodu" maxlenght="15" size="15"> <br /></td></tr> <tr><td>nr Naczepy </td> <td> <input type="text" name="nr_naczepy" maxlenght="15" size="15"> <br /></td></tr> <tr><td>Telefon </td> <td> <input type="text" name="telefon" maxlenght="15" size="15"> <br /></td></tr> <input type="hidden" value="13" name="id"/> <input type="hidden" value="<?php echo $_SESSION['klient']; ?>" name="klient"/> <input type="hidden" value="<?php echo $_SESSION['platnikt'];?>" name="platnik"/> <input type="hidden" value="<?php echo $_SESSION['zaladunek'];?>" name="zaladunek"/> <input type="hidden" value="<?php echo $_SESSION['rozladunek'];?>" name="rozladunek"/> <input type="hidden" value="<?php echo $_SESSION['przewoznik'];?>" name="przewoznik"/> <tr><td colspan="2"><input type="submit" value="Zapisz"></td></tr> </table> </form> <?php echo "</td>"; echo "</tr>"; echo "</table>"; } if($id==13) { $klient=$_POST['klient']; $_SESSION['klient']= $klient; echo '<h3>Klient</h3>'; drukuj($_SESSION['klient']); } ?> Ten post edytował miooodek 6.04.2008, 18:41:20 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
o to co?
tak:
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
To było po to zeby mysql siedzial cicho przy wyswietlaniu wyniku, zmienilem tak jak powiedziales, ale nic to nie dalo, a z @ nie wyswietla niedorzecznych bledów
|
|
|
|
| -oldfield- |
Post
#4
|
|
Goście |
Troche pogmatwany ten kod...
ale lepiej zostawcie te @ w spokoju (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
Dopiero zaczynam z php, w sumie bez szczególnego zapalu, i praktycznie na kazdym kroku mam jakies problemy, i staram sie je rozwiązywac, jednak czasem jestem bezradny i prosze was o pomoc i wyrozumiałość (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Jakby ktos popatrzyl co jest zle... |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
"... a wtedy Pan wymyślił moduły... i zobaczył, że są dobre..."
Po pierwsze i najwązniejsze... skrypt, który ma 300 linijek ciągłego kodu bez komentarzy to bardzo zły skrypt (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) nawet jak jest napisany w cudowny sposób (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Taka przypowiastka z wykładów mi sie przypomina... jedna z wiekszych operacji w czasie 2 wojny swiatowej zakończyła się fiaskiem, ponieważ program, który wykrywał rakiety wroga nie miał komentarzy, a kiedy załoga dowiedziała sie o tym błędzie to zaczeła szukać miejsca w programie, gdzie ten bład występuje... z powodu braku komentarzy nie zdążyli przed pierwszą rakietą (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) - wniosek: komentarze mogą uratować życie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a tak własciwie, to nie wiem w której linicje błędu szukać:P:P:P za dużo tu ich ;-) |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
wszystko smiga pięknie do id 12, w 13 są schody... zmienne pięknie sie przekazują do 13, jak kaze je wypisac, to wypisuje,
nie zmienilem niczego w sposobie drukowania danych z bazy, dla tego dziwi mnie ten błąd |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
Zrob to na switch to po 1 a po 2 nie wiem czy to ma znaczenie ale jak wszystkie id dzialja oprocz 13 to moze zmien warunek jesli dochodzi tylko do id nr 13 to daj takie cos
Po 3 raz masz tak
Zdecudoj sie i potem na koniec w if'ie prz id nr 12 nie widzie zwiekszenia zmiennej a wszedzie tak robisz Widze ze w formie w hidden chcesz przekazywac id ale moze je zle przekazuje albo cos wyswietlaj sobie ta zmienna $id za kazdym razem Ten post edytował marcio 6.04.2008, 22:47:32 |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
tzn, hidden przekazuje od 13, to dziala, gdy robie wyswietlenie podanych danych do formularza, to wyswietla je dobrze,
kiedy dam echa tych zmiennych z hiddena tez je wyswietla, problem w tym ze funkcji drukuj odechcialo sie dzialac ;/ tak sprawdzalem i podaje ją poprawnie Ten post edytował miooodek 6.04.2008, 23:01:52 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
Czyli do funkcji drukuj przekazana jest zmienna = 13 tak?
sprawdziłes w bazie czy jest takowy kontrachent ? i czy jego dane są poprawne? skoro działa dla zmienna = 1,2,3...10,11,12 to moze cos z baza jest nie tak, tzn z komórkami... moze spróbuj skopiować dane z 12 i wkleić do 13(w bazie) i wtedy zobacz co sie wyświetla... |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
zmienna 13, jest przekazywana do indexu, zeby wiedzial od ktorego ifa wykonywac skrypt, ale w hiddenach są jeszcze zmienne sesyjne, które normalnie gubią się po przeładowaniu od początku pliku indexu, wiec musiealem je jakos przekazac, i o dziwo dane z tych zmiennych są poprawne, a funkcja drukuj na ich podstawie wyswietlala wczesniejsze wyniki we wczesniejszych krokach...
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
Jak dla mnie to poprostu gdzies coś zagmatwałeś:
Skoro podajesz do funkcji drukuj() id = 13 to znaczy, ze ma wyciagnac dane dla kontrachenta nr 13... myle sie? poza tym... pogmatwane masz... tu id tam id... i tak własciwie nie wiadomo, które za co odpowiada... |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
|
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
Czyli wszystko rozbija się o tą funkję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) bo skoro nie ważne dla jakiego argumentu nie chce ona działać to znaczy, że coś w niej jest niepoprawnie...
po pierwsze, jeśli używasz mysql w wersji 5 to SELECT powinien mieć: SELECT * FROM transport.kontrahenci WHERE ... wielkość liter nie ma znaczenia, ale bądź KONSEKWENTNY! poza tym, sprawdź co zwraca zmienna $ile_znalezionych ? a tak w ogóle, to wyrzuca Ci jakiś bład? czy wcale nic sie nie dzieje? |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
jak np wpisalem
w kroku 4 to wyswietla wszystko swietnie, wiec z jakiego powodu mialbym zmieniac funkcje? wiem ze to glupie pytanie, ale nie rozumiem, a ile znalezionych to szczerze mówiac nie wiem do czego sluzy, przepisalem to z ksiazki o php, ale skoro dzialalo wczesniej zapisane tak to czemu teraz nagle robi problemy? a w wyniku nie wyswietla niczego, chyba ze dam sobie echo z wyswietleniem zmiennych przekazanych postem z formularza... |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
łoł... czyli co ? na poczatku skryptu działa, a pod koniec już nie? czy ja dobrze Ciebie zrozumialem ?
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
Dokładnie tak (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) , sam nie wiem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :D
|
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
W takim razie widze opcję jedną... któryś z Twoich plików wczytywanych przez include()" title="Zobacz w manualu PHP" target="_manual ma w sobie funkcje drukuj() i następuje jakiś konflikt... sprawdź to (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
w zadnym z plików includowanych nie ma funkcji drukuj, napisalem ją tylko w indexie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
|
| -tomm- |
Post
#21
|
|
Goście |
"select * from kontrahenci WHERE kontrahent_id=".$kontrahent_id."";
spróbuj tak 'select * from kontrahenci where kontrahenci_id = " '.$kontrahent_id.' " '; pousuwaj spacje między ' i " |
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
hmm, tak nie drukuje danych wogole :/
|
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%)
|
pousuwałeś spacje z tego jak napisałem? spacje są tam tylko po to by móc odróżnić apostrof od cudzysłowu
wyświetl sobie na ekran wartość zmiennej $ile_znalezionych, bo pętla for ma sie obracać wg tej zmiennej a wartość jest do niej źle przypisywana: ma być mysql_num_rows($wynik) wogóle możesz to zrobić bez pobierania tej wartości i w petli while zamiast for while($wiersz = mysql_fetch_array($wynik)){ echo $wiersz['nazwa'].' '.$wiersz['miasto']; |
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
Powiedz jeszcze tylko... do id nr 12 wszystko trybi ? tzn funkcja drukuj() działa?
|
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%)
|
a masz kontrahenta nr 13?
|
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
tak do 12 wszystko smiga, nie nie mam kontrachenta 13
|
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%)
|
więc jeśli przesyłasz do funkcji id nr 13, wywołujesz do bd zapytanie "select * from kontrahenci where kontrahent_id = 13"
a że nie ma w niej takiego kontrahenta to zapytanie nic nie zwraca |
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
w id przenosze jedynie zmienną do kroków kodu, reszta jest zapisana innymi zmiennymi np w kroku 11 jest pokazane wg jakich zmiennych dziala funkcja drukuj
echo drukuj(2); napisalem cos takiego, czyli wywolanie funkcji drukuj z id=2, i powinno wyswietlic rekord z bazy o id 2, jak wklejam ten kod wczesniej tj, przed 13 to smiga, a w 13 nie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%)
|
drukuj(2) powinno pobrać z bd wszystkie rekordy w których uczestniczył kontrahent o id = 2,
próbowałeś sobie wyświetlić ilość pobranych wierszy - poprawiłeś ten mysql_num_rows? przed petlą for wstaw sobie echo $ile_znalezionych; i wykonaj drukuj(13) |
|
|
|
Post
#30
|
|
|
Grupa: Zarejestrowani Postów: 296 Pomógł: 32 Dołączył: 3.01.2005 Ostrzeżenie: (0%)
|
to masz conajmniej cos mocno skopane, plik jest długi... najprawdopodobniej źle napisany, mógłbyś to wszystko jakos inaczej rozwiązać... a tak, nic tam nie widać... weź obadaj co tam wychodzi ze zmiennych... ;]
|
|
|
|
Post
#31
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
po co mam wykonac drukuj(13) skoro nie ma nikogo z takim id?
|
|
|
|
| --bravo-- |
Post
#32
|
|
Goście |
W takim razie musi byc cos z funkcją, ale skoro dziala ona wczesniej, to z jakiego powodu ma nie dzialac i teraz, nie rozumiem...
|
|
|
|
Post
#33
|
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 1 Dołączył: 5.03.2008 Skąd: Kraków Ostrzeżenie: (0%)
|
widzisz, wlasnie o to sie glownie rozchodzi, tez nie wiem dla tego pytam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdr
rozstrzygnięte (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :D, to był mój błąd, jak widzicie w formularzu(krok 12) jest zmienna id, ustawiona na 13, zeby po jego przeladowaniu zaczynac od tego wlasnie kroku, wszystko pięknie działa, ale skoro zaczynam od kroku 13 to pomijam wczesniejsze gdzie łączyłem sie z bazą danych, i tu tkwil problem, jedna linijka i wszystko smiga (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dziękie za szczere chęci |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 01:06 |