Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Lekcja na przyszłość
Forum PHP.pl > Forum > Przedszkole
Armed
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ę haha.gif ]
erix
  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
Armed
1 Tag dodany
4. Jaka jest najlepsza funkcja?
zegarek84
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
Armed
zegarek tobie chodzi o to ?

$delete = mysql_query("SELECT * FROM ekwipunek Where `IDD` = '".$kasacja."'")or die('Błąd zapytania');
erix
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.
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.