Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Jak przekazać parametr
-szczotkap-
post
Post #1





Goście







Witam.

Chciałbym zrobić mały system do rezerwacji.
Mój kod pobiera z MySql z tabeli dane i wyświetla je na stronie:

[Musiałam wyciąć bo Geshi zwariowało]

Co robię źle. Jak rozwiązać ten problem?
Powód edycji: [Daiquiri]: Wycinka
Go to the top of the page
+Quote Post
Daiquiri
post
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Bo wywołujesz GET a masz method=post?

PS. Następnym razem korzystaj z poprawnego BBCode (php).
Go to the top of the page
+Quote Post
-szczotkap-
post
Post #3





Goście







Zmieniłem na GET, jednak w dalszym ciągi nie wyświetla nic.

Kod
<?php
// Connects to your Database
mysql_connect("admin", "admin", "admin") or die(mysql_error());
mysql_select_db("admin") or die(mysql_error());
$data = mysql_query("SELECT * FROM terminy")
or die(mysql_error());

while($info = mysql_fetch_array( $data ))
{

Print "<table border=5 cellpadding=4 width=700>";
Print "<tr>";
Print "<th>Termin:</th> <td bgcolor=#133481 align=center width=250> ".$info['nazwa_terminu'] . "</td> ";
Print " <td  bgcolor=#133481 align=center>".$info['rok'] . " </td>";
Print "<th>Ilość wolnych miejsc:</th> <td align=center width=50>".$info['wolne_miejsca'] . " </td>";
Print "<td align=center width=50><form action=rezerwuj.php method=GET><input type=submit name=".$info['nazwa_terminu'] . " value=rezerwuj ></td>";
Print "</tr>";
Print "</table>";
}


?>


Plik docelowy:

Kod
<html>
<head>
  <title>
   Wyniki
  </title>
</head>
<body>
  Wybór:
  <?php echo $_GET['nazwa_terminu']?><br>
  
</body>
</html>
Go to the top of the page
+Quote Post
Daiquiri
post
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




<input type="text" name="nazwa" /> i $_GET['nazwa'] taka para musi być. Możesz zmieniać wartość value.
Go to the top of the page
+Quote Post
-szczotkap-
post
Post #5





Goście







Dzięki Daiquiri. Działa, ale pod IE. Pod Chromem przekazuje mi jakieś dziwne wartości (zawsze przekazuje mi wartość 19).

  1. <?php
  2. mysql_connect("localhost", "admin", "admin") or die(mysql_error());
  3. $data = mysql_query("SELECT * FROM terminy")
  4.  
  5. while($info = mysql_fetch_array( $data ))
  6. {
  7.  
  8. Print "<table border=5 cellpadding=4 width=700>";
  9. Print "<tr>";
  10. Print "<th>ID</th> <td bgcolor=#133481 align=center width=6> ".$info['id'] . "</td> ";
  11. Print "<th>Termin:</th> <td bgcolor=#133481 align=center width=250> ".$info['nazwa_terminu'] . "</td> ";
  12. Print " <td bgcolor=#133481 align=center>".$info['rok'] . " </td>";
  13. Print "<th>Ilość wolnych miejsc:</th> <td align=center width=50>".$info['wolne_miejsca'] . " </td>";
  14. Print "<td align=center width=50><form action=rezerwuj.php method=GET><input type=text name=rezerw value=".$info['id'] . " ><input type=submit value=Rezerwuj!></td>";
  15. Print "</tr>";
  16. Print "</table>";
  17. }
  18.  
  19.  
  20. ?>



  1. <html>
  2. <head>
  3. <title>
  4. Wyniki
  5. </title>
  6. </head>
  7. <body>
  8. Wybór:
  9. <?php print $_GET['rezerw']?><br>
  10.  
  11. </body>
  12. </html>
Go to the top of the page
+Quote Post
sorex
post
Post #6





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.08.2010

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


Zapomniałem dodać, że pod Chromem wyświetla mi ostatnią wartość z bazy (19 to ilość rekordów w tabeli)
Go to the top of the page
+Quote Post
Daiquiri
post
Post #7





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Nie zamykasz </form>?
Go to the top of the page
+Quote Post
sorex
post
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.08.2010

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


No tak. Przeoczenie. Dzieki Daiquiri.

Mam kolejne pytanie.
Kod pobiera i wyświetla mi z tabeli dane tj. na zdjęciu:

Zrzut wyniku z bazy


Mój działający kod to:
  1. <?php
  2. // Connects to your Database
  3. mysql_connect("admin", "admin", "admin") or die(mysql_error());
  4. $data = mysql_query("SELECT * FROM terminy")
  5.  
  6. while($info = mysql_fetch_array( $data ))
  7. {
  8.  
  9. Print "<table border=5 cellpadding=4 width=700>";
  10. Print "<tr>";
  11. Print "<th>Termin:</th> <td bgcolor=#133481 align=center width=250> ".$info['nazwa_terminu'] . "</td> ";
  12. Print " <td bgcolor=#133481 align=center width=50>".$info['rok'] . " </td>";
  13. Print "<th width=150>Ilość wolnych miejsc:</th> <td align=center width=20>".$info['wolne_miejsca'] . " </td>";
  14. Print "<td align=center width=50><form action=dodaj1.php method=GET><input type=hidden name=rezerw value=".$info['id'] . " ><input type=submit value=Rezerwuj></form></td>";
  15. Print "</tr>";
  16. Print "</table>";
  17. }
  18.  
  19.  
  20. ?>


Co mam zrobić, żeby uzyskać taki efekt: Jeśli ilość wolnych miejsc jest równa zero to przycisk Rezerwuj będzie nieaktywny?
Zacząłem przerabiać ten kod, jednak utknąłem sad.gif

  1. <?php
  2. mysql_connect("admin", "admin", "admin") or die(mysql_error());
  3. $data = mysql_query("SELECT * FROM terminy")
  4.  
  5. $info = mysql_fetch_array( $data );
  6. $info1=$info[wolne_miejsca];
  7.  
  8. if($info1 == 0)
  9. {
  10. Print "<table border=5 cellpadding=4 width=700>";
  11. Print "<tr>";
  12. Print "<th>Termin:</th> <td bgcolor=#133481 align=center width=250> ".$info['nazwa_terminu'] . "</td> ";
  13. Print " <td bgcolor=#133481 align=center width=50>".$info['rok'] . " </td>";
  14. Print "<th width=150>Ilość wolnych miejsc:</th> <td align=center width=20>".$info['wolne_miejsca'] . " </td>";
  15. Print "<td align=center width=50><form action=dodaj1.php method=GET><input type=hidden name=rezerw value=".$info['id'] . " ><input type=submit value=Rezerwuj></form></td>";
  16. Print "</tr>";
  17. Print "</table>";
  18. };
  19.  
  20.  
  21.  
  22. ?>
Go to the top of the page
+Quote Post
croc
post
Post #9





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


  1. <table border=5 cellpadding=4 width=700>
  2. <tr>
  3. <th>Termin:</th> <td bgcolor=#133481 align=center width=250><?php echo $info['nazwa_terminu']; ?></td>
  4. <td bgcolor=#133481 align=center width=50><?php echo $info['rok']; ?></td>
  5. <th width=150>Ilość wolnych miejsc:</th> <td align=center width=20><?php echo $info['wolne_miejsca']; ?></td>
  6. <td align=center width=50><form action=dodaj1.php method=GET><input type=hidden name=rezerw value="<?php echo $info['id']; ?>"><input type=submit value=Rezerwuj<?php if($info['wolne_miejsca'] == 0): ?> disabled="disabled"<?php endif; ?>></form></td>
  7. </tr>
  8. </table>
Go to the top of the page
+Quote Post
sorex
post
Post #10





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.08.2010

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


Dzięki croc. Działa rewelacyjnie smile.gif
Go to the top of the page
+Quote Post
croc
post
Post #11





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Nie ma za co smile.gif Mimo zablokowania przycisku, pamiętaj o zabezpieczeniu skryptu PHP przed wysłaniem formularza gdy nie ma już wolnych miejsc.
Go to the top of the page
+Quote Post
sorex
post
Post #12





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 23.08.2010

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


Jak mogę to zrobić? (jestem dość początkujący)
Mam jeszcze jedno pytanie. Czy mając formularz, który dodaje mi wpisy do bazy mysql, mogę podpiąć pod ten sam przycisk "Wyślij" wysyłanie tych danych na maila?
Go to the top of the page
+Quote Post
Daiquiri
post
Post #13





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Cytat(sorex @ 3.11.2011, 13:17:29 ) *
Czy mając formularz, który dodaje mi wpisy do bazy mysql, mogę podpiąć pod ten sam przycisk "Wyślij" wysyłanie tych danych na maila?
Tak. Po prostu pod warunkiem wysyłania dodajesz jeszcze mail().

To, że buton jest nieaktywny nie zwalnia Cię z obowiązku sprawdzenia wysyłanych danych smile.gif. Przy wysyłce powinieneś sprawdzać czy ilość wolnych miejsc nie jest równa zero.
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 Aktualny czas: 22.08.2025 - 06:57