Anzeige

PHP Script mit MYSQL

PHP Script mit MYSQL | PSD-Tutorials.de

Erstellt von bignevs, 07.11.2009.

  1. bignevs

    bignevs Nicht mehr ganz neu hier

    Dabei seit:
    13.03.2005
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Bremerhaven
    PHP Script mit MYSQL
    Hallo


    Ich habe mir ein Browsergame bei ebay gekauft, ist ja auch nicht schlecht der kauf selber liegt zwar schon ein jahr zurück aber jetzt versuche ich was hinzu zufügen...

    in den game geht es um ein aufbauspiel mit rohstoffe, es gibt holz stein und gold

    ich möchte gerne noch getreide hinzufügen

    habe dazu die rohstoff.php geändert allso getreide dazu, in der sql habe ich settle_mat4 hinzugefügt

    aber er gibt für das getreide keine rohstoffe es bleibt immer auf null


    hier mal ein einblick

    Code (Text):
    1.     // Nicht genug Rohstoffe verf�gbar
    2.                 if($_SESSION['settle_mat'][1] < $cost[1] OR $_SESSION['settle_mat'][2] < $cost[2] OR $_SESSION['settle_mat'][3] <         $cost[3] OR $_SESSION['settle_mat'][4] < $cost[4]){
    3.                     infoMsg(0, "".index_116."");
    4.                     define("SHOW_ONLY_ERROR", true);
    5.                 }
    6.                 // Bauen
    7.                 else {
    8.                     // Session aktualisieren
    9.                     $_SESSION['settle_mat'][1] -= $cost[1];
    10.                     $_SESSION['settle_mat'][2] -= $cost[2];
    11.                     $_SESSION['settle_mat'][3] -= $cost[3];
    12.                     $_SESSION['settle_mat'][4] -= $cost[4];
    13.                    
    14.                     // Auftrag in Datenbank schreiben
    15. mysql_query("UPDATE ". SETTLE_TABLE ." SET settle_mat1 = settle_mat1 - ". $cost[1] .", settle_mat2 = settle_mat2 - ". $cost[2] .", settle_mat3 = settle_mat3 - ". $cost[3]  .", settle_mat4 = settle_mat4 - ". $cost[4] ." WHERE settle_id = ". $_SESSION['this_settle'] ."");
    16. mysql_query("INSERT INTO ". DO_BUILD_TABLE ." SET settle_id = ". $_SESSION['this_settle'] .", place_id = ". $this_place_id .", build_end = ". $build_end .", build_start = ". time()."");
    17. mysql_query("INSERT INTO ". SETTLE_PLACE_TABLE ." Set user_id = ". $_SESSION['usr_id'] .", settle_id = ". $_SESSION['this_settle'] .", place_id = ". $this_place_id .", building_id = ". $b_id);

    und in der sql habe ich das gemacht

    settle_id isle_id isle_part settle_user settle_opening settle_no_conversion settle_last_pulldown settle_name settle_create settle_last_change settle_points settle_points_last settle_b10_war settle_attack settle_last_attack settle_u1 settle_u2 settle_u3 settle_u4 settle_u5 settle_u6 settle_u7 settle_u8 settle_u9 settle_s1 settle_s2 settle_s3 settle_s4 settle_s5 settle_s6 settle_mat1 settle_mat2 settle_mat3 settle_mat4 settle_mat1_check settle_mat2_check settle_mat3_check settle_mat4_check
    Bearbeiten Löschen 29 37 1 95 1 1 0 Unbenannte Siedlung 1257602214 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 470 528 384 0 1257602788.7899 1257602787.0612 1257602789.9999 0


    warum fügt er keine rohstoffe hinzu?
     
    Zuletzt von einem Moderator bearbeitet: 15.11.2009
    #1      
  2. Teutates

    Teutates Noch nicht viel geschrieben

    Dabei seit:
    22.12.2004
    Beiträge:
    49
    Geschlecht:
    männlich
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    Schwer zu sagen. Liefert er wenigstens eine Fehlermeldung zurück?
     
    #2      
  3. bignevs

    bignevs Nicht mehr ganz neu hier

    Dabei seit:
    13.03.2005
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Bremerhaven
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    ich lieste mal die ganze php.

    habe hinzugefügt das alles mit cost4 id 4 'settle_mat'][4]

    in der sql habe ich settle_mat 4 und settle_met_check4 manuel hinzu gefügt...

    vieleicht seht ihr warum er es nicht einlesen tut

    Code (Text):
    1.  
    2. <?php
    3. /*/ -- -- -- -- -- -- --
    4. | Rathaus
    5. / -- -- -- -- -- -- -- */
    6.  
    7. //
    8. // Bau Auftrag
    9. //
    10.  
    11. if(isset($_GET['build']) AND !isset($_SESSION['build'])){
    12.     $b_id = $_GET['build'];
    13.  
    14.     // Fehlerhafte Eingabe!
    15.     if(!isset($CONFIG_BUILDING[$b_id])){
    16.         infoMsg(0, "".index_32."");
    17.         define("SHOW_ONLY_ERROR", true);
    18.     }
    19.     // Wasser Bauplatz
    20.     elseif($CONFIG_BUILD_PLACE[$this_place_id][2] == 1 AND $b_id != 8){
    21.         infoMsg(0, "".index_113."");
    22.         define("SHOW_ONLY_ERROR", true);
    23.     }
    24.     // Hafenbau auf normalem Bauplatz
    25.     elseif($CONFIG_BUILD_PLACE[$this_place_id][2] == 0 AND $b_id == 8){
    26.         infoMsg(0, "".index_114."");
    27.         define("SHOW_ONLY_ERROR", true);
    28.     }
    29.     // Bauen
    30.     else {
    31.         /* ---
    32.         Voraussetzungen
    33.         Es werden die Geb�ude, die auf den verschiedenen Baupl�tzen gebaut sind
    34.         in ein Array eingelesen. Es wird jeweils das Geb�ude mit der h�chsten
    35.         Stufe gespeichert und verwertet.
    36.         --- */
    37.        
    38.         // Voraussetzungen pr�fen
    39.         $SHOW_BUILDING = 1; // Wenn diese Varibale = 0 ist, sind die Voraussetzungen nicht erf�llt!
    40.        
    41.         foreach($CONFIG_BUILDING[$b_id][5] AS $v_geb => $v_stufe){
    42.             if(!isset($SETTLE_BUILDING[$v_geb]) OR $SETTLE_BUILDING[$v_geb][1] < $v_stufe) {
    43.                 $SHOW_BUILDING = 0;
    44.                 break;
    45.             }
    46.         }
    47.  
    48.         /* ---
    49.         Bauen
    50.         --- */
    51.  
    52.         // Bauvoraussetzungen erf�llt
    53.         if($SHOW_BUILDING == 1){
    54.             // Maximale Baumenge erreicht
    55.             if($SETTLE_BUILDING[$b_id][0] >= $CONFIG_BUILDING[$b_id][6]){
    56.                 infoMsg(0, "".index_115."");
    57.                 define("SHOW_ONLY_ERROR", true);
    58.             }
    59.             // Bauen
    60.             else {
    61.                 // Bauzeit
    62.                 $buildtime = buildTime($CONFIG_BUILDING[$b_id][3], 0);
    63.                 $build_end = $buildtime + time();
    64.                
    65.                 // Baukosten
    66.                 $cost[1] = buildCost($CONFIG_BUILDING[$b_id][0], 0);
    67.                 $cost[2] = buildCost($CONFIG_BUILDING[$b_id][1], 0);
    68.                 $cost[3] = buildCost($CONFIG_BUILDING[$b_id][2], 0);
    69.                 $cost[4] = buildCost($CONFIG_BUILDING[$b_id][4], 0);
    70.                
    71.                 // Nicht genug Rohstoffe verf�gbar4
    72.                 if($_SESSION['settle_mat'][1] < $cost[1] OR $_SESSION['settle_mat'][2] < $cost[2] OR $_SESSION['settle_mat'][3] <         $cost[3] OR $_SESSION['settle_mat'][4] < $cost[4]){
    73.                     infoMsg(0, "".index_116."");
    74.                     define("SHOW_ONLY_ERROR", true);
    75.                 }
    76.                 // Bauen
    77.                 else {
    78.                     // Session aktualisieren
    79.                     $_SESSION['settle_mat'][1] -= $cost[1];
    80.                     $_SESSION['settle_mat'][2] -= $cost[2];
    81.                     $_SESSION['settle_mat'][3] -= $cost[3];
    82.                     $_SESSION['settle_mat'][4] -= $cost[4];
    83.                    
    84.                     // Auftrag in Datenbank schreiben
    85. mysql_query("UPDATE ". SETTLE_TABLE ." SET settle_mat1 = settle_mat1 - ". $cost[1] .", settle_mat2 = settle_mat2 - ". $cost[2] .", settle_mat3 = settle_mat3 - ". $cost[3]  .", settle_mat4 = settle_mat4 - ". $cost[4] ." WHERE settle_id = ". $_SESSION['this_settle'] ."");
    86. mysql_query("INSERT INTO ". DO_BUILD_TABLE ." SET settle_id = ". $_SESSION['this_settle'] .", place_id = ". $this_place_id .", build_end = ". $build_end .", build_start = ". time()."");
    87. mysql_query("INSERT INTO ". SETTLE_PLACE_TABLE ." Set user_id = ". $_SESSION['usr_id'] .", settle_id = ". $_SESSION['this_settle'] .", place_id = ". $this_place_id .", building_id = ". $b_id);
    88.                    
    89.                     // Session aktualisieren
    90.                     $_SESSION['build'] = array($this_place_id, $build_end);
    91.                     $_SESSION['settle_place'][$this_place_id] = array($b_id, 0);
    92.  
    93.                     // Site Reload
    94.                     header("Location: index.php?". SID ."&place_id=". $this_place_id);    
    95.                     exit;        
    96.                 }
    97.             }
    98.         }
    99.     }
    100. }
    101.  
    102. //
    103. // Bau abbrechen
    104. //
    105.  
    106. elseif(isset($_GET['build_break']) AND isset($_SESSION['build'])){
    107.     // Daten
    108.     $place_id = $_SESSION['build'][0];
    109.     $building_id = $_SESSION['settle_place'][$place_id][0];
    110.    
    111.     // Baukosten
    112.     $cost[1] = buildCost($CONFIG_BUILDING[$building_id][0], 0);
    113.     $cost[2] = buildCost($CONFIG_BUILDING[$building_id][1], 0);
    114.     $cost[3] = buildCost($CONFIG_BUILDING[$building_id][2], 0);
    115.     $cost[4] = buildCost($CONFIG_BUILDING[$building_id][4], 0);
    116.    
    117.     // Rohstoffe aktualisieren
    118.     mysql_query("UPDATE ". SETTLE_TABLE ." SET settle_mat1 = settle_mat1 + ". $cost[1] .", settle_mat2 = settle_mat2 + ". $cost[2] .", settle_mat3 = settle_mat3 + ". $cost[3]  .", settle_mat4 = settle_mat4 + ". $cost[4] .", WHERE settle_id = ". $_SESSION['this_settle'] ."");
    119.    
    120.     // Session aktualisieren
    121.     if($_SESSION['settle_mat'][1] + $cost[1] < $_SESSION['settle_save']) $_SESSION['settle_mat'][1] += $cost[1]; else $_SESSION['settle_mat'][1] = $_SESSION['settle_save'];
    122.     if($_SESSION['settle_mat'][2] + $cost[2] < $_SESSION['settle_save']) $_SESSION['settle_mat'][2] += $cost[2]; else $_SESSION['settle_mat'][2] = $_SESSION['settle_save'];
    123.     if($_SESSION['settle_mat'][3] + $cost[3] < $_SESSION['settle_save']) $_SESSION['settle_mat'][3] += $cost[3]; else $_SESSION['settle_mat'][3] = $_SESSION['settle_save'];
    124.     if($_SESSION['settle_mat'][4] + $cost[4] < $_SESSION['settle_save']) $_SESSION['settle_mat'][4] += $cost[4]; else $_SESSION['settle_mat'][4] = $_SESSION['settle_save'];    
    125.  
    126.     // Auftrag l�schen
    127.     mysql_query("DELETE FROM ". DO_BUILD_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ."");
    128.     mysql_query("DELETE FROM ". SETTLE_PLACE_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ." AND place_id = ". $place_id);
    129.    
    130.     unset($_SESSION['settle_place'][$place_id]);
    131.     unset($_SESSION['build']);
    132.    
    133.     // Site Reload
    134.     header("Location: index.php?". SID ."&place_id=". $this_place_id);    
    135.     exit;        
    136. }
    137.  
    138.  
    139.  
    140. //
    141. // Nur anzeigen, wenn kein Fehler aufgetreten ist
    142. //
    143.  
    144. if(!defined("SHOW_ONLY_ERROR")){
    145.     //
    146.     // Es wird geaut bzw. ausgebaut!
    147.     //
    148.    
    149.     if(isset($_SESSION['build'])) {
    150.         echo "<h1>".index_117."</h1>";
    151.        
    152.         $place_id = $_SESSION['build'][0];
    153.        
    154.         // Es wird bereits ein anderes Geb�ude gebaut bzw. ausgebaut (Anderer Bauplatz!)
    155. if($place_id != $this_place_id){
    156. infoMsg(0, "".index_118." (".index_119." ". $place_id .")!<br /><br /><a href=\"index.php?". SID ."&place_id=". $place_id ."\">".index_120." ". $place_id ."</a>");
    157.         }
    158.         // Auf diesem Bauplatz wird ein Geb�ude errichetet!
    159.         else {
    160.             // Daten
    161.             $building_id = $_SESSION['settle_place'][$place_id][0];
    162.            
    163.             // Ausgabe
    164. echo "<div style=\"text-align: center;\">
    165. <br /><span style=\"color: green; font-size: 16px;\"><b>".index_121."!</b></span><br /><br />
    166. <img src=\"http://www.psd-tutorials.de/modules/Forum/images/building/". $building_id .".jpg\" /><br /><br />
    167. <a class=\"buildingName\" href=\"index.php?". SID ."&p=help&sub=building&id=". $building_id ."\">". $LANG_BUILDING[$building_id][0] ."</a><br /><br />
    168. ".main_18.": <b><b id=\"timer1\" title=\"time1_". ($_SESSION['build'][1] - time()) ."_type1_1\">".main_19."</b></b><br />
    169. ".main_33.": <b>". convertDate($_SESSION['build'][1]) ."</b><br /><br />";
    170.  
    171. if(gameconfig('werbung_banner')==1){get_werbung('468x60');}
    172.  
    173. echo"<br><a href=\"index.php?". SID ."&place_id=". $this_place_id ."&build_break=on\" class=\"link_bg_red\">".main_20."</a></div>";
    174.         }
    175.     }
    176.    
    177.     //
    178.     // Geb�ude auflisten
    179.     //
    180.    
    181.     else {
    182.         echo "<h1>".main_34." ...</h1>";
    183.        
    184.         echo "<table class=\"main_table\" width=\"100%\">
    185.        
    186.     <tr>
    187.     <td colspan=\"2\"></td>
    188.     <td><img src=\"http://www.psd-tutorials.de/modules/Forum/images/icon/mat1.png\" /></td>
    189.     <td><img src=\"http://www.psd-tutorials.de/modules/Forum/images/icon/mat2.png\" /></td>
    190.     <td><img src=\"http://www.psd-tutorials.de/modules/Forum/images/icon/mat3.png\" /></td>
    191.     <td><img src=\"http://www.psd-tutorials.de/modules/Forum/images/icon/mat4.png\" /></td>
    192.    
    193.     <td></td>
    194.     </tr>    
    195.        
    196.         ";
    197.        
    198.        
    199.        
    200.         foreach($CONFIG_BUILDING AS $b_id => $b_array){
    201.             /* ---
    202.             Voraussetzungen
    203.             Es werden die Geb�ude, die auf den verschiedenen Baupl�tzen gebaut sind
    204.             in ein Array eingelesen. Es wird jeweils das Geb�ude mit der h�chsten
    205.             Stufe gespeichert und verwertet.
    206.             --- */
    207.            
    208.             // Voraussetzungen pr�fen
    209.             $SHOW_BUILDING = 1; // Wenn diese Varibale = 0 ist, sind die Voraussetzungen nicht erf�llt!
    210.            
    211.             foreach($b_array[5] AS $v_geb => $v_stufe){
    212.                 if(!isset($SETTLE_BUILDING[$v_geb]) OR $SETTLE_BUILDING[$v_geb][1] < $v_stufe) {
    213.                     $SHOW_BUILDING = 0;
    214.                     break;
    215.                 }
    216.             }
    217.            
    218.             /* ---
    219.             Bauverarbeitung
    220.             --- */
    221.  
    222.             // Bauvoraussetzungen noch nicht erf�llt
    223.             if($SHOW_BUILDING == 0){
    224. echo "<tr><td class=\"row1\" width=\"8%\"><div class=\"buildingImage\" style=\"".AlphaSelector("http://www.psd-tutorials.de/modules/Forum/images/building/small/".$b_id.".png") ."\"></div></td>
    225. <td class=\"row1\" width=\"40%\">
    226. <a href=\"index.php?". SID ."&p=help&sub=building&id=". $b_id ."\" class=\"help\">". $LANG_BUILDING[$b_id][0] ."</a><br />
    227. <font class=\"text_gray_light\">
    228. ".main_35.": <b>". $b_array[4] ."</b><br />
    229. ".main_36.": <b>". $b_array[6] ."x</b>
    230. </font><br /></td>
    231. <td class=\"row2\" align=\"center\" colspan=\"4\"><font class=\"text_gray\"><i><a href=\"index.php?". SID ."&p=help&sub=building&id=". $b_id ."\">".main_37."</a> ".main_38."!</i></font></td></tr>";
    232.             }
    233. /*            // Maximale Baumenge erreicht
    234.             elseif(isset($SETTLE_BUILDING[$b_id]) AND $SETTLE_BUILDING[$b_id][0] >= $b_array[6]){
    235.                 echo "<tr><td class=\"row1\" width=\"8%\">". showAlphaImage("http://www.psd-tutorials.de/modules/Forum/images/building/small/". $b_id .".png") ."</td>
    236.                 <td class=\"row1\" width=\"40%\">
    237.                     <a href=\"index.php?". SID ."&p=help&sub=building&id=". $b_id ."\" class=\"help\">". $LANG_BUILDING[$b_id][0] ."</a><br />
    238.                     <font class=\"text_gray_light\">
    239.                     Maximale Stufe: <b>". $b_array[4] ."</b><br />
    240.                     Maximale Baumenge: <b>". $b_array[6] ."x</b>
    241.                     </font><br /></td>
    242.                 <td class=\"row2\" align=\"center\" colspan=\"2\"><i><b><font color=\"red\">Maximale Bauanzahl des Geb&auml;udes erreicht!</font></b></i></td></tr>";
    243.             }
    244. */            // Bau ist m�glich! (Maximale Baumenge noch nicht erreicht)
    245.             elseif(!isset($SETTLE_BUILDING[$b_id]) OR (isset($SETTLE_BUILDING[$b_id]) AND $SETTLE_BUILDING[$b_id][0] < $b_array[6])) {
    246.                 // Bauzeit
    247.                 $buildtime = buildTime($b_array[3], 0);
    248.                
    249.                 // Baukosten
    250.                 $cost[1] = buildCost($b_array[0], 0);
    251.                 $cost[2] = buildCost($b_array[1], 0);
    252.                 $cost[3] = buildCost($b_array[2], 0);
    253.                 $cost[4] = buildCost($b_array[4], 0);
    254.    
    255.                 // Baubar in: XX
    256.                 $sec_to_build = 0;
    257.                 if($_SESSION['usr_gold'] > 0){
    258.                     $build_in = array();
    259.                    
    260.                     $build_in[] = ($cost[1] - $_SESSION['settle_mat'][1]) / $_SESSION['prod'][1][1];
    261.                     $build_in[] = ($cost[2] - $_SESSION['settle_mat'][2]) / $_SESSION['prod'][2][1];
    262.                     $build_in[] = ($cost[3] - $_SESSION['settle_mat'][3]) / $_SESSION['prod'][3][1];
    263.                     $build_in[] = ($cost[4] - $_SESSION['settle_mat'][4]) / $_SESSION['prod'][4][1];
    264.    
    265.                     if(!empty($build_in)){
    266.                         $build_in = BubbleSort($build_in,1);
    267.                         $sec_to_build = $build_in[0];
    268.                     }
    269.                 }
    270.                
    271.                 // Ausgabe
    272.                
    273.                 if(isset($_SESSION['build']) AND $_SESSION['build'][0] == $b_id) $submit_class = "row3";
    274.                 else $submit_class = "submit";
    275.                
    276. echo "<tr><td class=\"row1\" width=\"8%\"><div class=\"buildingImage\" style=\"".AlphaSelector("http://www.psd-tutorials.de/modules/Forum/images/building/small/".$b_id.".png") ."\"></div></td><td class=\"row1\" width=\"40%\">
    277. <a href=\"index.php?". SID ."&p=help&sub=building&id=". $b_id ."\" class=\"help\">". $LANG_BUILDING[$b_id][0] ."</a><br />
    278. ".main_39.": ". ((isset($SETTLE_BUILDING[$b_id][0])) ? bold($SETTLE_BUILDING[$b_id][0] ."x") : colorGray("<i>".main_40."!</i>")) ."<br />
    279. ".main_41.": <b>". $b_array[6] ."x</b><br />
    280. ".main_42.": <span style=\"color: green;\"><b>". formatTime($buildtime) ."</b></span>
    281. ". (($_SESSION['usr_gold'] > 0 AND $sec_to_build > 0) ? "<br />".main_43.": <b>". colorGreen(formatTimeSmall(round($sec_to_build))) ."</b>" : "") ."</td>
    282. <td class=\"row2\" width=\"5%\">". (($_SESSION['settle_mat'][1] < $cost[1]) ? bold(colorRed($cost[1])) : $cost[1]) ."</td>
    283. <td class=\"row2\" width=\"5%\">". (($_SESSION['settle_mat'][2] < $cost[2]) ? bold(colorRed($cost[2])) : $cost[2]) ."</td>
    284. <td class=\"row2\" width=\"5%\">". (($_SESSION['settle_mat'][3] < $cost[3]) ? bold(colorRed($cost[3])) : $cost[3]) ."</td>
    285. <td class=\"row2\" width=\"5%\">". (($_SESSION['settle_mat'][4] < $cost[4]) ? bold(colorRed($cost[4])) : $cost[4]) ."</td>
    286.  
    287. <td class=\"". $submit_class ."\" align=\"center\"><a href=\"index.php?". SID ."&place_id=". $this_place_id ."&build=". $b_id ."\" class=\"". (($_SESSION['settle_mat'][1] < $cost[1] OR $_SESSION['settle_mat'][2] < $cost[2] OR $_SESSION['settle_mat'][3] < $cost[3]OR $_SESSION['settle_mat'][4] < $cost[4]) ? "link_bg_gray" : "link_bg_green") ."\">".main_44."!</a></td></tr>";
    288.             }
    289.         }
    290.        
    291.         echo "</table>";
    292.     }
    293. }
    294.  
    295. ?>
     
    Zuletzt von einem Moderator bearbeitet: 15.11.2009
    #3      
  4. Haetti

    Haetti Nicht mehr ganz neu hier

    Dabei seit:
    08.10.2007
    Beiträge:
    65
    Geschlecht:
    männlich
    Ort:
    St. Gallen
    Software:
    Photoshop CS4
    Kameratyp:
    gestohlen :(
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    das ist für mich noch immer schwer zu sagen. So wie's aussieht, ist diese Datei dafür zuständig Gebäude auszubauen und nicht Rohstoffe zu liefern. Wenn das so ist, ist dies natürlich auch die falsche Datei.

    Hast du mal einfach in der MySQL-DB eine Anzahl an Getreiden eingefügt, um zu sehen, was passiert? Somit kannst du nachvollziehen, ob kein Getreide gespeichert wird, oder ob's einfach nicht angezeigt wird.

    Gruss
    Hätti
     
    #4      
  5. bignevs

    bignevs Nicht mehr ganz neu hier

    Dabei seit:
    13.03.2005
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Bremerhaven
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    hi

    habe es soweit hin bekommen das er es in die sql schreibt, de startrohstoffe, aber er aktualieseirt die neuen rohstoffe nicht in die sql bleibt immer die startrohstoffe drin obwohl er im game die rohstoffe getreide erhöt, die erhöhung wird immer erst dann aktualisiert wenn ich mich ausloge und dann wieder einloge, kennt einer das problem????
     
    #5      
  6. Steve1405

    Steve1405 ready

    Dabei seit:
    07.05.2007
    Beiträge:
    119
    Geschlecht:
    männlich
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    Dann schau mal, was für Funktionen beim Ausloggen/Einloggen aufgerufen werden. Eine von denen muss ja dann dafür verantwortlich sein, dass das Getreide aktualisiert wird..

    gruß
     
    #6      
  7. Chriss1987

    Chriss1987 me.drinkCoffee();

    Dabei seit:
    26.03.2006
    Beiträge:
    378
    Geschlecht:
    männlich
    Ort:
    Kirchhundem
    Kameratyp:
    Canon EOS 400D
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    Hi,

    wenn du die Rohstoffe aktualisierst, dann submittest du ja ein Formular, schon mal geschaut, ob ie entsprechenden Daten überhaupt übertragen werden? Also einfach mal $_POST anzeigen lassen, oder die $_SESSION anschauen, vielleicht wird das ja einfach nicht richtig übertragen. Des Weiteren einfach mal am Anfang des Scriptes alle Fehlermeldungen mit
    PHP:
    1.  
    aktivieren, vielleicht wird eine Variable nicht gesetzt...

    Schöne Grüße aus dem verregneten Sauerland
    Chriss
     
    #7      
  8. bignevs

    bignevs Nicht mehr ganz neu hier

    Dabei seit:
    13.03.2005
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Bremerhaven
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    Danke für die infos


    Jetzt kommt aber das

    Notice: Undefined offset: 12 in /var/www/html/web1406/html/s4/inc/update/settle.php on line 146

    das wäre die zeile
    $VSESS['prod'][12] = $_SESSION['prod'][12];


    Notice: Undefined offset: 12 in /var/www/html/web1406/html/s4/graphicview/settle.php on line 331

    <td width=\"45%\" align=\"left\"><b>". $_SESSION['prod'][12][0] ."</b></td>


    Notice: Undefined offset: 12 in /var/www/html/web1406/html/s4/graphicview/settle.php on line 374

    <td><b>". $_SESSION['rohstoffabzug'][12] ."</b></td>

    was mache ich hier falsch?
     
    #8      
  9. cebito

    cebito undefined

    262
    Dabei seit:
    08.03.2008
    Beiträge:
    8.316
    Geschlecht:
    männlich
    Ort:
    Dresden
    Kameratyp:
    zum durchgucken
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    Im Editor gibt es so nützliche Hilfsmittel, wenn du die bitte demnächst benutzen würdest, vor allem, wenn der code etwas länger wird ;)

    [​IMG]

    vielen Dank
     
    #9      
  10. bignevs

    bignevs Nicht mehr ganz neu hier

    Dabei seit:
    13.03.2005
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Bremerhaven
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    hi

    wie kann ich bei der met11 einen neuen array setzen er geht nur bis 4 kann mir da einer helfen,
    die 7 geht nicht auch andere zahlen gehen nicht es muss eine array gesetzt werden damit der rohstoff gezählt wird...

    hier der code


    PHP:
    1.  
    2.  Daten in Sessions einlesen
    3. + ------------------------------------- + */
    4. $_SESSION['rohstoffabzug'][1]=0;
    5. $_SESSION['rohstoffabzug'][2]=0;   
    6. $_SESSION['rohstoffabzug'][3]=0;
    7. $_SESSION['rohstoffabzug'][11]=0;
    8. // #################### Erstellte Sessions #######################
    9.  
    10. // (Siehe Session Name)
    11. // .
    12. // .
    13. // ## $_SESSION['settle_data'] = array(Name, Punkte, Siedlungsnummer);
    14. // ## $_SESSION['prod'][Material] = array(Produktion Stunde, Produktion Sekunde);
    15.  
    16. // #################### Daten - Ausgwählte Siedlung #######################
    17.  
    18. // Aktuelle Siedlung auswählen
    19. $sel_sql = mysql_query("SELECT settle_id FROM ". SETTLE_TABLE ." WHERE settle_opening = 1 AND settle_user = ". $_SESSION['usr_id'] ."");
    20. // -> Keine Siedlung als "geöffnet" eingetragen
    21. if(mysql_num_rows($sel_sql) == 0){
    22.     $sel_sql = mysql_query("SELECT settle_id FROM ". SETTLE_TABLE ." WHERE settle_user = ". $_SESSION['usr_id'] ." LIMIT 1");
    23.  
    24.     // -> Spieler besitzt keine Siedlung
    25.     if(mysql_num_rows($sel_sql) == 0) $_SESSION['this_settle'] = 0;
    26.     // -> Siedlung in Session speichern, settle_opening speichern
    27.     else {
    28.         $settle_id = mysql_result($sel_sql, 0);
    29.         $_SESSION['this_settle'] = $settle_id;
    30.         mysql_query("UPDATE ". SETTLE_TABLE ." Set settle_opening = 1 WHERE settle_id = ". $settle_id ."");
    31.     }
    32. }
    33. // -> Siedlung in Session speichern
    34. else {
    35.     $_SESSION['this_settle'] = mysql_result($sel_sql, 0);
    36. }
    37.  
    38. // Daten einlesen, wenn Spieler eine Siedlung besitzt
    39. if($_SESSION['this_settle'] > 0){
    40.    
    41.     $military_data = createGameData("u", "settle");
    42.     $ship_data = createGameData("s", "settle");
    43.    
    44.     // Anzahl der Felder (Building + Research + Military + Ship) die vor den Siedlungs-Felder (settle_pos1 ....) ausgelesen werden
    45.     // -> Diese Zahl muss hinzuaddiert werden wenn man z.b. settle_pos1 abrufen will (mysql_fetch_row)
    46.     $count_plusrow = $military_data[1] + $ship_data[1];
    47.  
    48.     $sql = mysql_query("SELECT ". $military_data[0] .", ". $ship_data[0] .", isle_part, settle_name, settle_mat1, settle_mat2, settle_mat3, settle_mat11, settle_points FROM ". SETTLE_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ."");
    49.     $row = mysql_fetch_row($sql);
    50.    
    51.     // ----------------------------------------
    52.     // Allgemein
    53.     $_SESSION['settle_data'] = array($row[$count_plusrow + 1], $row[$count_plusrow + 5], $row[$count_plusrow]);
    54.  
    55.     // Rohstoffe   
    56.     $_SESSION['settle_mat'][1] = $row[$count_plusrow + 2];
    57.     $_SESSION['settle_mat'][2] = $row[$count_plusrow + 3];
    58.     $_SESSION['settle_mat'][3] = $row[$count_plusrow + 4];
    59.     $_SESSION['settle_mat'][11] = $row[$count_plusrow + 7];
    60.  
    61.     // ----------------------------------------
    62.     // Gebäude
    63.     $_SESSION['settle_place'] = array(); // Session MUSS leer sein und existieren!
    64.  
    65.     $place_sql = mysql_query("SELECT place_id, building_id, building_level FROM ". SETTLE_PLACE_TABLE ." WHERE settle_id = ". $_SESSION['this_settle']);
    66.    
    67.     $prod_value[1] = 0; // Stündliche Produktion - Gold
    68.     $prod_value[2] = 0; // Stündliche Produktion - Stein
    69.     $prod_value[3] = 0; // Stündliche Produktion - Holz
    70.     $prod_value[11] = 0; // Stündliche Produktion - Nahrung
    71.     $save_value = 0; // Rohstofflangermenge
    72.  
    73.     while($place_row = mysql_fetch_row($place_sql)){
    74.         $_SESSION['settle_place'][$place_row[0]] = array($place_row[1], $place_row[2]);
    75.  
    76.         // Stündliche Produktion aktualisieren
    77.         if($place_row[1] == 2 AND $place_row[2] > 0) $prod_value[1] += prodMat(1, $place_row[2]); // Goldmine
    78.         elseif($place_row[1] == 3 AND $place_row[2] > 0) $prod_value[2] += prodMat(2, $place_row[2]); // Steinbruch
    79.         elseif($place_row[1] == 4 AND $place_row[2] > 0) $prod_value[3] += prodMat(3, $place_row[2]); // Holzfäller
    80.         elseif($place_row[1] == 11 AND $place_row[2] > 0) $prod_value[11] += prodMat(11, $place_row[2]); // Nahrung
    81.         elseif($place_row[1] == 5 AND $place_row[2] > 0) $save_value += prodSave($place_row[2]); // Rohstofflager
    82.     }
    83.    
    84.         // Einheiten - Militär
    85.     foreach($CONFIG_MILITARY AS $u_id => $u_array){
    86.         $_SESSION['settle_military'][$u_id] = $row[$u_id - 1];
    87. ///Je nach Anzahl Einheiten Gold abziehen      
    88. $prod_value[1]-=ceil($_SESSION['settle_military'][$u_id]/5);
    89. $_SESSION['rohstoffabzug'][1]+=ceil($_SESSION['settle_military'][$u_id]/5);    
    90.     }
    91.  
    92.     // Einheiten - Schiffe
    93.     foreach($CONFIG_SHIP AS $s_id => $s_array){
    94.         $_SESSION['settle_ship'][$s_id] = $row[$military_data[1] + $s_id - 1];
    95.        
    96. ///Je nach Anzahl Schiffe Holz und Gold abziehen
    97. $prod_value[1]-=ceil($_SESSION['settle_ship'][$s_id]/10);
    98. $prod_value[3]-=ceil($_SESSION['settle_ship'][$s_id]/2);
    99. $_SESSION['rohstoffabzug'][1]+=ceil($_SESSION['settle_ship'][$s_id]/10);
    100. $_SESSION['rohstoffabzug'][3]+=ceil($_SESSION['settle_ship'][$s_id]/2);        
    101.     }
    102.        
    103.  
    104.  
    105.  
    106. // Wenn kein Gebäude gebaut wurde - Grundproduktion!
    107.     if(empty($prod_value[1])) $prod_value[1] = prodMat(1, 0);
    108.     if(empty($prod_value[2])) $prod_value[2] = prodMat(2, 0);
    109.     if(empty($prod_value[3])) $prod_value[3] = prodMat(3, 0);
    110.     if(empty($prod_value[11])) $prod_value[11] = prodMat(11, 0);
    111.     if(empty($save_value)) $save_value = prodSave(0);
    112.    
    113.    
    114.    
    115.  
    116.  
    117.    
    118.  
    119.  
    120.  
    121.     // -> Session speichern
    122.     $_SESSION['prod'][1] = array($prod_value[1], $prod_value[1] / (60*60));
    123.     $_SESSION['prod'][2] = array($prod_value[2], $prod_value[2] / (60*60));
    124.     $_SESSION['prod'][3] = array($prod_value[3], $prod_value[3] / (60*60));
    125.     $_SESSION['prod'][11] = array($prod_value[11], $prod_value[11] / (60*60));
    126.    
    127.    
    128.  
    129.  
    130.  
    131.  
    132.     $_SESSION['settle_save'] = $save_value;
    133.    
    134.  
    135.     // ----------------------------------------
    136.     // Aktion - Gebäudebau
    137.     unset($_SESSION['build']); // Session MUSS leer sein!
    138.    
    139.     $sql = mysql_query("SELECT place_id, build_end FROM ". DO_BUILD_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ."");
    140.     if(mysql_num_rows($sql) == 1){
    141.         $row = mysql_fetch_row($sql);
    142.         $_SESSION['build'] = array($row[0], $row[1]);
    143.     }
    144.  
    145.     // ----------------------------------------
    146.     // Ausbildung - Militär
    147.     unset($_SESSION['train_military']); // Session MUSS leer sein!
    148.    
    149.     $sql = mysql_query("SELECT order_id, train_unit, train_sum, train_start, train_duration, place_id FROM ". TRAIN_MILITARY_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ." ORDER BY order_id");
    150.     if(mysql_num_rows($sql) >= 1){
    151.         while($row = mysql_fetch_row($sql)){
    152.             //                                                    0        1        2        3
    153.             $_SESSION['train_military'][$row[5]][$row[0]] = array($row[1], $row[2], $row[3], $row[4]);
    154.         }
    155.     }
    156.  
    157.     // "Ausbildung" - Schiff
    158.     unset($_SESSION['train_ship']); // Session MUSS leer sein!
    159.    
    160.     $sql = mysql_query("SELECT order_id, train_unit, train_sum, train_start, train_duration FROM ". TRAIN_SHIP_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ." ORDER BY order_id");
    161.     if(mysql_num_rows($sql) >= 1){
    162.         while($row = mysql_fetch_row($sql)){
    163.             //                                       0        1        2        3
    164.             $_SESSION['train_ship'][$row[0]] = array($row[1], $row[2], $row[3], $row[4]);
    165.         }
    166.     }
    167. }
    168.  
     
    Zuletzt bearbeitet: 16.11.2009
    #10      
  11. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    Naja du prüfst nicht, ob die Variablen laut deiner Notice-Meldung überhaupt vorhanden sind und setzt keinen default-Wert. Sprich php kann mir der Variablen so nichts anfangen, weil diese nicht deklariert wurde.

    Besser:
    PHP:
    1.  
    2. <?php
    3. if(isset($_SESSION['prod'][12], $_SESSION['prod'][12][0], 'usw.')) {
    4.  /**
    5.  * mach was
    6.  */
    7. } else {
    8.  /**
    9.  * hier default setzen.
    10.  */
    11. }
    12. ?>
    13.  
    Sprich - bevor du eine Variable zuweisen willst, sollte diese auch irgendwo definiert sein.
     
    #11      
  12. bignevs

    bignevs Nicht mehr ganz neu hier

    Dabei seit:
    13.03.2005
    Beiträge:
    79
    Geschlecht:
    männlich
    Ort:
    Bremerhaven
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    danke für diesen tipp, aber das problem habe ich schon gelöst, jetzt bin ich wieder bei der rohstoff aktualiesierung da der rohstoff nicht aktualsiert wird, weil siehe letzen code von mir den wert nicht annimmt.
    ( $_SESSION['settle_mat'][11] = $row[$count_plusrow + ?????];)

    ich werde bald verrückt.....das geht jetzt schon 2 wochen so....
     
    #12      
  13. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    PHP Script mit MYSQL
    AW: PHP Script mit MYSQL

    Hi,

    frage - siehst du dir dein Script auch genau an?

    Zu deiner Frage mit met1 - diese Variable oder Wert gibt es nicht in deinem Script-Ausschnitt.

    Und zu deiner letzten Frage. Da ist im Grunde genau das gleiche Problem wie ich dir schon geschildert hatte.

    PHP:
    1.  
    2. <?php
    3.     $sql = mysql_query("SELECT ". $military_data[0] .", ". $ship_data[0] .", isle_part, settle_name, settle_mat1, settle_mat2, settle_mat3, settle_mat11, settle_points FROM ". SETTLE_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ."");
    4.     $row = mysql_fetch_row($sql);
    5.    
    6.     // ----------------------------------------
    7.     // Allgemein
    8.     $_SESSION['settle_data'] = array($row[$count_plusrow + 1], $row[$count_plusrow + 5], $row[$count_plusrow]);
    9.  
    10.     // Rohstoffe    
    11.     $_SESSION['settle_mat'][1] = $row[$count_plusrow + 2];
    12.     $_SESSION['settle_mat'][2] = $row[$count_plusrow + 3];
    13.     $_SESSION['settle_mat'][3] = $row[$count_plusrow + 4];
    14.     $_SESSION['settle_mat'][11] = $row[$count_plusrow + 7];
    15. ?>
    16.  
    Wenn du ein SQL-Statement hast und nie irgendwelche Werte vorhanden sind bei einer späteren Speicherung, solltest du dir mal den Query oder zumindest das Ergebnis des Query ansehen. Das wäre das eine. Aber das andere ist j folgendes:

    Du hast:
    PHP:
    1.  
    2. <?php
    3. $sql = mysql_query("SELECT ". $military_data[0] .", ". $ship_data[0] .", isle_part, settle_name, settle_mat1, settle_mat2, settle_mat3, settle_mat11, settle_points FROM ". SETTLE_TABLE ." WHERE settle_id = ". $_SESSION['this_settle'] ."");
    4. $row = mysql_fetch_row($sql);
    5. ?>
    6.  
    und später machst du:
    PHP:
    1.  
    2. <?php
    3.     // Rohstoffe    
    4.     $_SESSION['settle_mat'][1] = $row[$count_plusrow + 2];
    5.     $_SESSION['settle_mat'][2] = $row[$count_plusrow + 3];
    6.     $_SESSION['settle_mat'][3] = $row[$count_plusrow + 4];
    7.     $_SESSION['settle_mat'][11] = $row[$count_plusrow + 7];
    8.  
    9. ?>
    10.  
    Prüfe doch mal, ob in z.B. $row[$count_plusrow + 2] überhaupt existiert? Ich vermute kaum, weil aus deinem Query eigentl. im ersten Blick folgendes abzuleiten wäre (als Beispiel):

    PHP:
    1.  
    2. <?php
    3. $_SESSION['settle_mat'][1] = $row['settle_mat2'] + 2;
    4. ?>
    5.  
    Du prüfst auch nicht, ob es z.B. $row[$count_plusrow + 2] überhaupt gibt. Hast du dir schon mal die Variable angesehen oder zumindest das Array aus der Sql-Abfrage?
     
    #13      
x
×
×