Ergebnis 1 bis 8 von 8

Thema: Rechnungen mit Datensätzen

  1. #1
    Teeny
    Registriert seit
    03.01.2011
    Beiträge
    29
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Rechnungen mit Datensätzen

    Hallo, ich habe ein Problem mit einer Rechnung. UNd zwar würde ich gerne Das Guthaben von allen Usern in der Datenbank ausrechnen lassen. Ich hab dazu ne MySQL Datenbank wo das alte Budget und die Ausgaben der User stehen. Hab dann folgendes probiert $rechnung1=$dsatz["Budget"] - $dsatz["Ausgaben"]; bekomm jedoch kein Ergebniss mehr zurück. Habe schon peer google gesucht und selbst probiert, bekomm es aber nicht hin, dass er mir das ergebniss ausgibt. Hab zwar minimale WIssens über pHP aber es funktioniert leider nicht. Wäre nett wenn mir jemand helfen könnte und sich nicht über den Code lächerlich macht. Über Verbesserungsvorschläge hätte ich ejdoch nichts einzuwenden



    PHP-Code:
    <?php
       $sqlab  
    "SELECT User, Budget, Ausgaben, Strafe, FROM Finanzen";  

       
       
    $res mysql_query($sqlab);
       
    $num mysql_num_rows($res);
            
            
    $rechnung1=$dsatz["Budget"] - $dsatz["Ausgaben"];
            
            
          
    // Tabellenbeginn
        
    echo "<table border='1'>";
        
        echo 
    "<tr> </td>";
        echo 
    "<td style='width:7%'>User</td> <td style='width:7%'>Budget</td> </td>";
        echo 
    "<td style='width:7%'>Ausgaben</td> <td style='width:7%'>Guthaben</td> </td>";
        echo 
    "</tr>";

                echo 
    $rechnung1;
                
          while (
    $dsatz mysql_fetch_assoc($res))
       {
           echo 
    "<tr>";        
        echo    
    "<td style='width:2%'>" $dsatz["User"] ."</td>";
        echo    
    "<td style='width:5%'>" $dsatz["Budget"] ."</td>";    
        echo    
    "<td style='width:5%'>" $dsatz["Ausgaben"] ."</td>";
        echo    
    "<td style='width:5%'>" $rechnung1 ."</td>";
        echo 
    "</tr>";
       }

               
    // Tabellenende
            
    echo "</table>";
    ?>

    Hätte da auch noch ein 2 Problem. Und zwar habe ich ein Formular wo ich werte übergebe. Auf der Seite wo ich dann hinkomme habe ich das Formular nochmal drinnen und darunter die ergebnisse. Jetzt würde ich es gerne so haben, dass die gesuchten Parameter wider im Formular auf der 2 Seite eingestellt sind. Geht sowas?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Fussl1 (04.01.2012 um 02:42 Uhr)

  2. #2
    Bandit
    Gast

    Standard AW: Rechnungen mit Datensätzen

    Solange ein Script nicht fertig und getestet ist, gehören diese beiden Zeilen an den Anfang:
    PHP-Code:
      error_reporting(E_ALL);
      
    ini_set("display_errors"true); 
    Bei Datenbankabfragen sollte man immer auf Fehler prüfen:
    PHP-Code:
      $res mysql_query($sqlab)
         or die (
    "MySQL-Error: " mysql_error()); 
    Und ja, man kann Formularfelder mit Werten vorbelegen, weitere Infos unter http://de.selfhtml.org/html/formulare/index.htm
    Geändert von Bandit (04.01.2012 um 08:57 Uhr)

  3. #3
    Meister(in) Avatar von DarkEmperor
    Registriert seit
    23.04.2010
    Ort
    Freital
    Alter
    24
    Beiträge
    356
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    5

    Standard AW: Rechnungen mit Datensätzen

    So, habe dein script mal schnell, auf den ersten Blick, berichtigt. Versuch mal das, es sollte jetzt funktionieren, du hattest ein paar fehler was die Reihenfolge etc. betrifft:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
      
    ini_set("display_errors"true);
    // Tabellenbeginn
    echo "<table border='1'>";
    echo 
    "<tr>";
    echo 
    "<td style='width:7%'>User</td> <td style='width:7%'>Budget</td> </td>";
    echo 
    "<td style='width:7%'>Ausgaben</td> <td style='width:7%'>Guthaben</td> </td>";
    echo 
    "</tr>";

    $sqlab  "SELECT User, Budget, Ausgaben, Strafe, FROM Finanzen"
    $res mysql_query($sqlab);
    or die (
    "MySQL-Error: " mysql_error()); 
    while (
    $dsatz mysql_fetch_assoc($res)) {
    $rechnung1=$dsatz['Budget"] - $dsatz["Ausgaben'];

    echo 
    "<tr>";        
    echo    
    "<td style='width:2%'>" $dsatz['User'] ."</td>";
    echo    
    "<td style='width:5%'>" $dsatz['Budget'] ."</td>";    
    echo    
    "<td style='width:5%'>" $dsatz['Ausgaben'] ."</td>";
    echo    
    "<td style='width:5%'>" $rechnung1 ."</td>";
    echo 
    "</tr>"; }
    $num mysql_num_rows($res);  
         
    // Tabellenende
    echo "</table>";
    ?>
    MfG
    Geändert von DarkEmperor (04.01.2012 um 14:27 Uhr)

  4. #4
    Bandit
    Gast

    Standard AW: Rechnungen mit Datensätzen

    Das liefert dir auch einen MySQL-Fehler, den du auch nicht richtig abfängst.

  5. #5
    Meister(in) Avatar von DarkEmperor
    Registriert seit
    23.04.2010
    Ort
    Freital
    Alter
    24
    Beiträge
    356
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    5

    Standard AW: Rechnungen mit Datensätzen

    Hey,
    anstatt nur zu sagen, das ist falsch wäre es evtl. hilfreicher wenn du sagen würdest welchen Fehler der dir da ausgibt und wie er zu beheben ist.
    Und die error-Reports habe ich bei mir im mer mit drin, nur habe ich mich oben erst einmal damit beschäftigt den Code an sich erst einmal zu sortieren.

    MfG

  6. #6
    Bandit
    Gast

    Standard AW: Rechnungen mit Datensätzen

    Wenn du meinen Beitrag davor gelesen hättest, wüsstest du, was in dem Script fehlt und MySQL würde dir dann schon sagen, was ihm nicht passt.

    <edit>
    Und jetzt hast du einen Parse-Error eingebaut

    PHP-Code:
    <?php
      error_reporting
    (E_ALL);
      
    ini_set("display_errors"true);

      
    // Tabellenbeginn
      
    echo "<table border='1'>
             <tr>
              <td style='width:7%'>User</td>
              <td style='width:7%'>Budget</td>
              <td style='width:7%'>Ausgaben</td>
              <td style='width:7%'>Guthaben</td>
             </tr>"
    ;

      
    $sqlab  "SELECT
                    `User`,
                    `Budget`,
                    `Ausgaben`,
                    (`Budget` - `Ausgaben`) as differenz,
                    `Strafe`,
                  FROM
                    `Finanzen`"
    ;

      
    $res mysql_query($sqlab)
         or die (
    "MySQL-Error: " mysql_error());

      while (
    $dsatz mysql_fetch_assoc($res))
      {
         echo 
    "<tr>
                 <td style='width:2%'>" 
    $dsatz['User']      . "</td>
                 <td style='width:5%'>" 
    $dsatz['Budget']    . "</td>
                 <td style='width:5%'>" 
    $dsatz['Ausgaben']  . "</td>
                 <td style='width:5%'>" 
    $dsatz['differenz'] . "</td>
              </tr>"
    ;
      }

      echo 
    "</table>";
    ?>
    </edit>
    Geändert von Bandit (04.01.2012 um 14:40 Uhr)

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    03.01.2011
    Beiträge
    29
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Rechnungen mit Datensätzen

    Hi,
    Danke euch beiden, hab nun den Aufbau geändert und auch die beiden Zeilen zur Fehlerüberprüfung mit eingefügt. Die Methode von Bandit klingt einleuchtend und funktioniert auch. Habe es mit einfachen zahlen probiert. Nun würde ich gerne 2 Summen die ich errechnen lasse, voneinander abziehen. Jedoch bekomme ich dabei immer folgende Fehlermeldung:

    PHP-Code:
    MySQL-ErrorUnknown column 'sum(CQRanking)' in 'field list' 
    PHP-Code:
    SELECT `TeamID`, `FahrerID`, `Jahr`, `Vorname`, `Nachname`, `Fahrerland`, sum(`KM`) Summe,  sum(Etappenzahl) `Summe1`, sum(`CQRanking`) `Summe2`, (`sum(CQRanking)` / `Etappenzahl`) as `rechnung1FROM CQ_Ergebnisse 
    Dass ist meine SELECT Zeile. Der Fehler liegt also hier: (`sum(CQRanking)` / `Etappenzahl`) as `rechnung1`. Hab schon einiges probiert, komm aber nicht auf die richtige Lösung.


    Zum 2 Problem. Ich kann einen Wert vorgeben, der wird dann auch angezeigt. Ich möchte ja gern den Wert wider drinnen stehen haben, den ich zuvor abgeschickt habe. Da ist mir nur die Get Methode bis jetzt bekannt. Wird sicherlich noch andere geben, jedoch sind mir diese nicht bekannt. Ich habe es probiert jedoch bekomm ich immer nur die Anweisung als Textfeld. Was mache ich falsch?

    PHP-Code:
    <form action "Fahrersuche1.php" method "get">
       <
    input name ="fahrersuchevorname" value$_GET['fahrersuchevorname']/> Vorname 
    ich hoffe der kurze ausschnitt reicht um den Fehler zu erkennen

  8. #8
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Rechnungen mit Datensätzen

    Was du falsch machst ist, dass du PHP-Code im HTML-Kontext ausführen willst. Das geht nicht. Du musst dem Parser schon genau sagen wann php kommt und er parsen muss, und wann er sich nen lauen Lenz schieben kann.
    Wenn short_open_tags auf deinem Server aktiviert sind kannst du schreiben
    PHP-Code:
    <input name="fahrersuchvorname" value="<?=$_GET['fahrersuchevorname']?>"/>
    ansonsten die lange Variante
    PHP-Code:
    <input name="fahrersuchvorname" value="<?php echo $_GET['fahrersuchevorname']?>"/>
    Zu dem SQL-Fehler: Die Backticks gehören nur um den Spaltennamen, nicht um den gesamten Ausdruck mit sum(), dadurch sucht er nach einer Spalte die eben `sum(CQRanking)`heißt. Korrekt wäre sum(`CKRanking`).
    Ich glaube du könntest da aber auch schon auf `summe2` zurückgreifen.

    Edit: Mal so nebenbei, nach was für Kriterien setzt du überhaupt die Backticks in deinem SQL-Code? Wird das ausgewürfelt?
    Geändert von SinnlosS (05.01.2012 um 02:10 Uhr)
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

Ähnliche Themen

  1. Zwei Rechnungen für Internet!
    Von Die Genervte im Forum Off Topic und Quasselbox
    Antworten: 1
    Letzter Beitrag: 14.02.2007, 20:39

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •