Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z kodem, Problem z kodem PHP
simon111
post 9.05.2007, 19:10:23
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Witam
Mam taki problem. Wysyłam daną z formularza do pliku index.php. Dana wysyłana jest standartowym kodem:

  1. <?php
  2. <center><form action="index.php" method="post"> 
  3. Podaj numer:<br>
  4. <input type="text" name="numer" /><br><br> 
  5.  
  6. <input type="submit" value="dodaj" /><br><br> 
  7. </form></center>
  8. ?>


W pliku index.php odbieram ją:

  1. <?php 
  2. $numer = $_POST['numer']; 
  3. if($numer) {
  4. ?>


a następnie łącze się z bazą i wysyłam do niej takie zapytanie:

  1. <?php
  2. $ins = @mysql_query("SELECT nazwa FROM tabela WHERE numer='$numer'");
  3. ?>


Jak nie trudno odgadnąć chodzi mi o pobranie informacji względem podanego wcześniej numeru. Dlatego napisałem dalej:

  1. <?php
  2. if($ins) echo
  3. ?>


Ale nie wiem co mam napisać teraz, żeby wyświetliło mi te dane sad.gif. Bardzo proszę o pomoc w tej sprawie i z góry dziękuję za wszelkie opdpowiedzi. Pozdrawiam Simon.
Go to the top of the page
+Quote Post
strife
post 9.05.2007, 19:18:14
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


mysql_query" title="Zobacz w manualu PHP" target="_manual jak podaje manual zwraca Resource. Tak otrzymany wynik musisz sobie jeszcze obrobić. Zainteresuj się mysql_fetch_array" title="Zobacz w manualu PHP" target="_manual, mysql_fetch_assoc" title="Zobacz w manualu PHP" target="_manual itp. smile.gif

Przenoszę na Przedszkole


--------------------
Go to the top of the page
+Quote Post
simon111
post 9.05.2007, 19:23:56
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


No domyślam się że powinieniem tego użyć, ale jak po echo dałem to:

  1. <?php
  2. while ($row = mysql_fetch_array($result)) {
  3. echo "<table border width='120'><TR><TD width='120'>" . $row["nazwa"] ."</TD>
  4. </TR>n</table>";
  5. ?>



To mi wyrzuciło błąd sad.gif
Go to the top of the page
+Quote Post
kwiateusz
post 9.05.2007, 19:28:36
Post #4


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




a jaki konkretnie?
Go to the top of the page
+Quote Post
strife
post 9.05.2007, 19:29:29
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(simon111 @ 9.05.2007, 20:23:56 ) *
To mi wyrzuciło błąd sad.gif


Jaki błąd? Mamy się domyślać? (klarmy przy pętli nie masz, ale domyślam się że to literówka)


--------------------
Go to the top of the page
+Quote Post
simon111
post 9.05.2007, 20:08:58
Post #6





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Dobra oto oryginalny skrypt pliku index.php:

  1. <?php 
  2. // odbieram dane z formularza 
  3. $id_drukarki = $_POST['id_drukarki']; 
  4.  
  5. if($id_drukarki) { 
  6.  
  7. // łączę się z bazą danych 
  8. $connection = @mysql_connect('localhost', 'root', 'krasnal') 
  9. or die('Brak połączenia z serwerem MySQL'); 
  10. $db = @mysql_select_db('serfis', $connection) 
  11. or die('Nie mogę połączyć się z bazą danych'); 
  12.  
  13. // wykonuje zapytanie
  14. $ins = @mysql_query("SELECT nazwa FROM wykonana_czynnosc WHERE id_drukarki='$id_drukarki'"); 
  15.  
  16.  // po poprawnym dodaniu wyświetlam wynik
  17.  
  18.  
  19. if($ins) echo
  20.  
  21.  
  22. while ($row = mysql_fetch_array($result)) {
  23. echo "<table border width='120'><TR><TD width='120'>" . $row["nazwa"] ."</TD>
  24. </TR>n</table>";
  25. ?>


A oto błąd jaki mi wyrzuca:

  1. <?php
  2. Parse error: parse error, expecting `','' or `';'' in c:usrkrasnalwwwstronadfirmaselectzadania specjalneindexh.php on line 22
  3. ?>
Go to the top of the page
+Quote Post
strife
post 9.05.2007, 20:22:39
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Na pierwszy rzut oka to nie pasuje mi to:

  1. <?php
  2. if($ins) echo
  3. ?>

Popraw to. Jeśli nie wiesz jak skorzystaj z manual'a, rozdział o instrukcjach warunkowych. Swoją drogą po co Ci ta linijka, równie dobrze możesz się jej pozbyć.


--------------------
Go to the top of the page
+Quote Post
simon111
post 9.05.2007, 21:07:51
Post #8





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Zmodyfikowałem znacznie swój skrypt i wygląda on teraz tak:

  1. <?php 
  2. // odbieram dane z formularza 
  3. $id_drukarki = $_POST['id_drukarki']; 
  4.  
  5. if($id_drukarki) { 
  6.  
  7. $link = mysql_connect("localhost", "root", "krasnal")
  8. or die("Could not connect");
  9.  
  10. mysql_select_db("serfis")
  11. or die("Could not select database");
  12.  
  13. $query = "SELECT nazwa FROM wykonana_czynnosc WHERE id_drukarki='$id_drukarki'";
  14. $result = mysql_query($query)
  15. or die("Query failed"); 
  16.  
  17.  
  18. while ($row = mysql_fetch_array($result)) {
  19. echo "<table border width='120'><TR><TD width='120'>" . $row["nazwa"] ."</TD>
  20. </TR>n</table>";
  21. }
  22.  
  23. mysql_close($link);
  24.  
  25. }
  26. ?>


Teraz już mi wprawdzie nie wyrzuca błędu, ale za to wyświetla pustą stronę blinksmiley.gif
Go to the top of the page
+Quote Post
www0_0
post 9.05.2007, 22:26:28
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

Ostrzeżenie: (0%)
-----


nic dziwnego skoro funkcja w 5 linii wygląda tak.
if($id_drukarki)

A co php ma sobie z nią zrobić??
On uznaje że ten if jest fals bo nie wie co z nim zrobić i tego nie wykonuje.

Użyj tam jakiegoś porównania lub funkcji

isset" title="Zobacz w manualu PHP" target="_manual
empty" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
Cienki1980
post 9.05.2007, 22:33:57
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Cytat(www0_0 @ 9.05.2007, 23:26:28 ) *
nic dziwnego skoro funkcja w 5 linii wygląda tak.
if($id_drukarki)

A co php ma sobie z nią zrobić??
On uznaje że ten if jest fals bo nie wie co z nim zrobić i tego nie wykonuje.

Użyj tam jakiegoś porównania lub funkcji

isset" title="Zobacz w manualu PHP" target="_manual
empty" title="Zobacz w manualu PHP" target="_manual


Piszesz głupoty. Sprawdź co się będzie działo jak wywołasz taki kod:
  1. <?php
  2. //$zmienna=3;
  3.  
  4. if($zmienna) echo "jest";
  5. else echo "nie ma";
  6. ?>

i taki kod
  1. <?php
  2. $zmienna=3;
  3.  
  4. if($zmienna) echo "jest";
  5. else echo "nie ma";
  6. ?>


Jeżeli nie jesteś pewny czegoś w 100% to lepiej nie pisz.


--------------------
404
Go to the top of the page
+Quote Post
www0_0
post 9.05.2007, 22:41:51
Post #11





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.05.2007

Ostrzeżenie: (0%)
-----


fakt kodu nie sprawdziłem wziołem to na logikę, ale to dowodzi, że formularz jest pusty, i wykonuje się domyślnie else którego tu niema, czyli w gruncie rzeczy pusta strona. Bo nie widać w tym skrypcie błędów.
Go to the top of the page
+Quote Post
simon111
post 11.05.2007, 17:27:23
Post #12





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 11.10.2006

Ostrzeżenie: (0%)
-----


Witam Cienki1980
Sprawdziłem tak dla zasady ten kod co mi przysłałeś, jak nie trudno odgadnąć, gdy zmiennej niema wyświetla jej "brak", a gdy jest wypisuje, że "jest". Mam takie jakieś przeczucie, że diabeł tkwi w jakiś znacznikach(średnik, cudzysłów...) no nie wiem, ale może to jest jakiś namiar.
Próbowałem jeszcze takiego kodu, ale zachowuje mi się identycznie:

  1. <?php 
  2. // odbieram dane z formularza 
  3.  
  4. $id_drukarki = $_POST['id_drukarki']; 
  5. if($id_drukarki) {
  6.  
  7. //łącze się z bazą 
  8.  
  9. $link = mysql_connect("localhost", "root", "krasnal")
  10. or die("Could not connect"); 
  11.  
  12. //wybieram rodzaj bazy 
  13. mysql_select_db("serfis")
  14. or die("Could not select database"); 
  15.  
  16. $query = "SELECT nazwa FROM wykonana_czynnosc WHERE id_drukarki='$id_drukarki'"; 
  17. $result = mysql_query($query)
  18. or die("Query failed");
  19.  
  20. while ($row = mysql_fetch_array($result)) {
  21. $nazwa = $row["nazwa"]; 
  22. echo "<table border width='120'><TR><TD width='120'>".$nazwa."</TD> </TR>n</table>"; 
  23.  
  24. } 
  25. mysql_free_result($result); 
  26. mysql_close($link); 
  27. } 
  28. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 05:07