• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem beim rechnen mit PhP

Ritschie

Neues Mitglied
Hi

Ich weis das sowas eig. Kinderleicht ist^^ aber irgendwie häng ich^^

Ich will einen Rechner für ein OGame schreiben.
Dieser soll wie folgt aussehen: Schiffsrechner

Da ich ihn aber ein wenig erweitern wollte und der Author des rechners nicht mehr spielt, wollte ich den Rechner nachbauen (mit anderem Design und eig. Code usw.) um ihn dannach anpassen zu können.

Jedoch schon nachdem ich das Grundgerüst fertig hatte stieß ich auf ein Problem welches ich nicht im Stande bin zu lösen....

Hier der Code:

PHP:
<!-- Absendebutton -->
<input name="submit" value="berechnen" type="submit">

<tr>
    <td>
    <!-- Schiffstyp -->
    Hornet
    </td>
    
    <td>
    <!-- Mengeneingabefeld -->
      <input typ="text" size="5" name="wert1" value="" align="right">
    </td>
    
    <td align="right" width="80">
        <?php
        /* ERZ */
            if ($Button == "berechnen") {
            echo $_POST['wert1'] * 650;
                }    else {
                    echo "0" ;
                    };
        ?>
    </td>
    
    <td align="right" width="80">
        <?php
        /* Titanium */
            if ($Button == "berechnen") {
            echo $_POST['wert1'] * 300;
                }    else {
                    echo "0" ;
                    };
        ?>
    </td>
    
    <td align="right" width="80">
        <?php
        /* Legierungen */
            if ($Button == "berechnen") {
            echo $_POST['wert1'] * 250;
                }    else {
                    echo "0" ;
                    };
        ?>
    </td>
    
    <td align="right" width="80">
        <?php
        /* Kristalle */
            if ($Button == "berechnen") {
            echo $_POST['wert1'] * 70;
                }    else {
                    echo "0" ;
                    };
        ?>
    </td>
    
    <td align="right" width="80">
        <?php
        /* Deuterium */
            if ($Button == "berechnen") {
            echo $_POST['wert1'] * 25;
                }    else {
                    echo "0" ;
                    };
        ?>
    </td>
</tr>

Jedes mal wenn ich auf Berechnen gehe, löscht er das gesamte Formular....
sprich er speichert die eingaben nicht.
Wie kann ich das ändern?

grüsse Ritschie
 
SELFHTML: HTML/XHTML / Formulare / Formulare definieren

ich sehe kein formular, alle form einträge fehlen.
das ganze also in ein formular packen und die werte übergeben (oder den kompletten formular code posten)

bei der menge eventuell mit sessions arbeiten ?

ach ja, deine werte werden immer per default auf leer gesetzt:
falsch:
Code:
[COLOR=#000000]<input typ="text" size="5" name="wert1" value="" align="right">
    </td>[/COLOR]
eventuell richtig:
Code:
[COLOR=#000000]<input typ="text" size="5" name="wert1" value="<?=$_POST['wert1']?>" align="right">
    </td>[/COLOR]
 
genau,
du musst auch nach dem absenden den neuen Wert in das Eingabefeld bringen ;)

Sonst ist klar dass das Feld leer ist.
Auch das mit dem Formular solltest du falls noch nicht erledigt machen, da sonst nix geht ;)

z.B.:
Code:
<form action="index.php" method="POST">
<!-- Hier dein ganzer Code -->
</form>
 
So ich hab es jetzt geschafft das der rechner so wie ich will rechnet^^

zumindest bei dem ersten schiff^^
is halt n haufen tipperei^^

danke euch =)
 
du kannst dir die tipperei auch sparen ;)

mach ne db mit den schiffeinträgen

dann erzeugst du dynamisch zu jedem schiff die entsprechende zeile!
;) so wird das gemacht
 
ich bin davon ausgegangen das der schiffsrechner net das einzige is was er da vor hat ;)

wenn da noch dies und das rundherum entsteht kann es mit ner textdatei schnell zu neige gehen!
Aber das muss er natürlich selber entscheiden.
 
In der zwischenzeit hat sich einiges getan^^

DB dafür hab ich schon^^
Ein bekannter hat ein kleines ebaytool erstellt und da hat er auch die preise für die schiffe drin.

steh aber wieder mal^^

Und zwar hab ich das ganze jetzt etwas anders gemacht: Schiffsrechner

Man wählt aus wer bauen soll, es wird über die DB geprüft wer was bauen kann, und dann soll das angezeigt und weiter verwendet werden.

Mein Problem:
Ich hab ein DropDownMenü in welchem der schiffsname steht und der wert auch dem schiffsnamen entspricht.
Die namen kommen alle aus der DB.

Ich will jetzt noch dazu rechnen.

Der wert für den schiffsnamen heisst: shiffe_intern
Ich brauche jetzt eine Abfrage an die DB welche mir die Spalten:
ship_erz
ship_titanium
ship_legierungen
ship_kristall
und ship_deuterium
zu dem schiff mit dem Namen '$shiffe_intern' besorgt.

mein jetziger versuch sieht so aus:

Code:
<?php
    if ($schiffe_intern == '') {
       echo "fehler 101";

    } else {
       $query_Schiffe = "SELECT *
                       FROM ships
                       WHERE ship_name ='.$schiffe_intern'";
       $ship_price = mysql_query($query_Schiffe , $db);
       $ship_price_row = mysql_fetch_assoc($ship_price);

       echo $ship_price_row[ship_erz];

     };    
?>

Doch der Array $ship_price_row[ship_erz] gibt mir nichts aus er bleibt leer....

ich versuch hier schon seit stunden das irgendwie zu lösen aber ich komm einfach nicht dahinter...
 
Zurück
Oben