Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Lekcja na przyszłość
Armed
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.02.2008

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


Witam trochę się uczyłem PHP i tak sobie piszę własną grę.
Napisałem ekwipunek działa ale tak jakby wiem że można to lepiej napisać :

KOD

Kod
<?php
session_start();
include('glowa.php');
$id1 = mysql_query("SELECT * FROM users Where `name` = '".$_SESSION["login"]."' ");
while($a = mysql_fetch_assoc($id1)) {
$id = $a["id"];
}
$gracz = mysql_query("SELECT * FROM ekwipunek Where `ID` = '".$id."' AND `uzycie` = '0'")or die('Błąd zapytania');
if(mysql_num_rows($gracz) > 0) {
    echo "<table cellpadding=\"2\" border=1>";
            echo "<td>Nazwa</td>";
        echo "<td>Rodzaj</td>";
        echo "<td>Obrażenia</td>";
        echo "<td>Pancerz</td>";
        echo "<td>Cena</td>";
        echo "<td>Akcja</td>";
        echo "</tr>";
    while($r = mysql_fetch_assoc($gracz)) {
        if($r['rodzaj'] == 1){
            $rodzaj = "bron";
        }elseif($r['rodzaj'] == 2){
            $rodzaj = "helm";
        }elseif($r['rodzaj'] == 3){
            $rodzaj = "pancerz";
        }elseif($r['rodzaj'] == 4){
            $rodzaj = "rekawice";
        }elseif($r['rodzaj'] == 5){
            $rodzaj = "buty";
        }
        echo "<tr>";

        echo "<tr>";
        echo "<td>".$r['nazwa']."</td>";
        echo "<td>".$rodzaj."</td>";
        echo "<td>".$r['obrazenia']."</td>";
        echo "<td>".$r['pancerz']."</td>";
        echo "<td>".$r['cena']."</td>";
        echo '<td><a href="ekwipunek.php?kasacja='.$r['IDD'].'">kasuj</a></td>';
        echo "</tr>";
    }
    echo "</table>";
}

$kasacja = $_GET["kasacja"];
$delete = mysql_query("SELECT * FROM ekwipunek Where `IDD` = '".$kasacja."'")or die('Błąd zapytania');
while($d = mysql_fetch_assoc($delete)) {
$id_kasacji = $d['ID'];
$cena = $r['cena']/2;
$poprawka = mysql_query("UPDATE ekwipunek SET `ID`='0' AND `id` = '$id' WHERE `IDD` = '$kasacja'");
$kasa =  mysql_query("UPDATE users SET `kasa`= `kasa` + '$cena' WHERE `ID` = '$id_kasacji'");
}
?>

Dobra dam w code bo coś się knoci
Proszę o porady
[Nie śmiać się (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) ]

Ten post edytował Armed 29.05.2009, 20:42:25
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. brak tagu tematu
  2. wiesz, co to są wcięcia w kodzie?
  3. o switch" title="Zobacz w manualu PHP" target="_manual słyszałeś?
  4. mysql_num_rows" title="Zobacz w manualu PHP" target="_manual to jedna z najbardziej zasobożernych funkcji; są inne metody w celu sprawdzenia, czy są jakieś rekordy w wyniku
  5. polskie nazwy zmiennych, to zuo
  6. skrypt podatny na SQL Injection (jest przyklejony wątek na ten temat)
Mam dobry humor, więc masz audyt. ;p
Go to the top of the page
+Quote Post
Armed
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.02.2008

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


1 Tag dodany
4. Jaka jest najlepsza funkcja?
Go to the top of the page
+Quote Post
zegarek84
post
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


zamiast sprawdzać ile jest takich rekordów to np. pobież jeden (jeśli ten jeden jest a warunek jest >0 to wykonasz funkcję) - czyli do zapytania dodaj LIMIT 1
Go to the top of the page
+Quote Post
Armed
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.02.2008

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


zegarek tobie chodzi o to ?

$delete = mysql_query("SELECT * FROM ekwipunek Where `IDD` = '".$kasacja."'")or die('Błąd zapytania');
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
1 Tag dodany

Ale zepsułeś bbcode.

Cytat
4. Jaka jest najlepsza funkcja?

  1. <?php
  2. if($r = mysql_fetch_assoc($q)){
  3.  // coś jest
  4. }
  5. ?>

Możesz to połączyć pętlą do...while, żeby nie korzystać z mysql_data_seek" title="Zobacz w manualu PHP" target="_manual przy iteracji dalej.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 08:42