[MSSQL] Berechnungen im aktuellen Datensatz

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

  • [MSSQL] Berechnungen im aktuellen Datensatz

    Hallo,

    am Rande der Verzweiflung frage ich euch :

    Ich habe eine Mysql Datenbank (Tabelle Telefonbuch) erstellt, u.a. mit der Spalte ID, TestA und TestB die in der Abfrage auf der php-Seite zusammengerechnet in der Spalte Summe dargestellt werden sollen ... also nicht alle der Spalte sondern nur der aktuell angezeigte datensatz.

    SELECT abs(testa+testb) as summe
    FROM Telefonbuch

    Also wenn ich einen speziellen Datensatz berechnen will schreibe ich

    Where ID = '1'

    Soviel ist klar und das funktioniert ja auch ... ABER wie beim aktuell angezeigten Datensatz?

    ********************************************************************
    kompletter Quellcode:
    ********************************************************************

    PHP-Code:
    <?php require_once('Connections/Verbindung1.php'); ?>

    <?php
    if (!function_exists("GetSQLValueString")) {
    function 
    GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue "")
    {
    $theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

    $theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

    switch (
    $theType) {
    case 
    "text":
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
    break;
    case 
    "long":
    case 
    "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case 
    "double":
    $theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
    break;
    case 
    "date":
    $theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
    break;
    case 
    "defined":
    $theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
    break;
    }
    return 
    $theValue;
    }
    }

    $currentPage $_SERVER["PHP_SELF"];

    $maxRows_nabfrage 1;
    $pageNum_nabfrage 0;
    if (isset(
    $_GET['pageNum_nabfrage'])) {
    $pageNum_nabfrage $_GET['pageNum_nabfrage'];
    }
    $startRow_nabfrage $pageNum_nabfrage $maxRows_nabfrage;

    mysql_select_db($database_Verbindung1$Verbindung1);
    $query_nabfrage "SELECT * FROM Telefonbuch";
    $query_limit_nabfrage sprintf("%s LIMIT %d, %d"$query_nabfrage$startRow_nabfrage$maxRows_nabfrage);
    $nabfrage mysql_query($query_limit_nabfrage$Verbindung1) or die(mysql_error());
    $row_nabfrage mysql_fetch_assoc($nabfrage);

    if (isset(
    $_GET['totalRows_nabfrage'])) {
    $totalRows_nabfrage $_GET['totalRows_nabfrage'];
    } else {
    $all_nabfrage mysql_query($query_nabfrage);
    $totalRows_nabfrage mysql_num_rows($all_nabfrage);
    }
    $totalPages_nabfrage ceil($totalRows_nabfrage/$maxRows_nabfrage)-1;

    $maxRows_test 1;
    $pageNum_test 0;
    if (isset(
    $_GET['pageNum_test'])) {
    $pageNum_test $_GET['pageNum_test'];
    }
    $startRow_test $pageNum_test $maxRows_test;

    mysql_select_db($database_Verbindung1$Verbindung1);
    $query_test "SELECT abs(testa+testb) as summe FROM Telefonbuch Where ID = '1' ";
    $query_limit_test sprintf("%s LIMIT %d, %d"$query_test$startRow_test$maxRows_test);
    $test mysql_query($query_limit_test$Verbindung1) or die(mysql_error());
    $row_test mysql_fetch_assoc($test);

    if (isset(
    $_GET['totalRows_test'])) {
    $totalRows_test $_GET['totalRows_test'];
    } else {
    $all_test mysql_query($query_test);
    $totalRows_test mysql_num_rows($all_test);
    }
    $totalPages_test ceil($totalRows_test/$maxRows_test)-1;

    $queryString_nabfrage "";
    if (!empty(
    $_SERVER['QUERY_STRING'])) {
    $params explode("&"$_SERVER['QUERY_STRING']);
    $newParams = array();
    foreach (
    $params as $param) {
    if (
    stristr($param"pageNum_nabfrage") == false &&
    stristr($param"totalRows_nabfrage") == false) {
    array_push($newParams$param);
    }
    }
    if (
    count($newParams) != 0) {
    $queryString_nabfrage "&" htmlentities(implode("&"$newParams));
    }
    }
    $queryString_nabfrage sprintf("&totalRows_nabfrage=%d%s"$totalRows_nabfrage$queryString_nabfrage);
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Unbenanntes Dokument</title>
    </head>

    <body>
    <p><?php echo $row_nabfrage['testa']; $testa?></p>
    <p><?php echo $row_nabfrage['testb']; $testb?></p>
    <p><?php echo $row_test['summe']; ?></p>
    <p>&nbsp;</p>
    </body>
    </html>

    <?php
    mysql_free_result
    ($nabfrage);

    mysql_free_result($test);
    ?>
    Zuletzt geändert von saxnot; 29.12.2007, 19:17.

  • #2
    benutze bitte für deinen code die php-tags (button php) und rücke ihn entsprechend ein, damit ihn vernünftig lesen kann. und poste bitte nur den relevanten abschnitt, keiner hat lust, sich durch den kompletten code zu wühlen.

    und könntest du deine frage bitte präziser stellen? ich weiss ehrlich gesagt überhaupt nicht, was du willst.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      gut ... kurz gesagt -->

      wie verweise ich im code auf den aktuell angezeigt datensatz, so dass nur dieser berechnet wird?

      Kommentar


      • #4
        Definiere "aktuell angezeigten Datensatz".
        Brich deinen Code um.

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Definiere "aktuell angezeigten Datensatz".
          der Datensatz der mir gerade auf der php-seite angezeigt (ausgeben wird) wird und dann beim navigieren eben auch bei Nächsten uns so weiter ...

          also z.B.

          ID: 1
          testa: 234
          testb: 26

          dann möchte ich das Ergebnis angezeigt bekommen

          Summe: 260

          Brich deinen Code um.
          ???

          Kommentar


          • #6
            Also wenn ich das richtig verstanden habe willst du einfach nur
            $row_nabfrage['testa']; $row_nabfrage['testb'];
            zusammenrechnen ?
            PHP-Code:
            <?
             $summe = $row_nabfrage['testa'] + $row_nabfrage['testb'];
                   echo $summe;
            ?>

            Kommentar


            • #7
              Also wenn ich Navigiere mit

              PHP-Code:
               <tr>
                  <td><?php if ($pageNum_nabfrage 0) { // Show if not first page ?>
                        <a href="<?php printf("%s?pageNum_nabfrage=%d%s"$currentPage0$queryString_nabfrage); ?>">Erster</a>
                        <?php // Show if not first page ?>
                  </td>
                  <td><?php if ($pageNum_nabfrage 0) { // Show if not first page ?>
                        <a href="<?php printf("%s?pageNum_nabfrage=%d%s"$currentPagemax(0$pageNum_nabfrage 1), $queryString_nabfrage); ?>">Zur&uuml;ck</a>
                        <?php // Show if not first page ?>
                  </td>
                  <td><?php if ($pageNum_nabfrage $totalPages_nabfrage) { // Show if not last page ?>
                        <a href="<?php printf("%s?pageNum_nabfrage=%d%s"$currentPagemin($totalPages_nabfrage$pageNum_nabfrage 1), $queryString_nabfrage); ?>">Vor</a>
                        <?php // Show if not last page ?>
                  </td>
                  <td><?php if ($pageNum_nabfrage $totalPages_nabfrage) { // Show if not last page ?>
                        <a href="<?php printf("%s?pageNum_nabfrage=%d%s"$currentPage$totalPages_nabfrage$queryString_nabfrage); ?>">Letzter</a>
                        <?php // Show if not last page ?>
                  </td>

              gekomme ich immer das gleiche Ergebnis

              Kommentar


              • #8
                danke euch !!!


                ist perfekt ...


                PHP-Code:

                <?
                 $summe = $row_nabfrage['testa'] + $row_nabfrage['testb'];
                       echo $summe;
                ?>

                Kommentar


                • #9
                  Original geschrieben von saxnot
                  ???
                  http://php-resource.de/forum/showthr...threadid=47906
                  Letzter Teil vom ersten Post.

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar

                  Lädt...
                  X