Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sprawdzanie stanu magazynu
Forum PHP.pl > Forum > Przedszkole
Misior
witam serdecznie,
jestem nowym uzytkownikiem forum, dlatego zaczne moj temat od przedstawienia sie! Jestem Misior i dopiero zaczynam przygode z php (a raczej jestem do tego zmuszony - uczelnia)!

Bardzo prosze o pomoc! Na zaliczenie mam wykonac projekt magazynu papierosow! Moim problemem jest sprawdzanie stanu magazynu (co jeszcze mi dziala) a nastepnie po wpisaniu przez uzytkownika ilosci jaka potrzebuje - na sprawdzeniu czy taka ilosc znajduje sie w magazynie!

Ponizej przedstawiam fragment kodu:

-------------------------------------------------------------------------------------------------------

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Czytanie z bazy danych</TITLE>
</HEAD>
<BODY>

<FORM ACTION="zam.php" METHOD="GET">

Wybierz fajki:
<select name="nazwa">
<option value="0">Wybierz</option>
<option value="1">L&M</option>
<option value="2">Marlboro</option>
<option value="3">L&M light</option>
</select>

<input type="text" name="ilosc">

<input type="submit" value="Zastosuj">
</CENTER>
<br>

</FORM>

<?
if(($_GET['nazwa']) == 1 && $_get['ilosc'])
{


$conn= mysql_connect("localhost","root","krasnal");
mysql_select_db("hurtownia");
$wynik= mysql_query("select nazwa,ilisc_dostepna from magazyn where id=2");

while($rekord = mysql_fetch_assoc($wynik)){

$ilisc_dostepna = $rekord['ilisc_dostepna'];
print "Magazyn: $ilisc_dostepna<br>";


if ($ilisc_dostepna > ($_get['ilosc'])){

print "Aktualnie w magazynie mamy tyle fajek";
}
else{
print "Sorrki ale aktualnie nie mamy tylu sztuk na stanie";

}
}
}






?>
</body>
</html>

------------------------------------------------------------------------------------------------------------

Samo sprawdzenie jaki jest stan magazynu z okreslonej kategorii dziala! Natomiast jesli dodam porownanie aktualnego stanu z iloscia sztuk jaka potrzebuje uzytkownik nie dziala - nic sie nie dzieje!

Z gory dziekuje za wszystkie odpowiedzi!

Pozdrawiam
nospor
nie $_get a $_GET.
  1. <?php
  2. if ($ilisc_dostepna > $_GET['ilosc']){
  3. ?>


Prosze uzywac bbcode do kodu
Prosze uzywac znacznikow w temacie zgodnie z zasadami forum Przedszkole

Witamy smile.gif

edit: popraw wszedzie te $_get bo masz w kliku miejscach
Misior
Dziekuje bardzo za odpowiedz! Nastepnym razem dostosuje sie smile.gif

Pozdrawiam
Misior
mam kolejny problem zwiazany z ta sama aplikacja! Otoz, teraz dziala mi sprawdzenie czy wymagana ilosc znajduje sie na magazynie! Chce dorobic do tego dodawanie zamowienia do bazy! Wiec, moim zdaniem po sprawdzeniu czy w magazynie jest tyle towaru ile klient potrzebuje powinno sie dodac zamowienie do bazy! Jednak nie wiem gdzie wstawic inserta i czy jest dobrze zbudowany!

  1. <?
  2. if(($_GET['nazwa']) == 1 && $_GET['ilosc'])
  3. {
  4.  
  5.  
  6. $conn= mysql_connect("localhost","root","krasnal"); 
  7. mysql_select_db("hurtownia"); 
  8. $wynik= mysql_query("select nazwa,ilisc_dostepna from magazyn where id=2");
  9.  
  10. while($rekord = mysql_fetch_assoc($wynik)){
  11.  
  12. $ilisc_dostepna = $rekord['ilisc_dostepna'];
  13. print "Magazyn: $ilisc_dostepna<br>";
  14.  
  15.  
  16. if ($ilisc_dostepna > ($_GET['ilosc'])){
  17.  
  18. // po sprawdzeniu stanu magazynu, nastepuje dodanie danych do bazy (powinno dodac, ale nie dziala!
  19. if ($_GET_['id'] && $_GET['faktura'] && $_GET['transport']){
  20. $q2 = "insert into magazyn values ('".$_GET['id']."','".$_GET['nazwa']."''".$_GET['ilosc']."''".$_GET['faktura']."''".$_GET['transport']."');
  21. $wynik1 = mysql_query($q2);
  22. }
  23. }
  24. }
  25.  
  26.  
  27. if(($_GET['nazwa']) == 2 && $_GET['ilosc'])
  28. {
  29.  
  30. $conn= mysql_connect("localhost","root","krasnal"); 
  31. mysql_select_db("hurtownia"); 
  32. $wynik= mysql_query("select nazwa,ilisc_dostepna from magazyn where id=3");
  33.  
  34. while($rekord = mysql_fetch_assoc($wynik)){
  35.  
  36. $ilisc_dostepna = $rekord['ilisc_dostepna'];
  37. print "Magazyn: $ilisc_dostepna<br>";
  38.  
  39.  
  40. if ($ilisc_dostepna > ($_GET['ilosc'])){
  41.  
  42. print "Aktualnie w magazynie mamy tyle fajek";
  43. }
  44. else{
  45. print "Sorrki ale aktualnie nie mamy tylu sztuk na stanie";
  46.  
  47. }
  48. }
  49. }
  50.  
  51. if(($_GET['nazwa']) == 3 && $_GET['ilosc'])
  52. {
  53.  
  54. $conn= mysql_connect("localhost","root","krasnal"); 
  55. mysql_select_db("hurtownia"); 
  56. $wynik= mysql_query("select nazwa,ilisc_dostepna from magazyn where id=1");
  57.  
  58. while($rekord = mysql_fetch_assoc($wynik)){
  59.  
  60. $ilisc_dostepna = $rekord['ilisc_dostepna'];
  61. print "Magazyn: $ilisc_dostepna<br>";
  62.  
  63.  
  64. if ($ilisc_dostepna > ($_GET['ilosc'])){
  65.  
  66. print "Aktualnie w magazynie mamy tyle fajek";
  67. }
  68. else{
  69. print "Sorrki ale aktualnie nie mamy tylu sztuk na stanie";
  70.  
  71. }
  72. }
  73. }
  74.  
  75.  
  76.  
  77.  
  78.  
  79. ?>


  1. <HEAD>
  2. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  3. <TITLE>Czytanie z bazy danych</TITLE>
  4. </HEAD>
  5. <BODY>
  6.  
  7. <FORM ACTION="zam.php" METHOD="GET">
  8. <tr>
  9. <td>Wybierz Twoj numer id:</td>
  10. <td><select name="id">
  11. <option value="0">ID</option>
  12. <option value="1">1</option>
  13. <option value="2">2</option>
  14. <option value="3">3</option>
  15. <option value="4">4</option>
  16. </select></td><br>
  17. </tr>
  18. <tr>
  19. <td>Wybierz fajki:</td>
  20. <td>
  21. <select name="nazwa">
  22. <option value="0">Wybierz</option>
  23. <option value="1">L&M</option>
  24. <option value="2">Marlboro</option>
  25. <option value="3">L&M light</option>
  26. </select></td></tr><br>
  27. <tr>
  28. <td>Wpisz ilosc sztuk:</td>
  29. <td><input type="text" name="ilosc"></td></tr><br>
  30. <tr>
  31. <td>Faktura:</td>
  32. <td><INPUT TYPE="radio" NAME="faktura" VALUE="tak" checked> tak
  33. <INPUT TYPE="radio" NAME="faktura" VALUE="nie"> nie<br></td></tr>
  34. <tr>
  35.  
  36. <td>Dostawa</td>
  37. <td><select name="transport">
  38. <option value="0">Transport</option>
  39. <option value="1">nasz</option>
  40. <option value="2">wlasny</option>
  41. <option value="3">poczta</option>
  42. <option value="4">kurier</option>
  43. </select></td></tr><br>
  44.  
  45. <table>
  46. <input type="submit" value="Zastosuj">
  47. <input type="hidden" name="co" value="dodaj">
  48. <input type="submit" value="dodaj">
  49. </CENTER>
  50. <br>
  51.  
  52. </FORM>
  53. </body>
  54. </html>


Prosze o pomoc! Z gory dziekuje!
Misior
jeszcze raz - poprawilem troche, ale dalej nie chce mi dopisac do bazy!

  1. <?
  2. if(($_GET['nazwa']) == 1 && $_GET['ilosc'])
  3. {
  4.  
  5.  
  6. $conn= mysql_connect("localhost","root","krasnal"); 
  7. mysql_select_db("hurtownia"); 
  8. $wynik= mysql_query("select nazwa,ilisc_dostepna from magazyn where id=2");
  9.  
  10. while($rekord = mysql_fetch_assoc($wynik)){
  11.  
  12. $ilisc_dostepna = $rekord['ilisc_dostepna'];
  13. print "Magazyn: $ilisc_dostepna<br>";
  14.  
  15.  
  16. if ($ilisc_dostepna > ($_GET['ilosc'])){
  17.  
  18. $query = "INSERT INTO zamowienie VALUES ('".$_GET['id_klienta']."','".$_GET['nazwa']."''".$_GET['ilosc']."''".$_GET['faktura']."''".$_GET['dostawa']."');";
  19. $wynik1 = mysql_query($query);
  20. }
  21. else{
  22. print "Niestety nie posiadamy takiej ilosci na stanie";
  23. }
  24. }
  25. }
  26.  
  27. ......................
  28.  
  29. ?>
Gość
Zrob echo $wynik1 = mysql_query($query); i napisz co za blad daje MySQL.
Misior
Wstawilem to co napisales i niestetyt nie otrzymalem zadnego komunikatu bledu! Niby wszystko ok ale nie dopisuje danych do bazy danych!
kresh
W zapytaniu INSERT nie dałeś przecinków po kolejnych wartościach!
Misior
Wstawilem przecinki i dalej nic! Ja juz nie wiem co to moze byc! Czas mi ucieka a ja nie mam programu nha zaliczenie sad.gif

  1. <?php
  2. if ($ilisc_dostepna > ($_GET['ilosc'])){
  3.  
  4. $query = "INSERT INTO zamowienie VALUES ('".$_GET['id_klienta']."','".$_GET['nazwa']."','".$_GET['ilosc']."','".$_GET['faktura']."','".$_GET['dostawa']."');";
  5. $wynik1 = mysql_query($query);
  6. echo $wynik1 = mysql_query($query);
  7. }
  8. else{
  9. print "Niestety nie posiadamy takiej ilosci na stanie";
  10. }
  11. }
  12. }
  13. ?>
Gość
Z>rob echo tej linijki podczas dodawania :
  1. <?php
  2. $query = "INSERT INTO zamowienie VALUES ('".$_GET['id_klienta']."','".$_GET['nazwa']."','".$_GET['ilosc']."','".$_GET['faktura']."','".$_GET['dostawa']."');";
  3. ?>

zeby php t am powstawial odpowiednie wartosci i przekopiuj takie zapytanie pod konsole MySQLa i zobacz co tam sie dzieje, bo je tutaj nie widze zadnych bledow. Wiec moze dodaje poprawnie, ale ty zle cos pozniej robisz.
Misior
oki, zrobilem... dodawanie dziala (mialem bledy w insert into) a co za tym idzie mam kolejny problem! Jako, iz zamowienie zostalo przyjete zmieni sie rekord w innej tabeli - magazyn! Dla przykladu - na stanie mamy 100 paczek papierosow L&M. Klient wchodzac na strone zamawia 60 sztuk! W tym momencie, po zamowieniu zmieni sie ilosc sztuk teraz dostepnych, zatem: 100-60 i na stanie zostaje nam 40 sztuk!

Jak uzyc polecenia uptade dla tego problemu i gdzie je wstawic! Cos niby zrobilem ale nie dziala!

  1. <?
  2. if(($_GET['nazwa']) == "L&M" && $_GET['ilosc'])
  3. {
  4.  
  5.  
  6. $conn= mysql_connect("localhost","root","krasnal"); 
  7. mysql_select_db("hurtownia"); 
  8. $wynik= mysql_query("select nazwa,ilisc_dostepna from magazyn where id=2");
  9.  
  10. while($rekord = mysql_fetch_assoc($wynik)){
  11.  
  12. $ilisc_dostepna = $rekord['ilisc_dostepna'];
  13. print "Magazyn: $ilisc_dostepna<br>";
  14.  
  15.  
  16.  
  17.  
  18. if ($ilisc_dostepna > ($_GET['ilosc'])){
  19.  
  20. $query = "INSERT INTO zamowienie (id_klienta,nazwa,ilosc,faktura,dostawa) VALUES ('".$_GET['id_klienta']."','".$_GET['nazwa']."','".$_GET['ilosc']."','".$_GET['faktura']."','".$_GET['dostawa']."');";
  21. $wynik1 = mysql_query($query);
  22. echo $wynik1 = mysql_query($query);
  23.  
  24. $query1 = "UPTADE magazyn SET ilisc_dostepna-($_GET['ilosc'])"; //chodzi mi o te czesc
  25. $wynik2 = mysql_query($query);
  26. }
  27. else{
  28. print "Niestety nie posiadamy takiej ilosci na stanie";
  29. }
  30. }
  31. }
  32. ?>


Bardzo prosze o jakakolwiek pomoc!
nospor
moze przed pisaniem takich rzeczy luknal bys do manuala, zarowno php jak i mysql... naprawde, tam mozna znaleźć rozwiązanie na wiele rzeczy. poczytaj se o skladni update, poczytaj se jak wkladac zmienne w php do stringu

Kod
<?php
$query1 = "UPDATE magazyn SET ilisc_dostepna=ilisc_dostepna-".$_GET['ilosc'];
?>


http://dev.mysql.com/doc/refman/5.0/en/update.html
http://pl.php.net/manual/pl/language.types.string.php
Misior
oki, wszystko dziala! Zrobilem jeszcze aktualizowanie stanu magazynowego i jest ok!

Dziekuje za pomoc!
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.