Prob mit nem Script für MYSQL

    • Prob mit nem Script für MYSQL

      [COLOR="DarkOrange"]Durch grips antrengen (und genau nachlesen wie die charid table in characters heißt XDDDDD) hab ichs geschafft^^[/COLOR]

      Das problem das der immer bei 200 bleibt besteht immanoch =/ er addiert also nicht wenn ich immer neu +200 bekomme kennt jmd die lösung?
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Also das prob ist folgendes:
      Ich möchte aus der tabelle characters die spalte dpt für den char mit charid=$charid auslesen und dann wenn durch den script in der inventory tabelle das item endfernt wird jedesmal den bestehenden dpt betrag +200 in der DB rechnen lassn also zB Update 1: 200+200 // Update 2 400+200 // Update 3 // 600+200

      Code:
      [QUELLE]<html><?php include "../config3.php"; ?>
      <title><?php echo ($titel); ?></title>
      <body>
      <table width = "550">
      <tr>
      <td align = "center">
      <?php


      include "../config3.php";
      $con = mysql_connect($sqlserv, $sqluser, $sqlpass);
      mysql_select_db($flyffdb);

      $charid = $_POST["transmit"];
      $place = $_POST["place"];


      $query = mysql_query("SELECT * FROM inventory WHERE charid=$charid AND inventoryslot=$place AND count='50' AND backpack_number ='-1'");
      $row = mysql_fetch_array($query);
      $itemid = $row['itemid'];
      $bag = $row['backpack_number'];
      //echo $bag;
      if ($bag==-1){
      if ($itemid == 98765) {$ultiid = "0";}





      $query = mysql_query("UPDATE inventory set itemid = $ultiid WHERE charid='$charid' AND inventoryslot= $place");
      $query = mysql_query("UPDATE inventory set count =0 WHERE charid='$charid' AND inventoryslot= '$place'"
      $query = mysql_query("UPDATE characters SET dpt=$dpt+200 WHERE id=$charid");
      echo "Du hast nun 200 CS Punkte bekommen!";
      //echo "\n wenn da ein fehler kommt nicht beachten ^^";
      }
      mysql_close($con);
      ?>
      </td>
      </tr>
      </body>
      </html>[/QUELLE]
    • Halleluja, dass is aber ein code o.O
      Das hätteste viel simpler machen können. Aber hau doch ein besseres error handling rein. Lass dir z.B. per mysql_errors() die MySQL Errors ausgeben oder lass dir die Query per Echo ausgeben wenn du denkst da ist ein Fehler drin.

      Btw machst du schwerwiegende Fehler in den Queries. Es gibt bei dir Feld oder Spaltennamen die gleichzeitig auch MySQL Funktionen sein können. Deshalb packt man diese immer in ``.

      z.B. SELECT * FROM `blubb` WHERE `blaa` = 29

      wäre z.B. blubb und bla eine MySQL Funktion würde PHP spinnen wenn du keine `` machst.

      Lg,
      Lunatic
    • ^^gut das ich das net geschrieben hab xD hab das nur angepasst^^ war nen script für nen ultimate changer was ich gefunden hab und es hakt umgeschriebn hab das es anstadt ne waffe von +10 auf ulti macht halt unsere coins abzieht und dafür punkte added^^

      nee aber nen fehler mein ioch net ich weis nurnet wei ichd as machen soll das er den aktuellen wert in DPT mit 200 addiert wenn ich 50 coins hab und eintauschen will
    • als erstes den alten wert auslesen und dann den neuen dazu addieren
      zB.

      Quellcode

      1. $MyQuery = mysql_query("SELECT * FROM `inventory` WHERE `CharID`='$CharID');
      2. $MyFetch = mysql_fetch_array($MyQuery);
      3. $AlterWert = $MyFetch["DPT"];
      4. $AddierWert = 200;
      5. $NeuerWert = $AlterWert + $AddierWert;
      6. $MyQuery = mysql_query("UPDATE INTO `inventory` SET `DPT`='$NeuerWert' WHERE `CharID`='$CharID' AND InventorySlot= '$InvSlot' ;");
      7. echo ("<p>Fertig =)</p>");


      hoffe checkst wie man vorgehen muss.
      Und wenn kein Integer Wert zurückgegeben wirt, so das PHP das nicht addieren kann.
      Dann Musst du das zu Int converten.
      Ich glaub das ging mit

      Quellcode

      1. get_numeric()

      oder so ^^
      such auf der php site nach "numeric" dann kommt das =)

      gez :: *electriZer*