|
| Czy odwiedziłeś już te strony? - |
|
|
|
|
| Temat: PHP + MySQL = System Gospodarczy |
| Autor |
|
Eldaron
dołączył: 25-06-2006 |
Już od dawna podejmuję próby samodzielnego napisania systemu gospodarczego. Najpierw próbowałem grzebać w kodzie internetowych sklepów, lecz aby podczepić sprzedaż musiałbym wyrzucić wszystkie dodatkowe opcje, co mijałoby się z celem, bo kod byłby skomplikowany, ja bym się namęczył, a efekt byłby taki sam jak przy samodzielnym pisaniu. W końcu coś tam udało mi się naskrobać, wyszedł przelew, konta, logowanie, jednak z kupowaniem i sprzedażą nadal mam problem, który jednak sprowadza się do niezrozumienia paru, zaledwie, linijek kodu (bo, przyznaję się, ostatecznie w przelewie nie ja grzebałem ). Zamieszczam więc w tym artykule tą część kodu i prosiłbym o wytłumaczenie mi jej, jak każdemu uczniowi, któremu wydaje się, że już wszystko wie.
Z góry dziękuję.
Oto i kod: "
if($r1[kasa] > $c or $r1[kasa] == $c){
$d = $r1[kasa] - $c;
$q2 = "UPDATE `bank` SET `kasa` = '$d' WHERE 1 AND `typ` LIKE '$id_d' AND `pass` LIKE '$pass' LIMIT 1;";
$w2 = mysql_query($q2);
$e = $r3[kasa] + $c;
$q4 = "UPDATE `bank` SET `kasa` = '$e' WHERE 1 AND `typ` LIKE '$id_a' LIMIT 1;";
$w4 = mysql_query($q4);
"
Poza tym chciałbym prosić o pomoc przy skonstruowaniu kody, który ściągałby/wkładałby odpowiednią ilosć pieniędzy z konta i zapisywał dany towar w bazie danych dla danego użytkownika. |
 |
| Autor |
|
batman
dołączył: 22-06-2006 |
1. if($r1[kasa] > $c or $r1[kasa] == $c){
2. $d = $r1[kasa] - $c;
3. $q2 = "UPDATE `bank` SET `kasa` = '$d' WHERE 1 AND `typ` LIKE '$id_d' AND `pass` LIKE '$pass' LIMIT 1;";
4. $w2 = mysql_query($q2);
5. $e = $r3[kasa] + $c;
6. $q4 = "UPDATE `bank` SET `kasa` = '$e' WHERE 1 AND `typ` LIKE '$id_a' LIMIT 1;";
7. $w4 = mysql_query($q4);
1. Jeśli zawartość pola kasa z tablicy r1 jest większa lub równa od wartości zmiennej $c to idż punkt 2.
2. Przypisuje do zmiennej $d różnicę $r1[kasa] - $c.
3 i 4. Zrób upate tabeli bank. Ustaw wartosc pola kasa na wartość zmiennej $d dla typu $id_d i [ass $pass.
5. Do zmiennej $e przypisz sumę $r1[kasa] + $c.
6 i 7. Zrób upate tabeli bank. Ustaw wartosc pola kasa na wartość zmiennej $e dla typu $id_a.
Co do tego kodu to mam kilka uwag.
Zamiast:
if($r1[kasa] > $c or $r1[kasa] == $c)
napisz:
if($r1[kasa] >= $c)
Zamiast like użyj =
Robiąc update czegoś w bazie upwenij się przy pomocy odpowiednij pól, że robisdz update jednego wiersza, zamiast używać limit 1. Ponadto w pierwszym zapytaniu zauważyłem, że używasz pola pass. Jeśli jest to pole zawierające hasło, to nie jest to najlepszy pomysł. Trzymanie w kodzie zmiennej z hasłem nie należy do najbezpieczniejszych rozwiązań.
Co do Twojej prośby. Mogę podjąć się makierowania Ciebie na sposób napisania wymaganego kodu, lecz nie będę go pisał za Ciebie. |
|
|
|
|