Ankündigung

Einklappen
Keine Ankündigung bisher.

wert an anderes script übergeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wert an anderes script übergeben

    Hallo,

    ich hoffe ihr versteht meine frage.

    zunächsteinmal die scripte um die es geht:

    script 1:
    PHP-Code:
    $sql "SELECT * FROM town WHERE townid = '".$_SESSION['town']."'";
    $result mysql_query($sql) OR die(mysql_error()." => ".mysql_errno());

    while (
    $row mysql_fetch_object($result)) {
      
      
      
    $building = array(
                        
    "Palast" => "$row->palast",
                        
    "Lehm" => "$row->lehm",
                        
    "Holz" => "$row->holz",
                        
    "Hütte" => "$row->huette",
                        
    "Basar" => "$row->basar",
                        
    "Schule" => "$row->schule",
                        
    "Lager" => "$row->lager",
                        
    "Mauer" => "$row->mauer",
                        
    "Ziegellei" => "$row->ziegellei",
                        
    "Sägewerk" => "$row->saegewerk",
                        
    "Hochschule" => "$row->hochschule",
                        
    "Museum" => "$row->museum",
                        
    "Kaserne" => "$row->kaserne");
                        
    include(
    "ink/ausbau.ink.php");    
      
      
    $anzahl count $building );
      
      echo 
    "<table border='1'>";
      
      foreach (
    $building as $build => $x ) {
        if(
    $x == "max") {
          echo 
    "<tr><td>$build </td><td colspan='3' align='center'>Komplett ausgebaut</td></tr>";
        }
        if(
    $x != "-1" && $x != "max") {
          echo 
    "<tr><td>$build ($x) </td><td>";include('ink/building.ink.php');echo "</td><td>$y2</td><td>$x</td></tr>";
        }

      }
      
      echo 
    "</table>"




    script 2:

    PHP-Code:
    include("db.ink.php");
    $_SESSION['town'] = ;
    // ausbau prüfung

    $sql2 "SELECT * FROM builds WHERE townid = '".$_SESSION['town']."'";
    $result2 mysql_query($sql2) OR die(mysql_error()." => ".mysql_errno());
    $ups mysql_num_rows($result2); {
        
    if(
    $ups >= 2) {
        echo 
    $ups->townid;
        
    }
    else {
        echo 
    "leer";
    }


    So damit ich das 2te script so nutzen kann wie ich es brauche müsste ich es schaffen einen Wert aus script 1 zu übergeben.

    ich brauche aus dem array immer das wort aus welcher spalte ich den wert bezogen habe.

    "H&uuml;tte" => "$row->huette", <--- in dem Fall bräuchte ich "huette" in einer variablen.

    PHP-Code:
        if($x != "-1" && $x != "max") {
          echo 
    "<tr><td>$build ($x) </td><td>";include('ink/building.ink.php');echo "</td><td>$y2</td><td>$x</td></tr>";
        } 
    hier wird anstelle des letzten $x ein link eingefügt wo ich dann den anderen wert mit übergebe an script2. Dort könnte ich es mir dann via $_GET rausholen.

    Ich hoffe ihr konntet mich verstehen und mir sagen wie ich das Wort aus dem array in eine variable bekomme.

    lg


  • #2
    Wie wärs, wenn du das "2.Script" in eine Funktion schreibst und an die du dann deinen Wert , den du im übergebenwillst, als Paramter angibst ..?

    spricht da was dagegen ..?
    PHP-Code:
    if ( $humans >= ) {
       
    war ();

    Kommentar


    • #3
      PHP-Code:
      class {
        var 
      $huette "test";
      }

      $fieldname "huette";
      $obj = new x;

      echo 
      $obj->$fieldname;

      // Ausgabe: test 
      Das bedeutet, du brauchst in deiner Zuordnung nicht "$row->huette" stehen zu haben, sondern einfach nur "huette".

      Weiterhin solltest du dir angewöhnen Funktionen zu schreiben, dann hast du auch keine Probleme bei der Werteübergabe und du musst ein Script nicht x-fach includen (in einer Schleife z.B.). Sowas erzeugt unnötig große PHP Scripte, die der Parser verarbeiten muss.

      script 2 enthält einen groben Fehler und ein etwas seltsames Konstrukt mit geschweiften Klammern.. fehlt da nicht zufällig ein Teil Code?
      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

      Kommentar


      • #4
        script 2 fehlt was, das ist mir bewusst, da ich zunächst versuchen wollte die worte zu übergeben um sie dann dort direkt zu verwenden.

        das mit der zuweisung von "huette" wird so nicht funktionieren, dann ich lese ja in dem array die werte aus der db aus. (oder kann ich in einem array einen 3ten wert zuweisen? wenn ja, wie?)

        Script 1 funktionier so wie es da steht.

        ich lese in dem array die gebäude stufen aus, wenn sie -1 sind werden sie nicht angezeigt, wenn sie max sind wird angezeit das sie ausgebaut sind und alle anderen sollen einen link für ausbau bekommen.

        Wenn ich diesen link anklicke muss ich dies in eine db eintragen da der ausbau ja grade läuft. Wenn ich jedem Gebäude aus dem Array eine zuweisung gebe kann das system ja nicht unterscheiden, welches ich bei der ausgabe in:

        PHP-Code:
            if($x != "-1" && $x != "max") {
              echo 
        "<tr><td>$build ($x) </td><td>";include('ink/building.ink.php');echo "</td><td>$y2</td><td>$x</td></tr>";
            } 
        an stelle von $x (das rechte) brauche da es abhängig ist von der if anweisung

        Kommentar


        • #5
          habe die scripte ein wenig geändert.

          script 1 hat nun den link dabei:

          PHP-Code:
          $sql "SELECT * FROM town WHERE townid = '".$_SESSION['town']."'";
          $result mysql_query($sql) OR die(mysql_error()." => ".mysql_errno());

          while (
          $row mysql_fetch_object($result)) {
            
            
            
          $building = array(
                              
          "Palast" => "$row->palast",
                              
          "Lehm" => "$row->lehm",
                              
          "Holz" => "$row->holz",
                              
          "H&uuml;tte" => "$row->huette",
                              
          "Basar" => "$row->basar",
                              
          "Schule" => "$row->schule",
                              
          "Lager" => "$row->lager",
                              
          "Mauer" => "$row->mauer",
                              
          "Ziegellei" => "$row->ziegellei",
                              
          "S&auml;gewerk" => "$row->saegewerk",
                              
          "Hochschule" => "$row->hochschule",
                              
          "Museum" => "$row->museum",
                              
          "Kaserne" => "$row->kaserne");
                              
          include(
          "ink/ausbau.ink.php");    
            
            
          $anzahl count $building );
            
            echo 
          "<table border='1'>";
            
            foreach (
          $building as $build => $x ) {
              if(
          $x == "max") {
                echo 
          "<tr><td>$build </td><td colspan='3' align='center'>Komplett ausgebaut</td></tr>";
              }
              if(
          $x != "-1" && $x != "max") {
                echo 
          "<tr><td>$build ($x) </td><td>";include('ink/building.ink.php');echo "</td><td>$y2</td><td><a href='ink/buildup.ink.php?build=".$build."'>Ausbauen</a></td></tr>";
              }

            }
            
            echo 
          "</table>"


          script 2:

          PHP-Code:
          include("db.ink.php");
          $_SESSION['town'] = ;
          // ausbau prüfung
          class {
            var 
          $huette "H&uuml;tte";
            var 
          $Palast "palast";

          }

          $fieldname $_GET['build'];
          $obj = new x;

          echo 
          $obj->$fieldname;
          $sql "SELECT * FROM builds WHERE townid = '".$_SESSION['town']."'";
          $result mysql_query($sql) OR die(mysql_error()." => ".mysql_errno());
          $ups mysql_num_rows($result); {
              
          if(
          $ups >= 2) {
              echo 
          "voll";
              
          }
          else {
              echo 
          "ok";
          }


          bei palast Funktionier es, aber bei Huette nicht, das problem sind hier sonderzeichen.

          Ich übernehme Diese worte ja aus dem Array in script 1 und dort sind die Worte so geschrieben, das ich sie auch anzeigen lassen kann.


          Steh irgendwie voll auf dem schlauch und finde keine passende lösung.

          In script 2 muss ich definitiv wieder die bezeichnung der spalte in der db haben um dort den richtigen wert ändern zu können.

          Kommentar

          Lädt...
          X