Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak przekazać parametr
Forum PHP.pl > Forum > Przedszkole
szczotkap
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?
Daiquiri
Bo wywołujesz GET a masz method=post?

PS. Następnym razem korzystaj z poprawnego BBCode (php).
szczotkap
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>
Daiquiri
<input type="text" name="nazwa" /> i $_GET['nazwa'] taka para musi być. Możesz zmieniać wartość value.
szczotkap
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>
sorex
Zapomniałem dodać, że pod Chromem wyświetla mi ostatnią wartość z bazy (19 to ilość rekordów w tabeli)
Daiquiri
Nie zamykasz </form>?
sorex
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. ?>
croc
  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>
sorex
Dzięki croc. Działa rewelacyjnie smile.gif
croc
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.
sorex
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?
Daiquiri
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.