PHP: strefaphp.net
PHP: strefaphp.net



 
Czy odwiedziłeś już te strony? -
dodał: Vengeance

Temat: PHP + MySQL = System Gospodarczy
Autor
Data: 25-06-2006 17:51
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. 
Cytuj   Profil Email Strona www Komunikator
Autor
Data: 27-06-2006 22:17
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. 
Cytuj   Profil Email 

 

Polecamy
PHP: strefaphp.net
wyślij email informacje forum download skrypty katalog kursy porady artykuły home współpraca reklama kontakt