ergebnis aus zwei db spalten errechnen

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

  • ergebnis aus zwei db spalten errechnen

    ok folgendes problem wo ich anscheinend zu blöd bin zum lösen :


    ich habe eine db abfrage und eine while schleife ..

    die tabelle der datenbank abfrage besteht aus 2 wichtigen feldern (plus und minus) und ich möchte nun untereinander die auflistungen machen

    $ergebnis = $plus - $minus

    und

    dann ist es bzw sollte es hinterher so aufgelistet sein
    2-1=1
    3-1=2
    4-1=3
    5-1=4
    6-1=5

    nun sammelt deraber alle werte aus der plus und minus spalte und gibt am ende ganz oben 15 aus und sonst überall 0
    (ist ein teil eines guthabensystem eines forums)
    ich gebe mal den code hierhin


    PHP-Code:
    $user_result $db_zugriff->query("SELECT * FROM
    bb"
    .$n."_user_table WHERE activation='1' ORDER by ".$by." ".$order." LIMIT ".($uproseite*($page-1)).",".$uproseite);
        
    $pages=ceil($anzahl/$uproseite);
        
    $members_view_memberbit="";
        while(
    $users $db_zugriff->fetch_array($user_result))
        {
                
    $checkgh $db_zugriff->query("SELECT * FROM bb".$n."_user_table WHERE userid='$users[userid]'");
                while(
    $usergh $db_zugriff->fetch_array($checkgh))
                {
                
    $plus $usergh['plus'];
                
    $minus $usergh['minus'];
                
    $gh $plus-$minus;
                }
    ... 
    und was dabei rauskommt ist dass der erste user in der memberliste angeblich alles guthaben hat und die andren garnix (http://heino1989.powerserver24.de/me...sts&order=DESC))
    Zuletzt geändert von heino1989; 11.06.2004, 21:51.

  • #2
    hm vielleicht was mit der syntax ?

    harlow,

    beim überfliegen is mir die zeile aufgefallen :

    PHP-Code:
    $checkgh $db_zugriff->query("SELECT * FROM bb".$n."_user_table WHERE userid='$users[userid]'"); 
    soweit ich weiss kannst du zwischen zwei " zwar eine nicht-Array variable wie z.B. $foo verwenden, allerdings kein Array.. ich würds an deiner Stelle ma mit

    PHP-Code:
    $checkgh $db_zugriff->query("SELECT * FROM bb".$n."_user_table WHERE userid='" $users['userid'] . "'"); 
    beachte : ich hab auch das $users[userid] in $users['userid'] geändert, da du sonst als Indexvariable eine nicht-initialisierte Konstante, die dann praktisch 0 darstellt, was soviel heisst wie das du auf 0 verweist .,.

    gruß moritz

    Kommentar


    • #3
      ok thx aber das ergebnis ist und belibt das selbe

      Kommentar


      • #4
        Also zunächst mal: mir erschließt sich leider nicht der Sinn der zweiten Abfrage:
        du liest in der äusseren Abfrage Datensätze aus deiner Usertabelle aus, schnappst dir von jedem dieser Datensätze die userid, und machst damit wieder eine Abfrage in genau derselben Tabelle

        Desweiteren hast du nicht die Codestelle gepostet, in der die Ausgabe deiner Wert erfolgt. Somit ist es ziemlich schwer darauf zu schliessen wieso sich deine Ausgabe anders verhält als gewünscht.
        [color=red]Geht nicht[/color] ist keine Fehlermeldung

        Kommentar


        • #5
          der sinn der zweiten abfrage ? öh kA

          ich hab nur was andres probiert weils ohne die zweite abfrage auch nicht funktioniert und das eben mein letzter versuch war ...

          da dieses forum über ein template system verfügt poste ich mal das template wo ich die variable eingefügt habe
          Code:
          <tr>
          			<td nowrap bgcolor="{tablec}" id="tablec" nowrap><font size=1 face="{font}"><b>
          <a href="members.php?mode=profile&userid=$users[userid]&boardid=$boardid$session">$usernamelist</a>
          </b></font></td>
          			<td nowrap bgcolor="{tablec}" id="tablec" align="center">$email</td>
          			<td nowrap bgcolor="{tableb}" id="tableb" align="center">$id</td>
          			<td nowrap bgcolor="{tablec}" id="tablec" align="center">$userhp</td>
          			[COLOR=red]<td nowrap bgcolor="{tablec}" id="tablec" align="center">$gh</td>[/COLOR]
          			$verw2
          			<td nowrap bgcolor="{tableb}" id="tableb" align="center">$icq</td>
          			<td nowrap bgcolor="{tablec}" id="tablec" align="center">$aim</td>
          			<td nowrap bgcolor="{tableb}" id="tableb" align="center">$yim</td>
          			<td nowrap bgcolor="{tablec}" id="tablec" align="center">
          <a href="search.php?mode=user&userid=$users[userid]&boardid=$boardid$session&rang=DESC">
          <img src="{imagefolder}/search.gif" border=0 alt="Beitr&auml;ge von $users[username] suchen"></a></td>
          			<td nowrap bgcolor="{tableb}" id="tableb" align="center">
          <a href="action.php?action=addfriend&userid=$users[userid]&boardid=$boardid$session">
          <img src="{imagefolder}/homie.gif" border=0 alt="F&uuml;ge $users[username] deine Freunde-Liste hinzu"></a></td>
          			<td nowrap bgcolor="{tablec}" id="tablec" align="center"><font size=2 face="{font}">$regdate</font></td>
          			<td nowrap bgcolor="{tableb}" id="tableb"><font size=2 face="{font}">$users[userposts]</font></td>
          		</tr>
          Zuletzt geändert von heino1989; 12.06.2004, 09:06.

          Kommentar


          • #6
            Is zwar schon n beten her, aber ich schau auch immer mal wieder nach möglichen Antworten auf ältere Fragen von mir, wobei ich es mittlerweile
            merkwürdig finde, das hier immer wieder Diskussionen einfach so sterben ohne dass die Fragenden mal sagen obs nu klappt oder nicht.
            Also mir ist die zweite while schleife hier ein Rätsel. jeder user hat doch nur eine id und ein guthaben und solange user mit der bedingung da sind
            werden die abgefragt, oder hab ich n denkfehler?Mein code würde folgendermaßen aussehen:
            PHP-Code:
            $user_result $db_zugriff->query("SELECT * FROM
            bb"
            .$n."_user_table WHERE activation='1' ORDER by ".$by." ".$order." LIMIT ".($uproseite*($page-1)).",".$uproseite);
                
            $pages=ceil($anzahl/$uproseite);
                
            $members_view_memberbit="";
                while(
            $users $db_zugriff->fetch_array($user_result))
                {
                        
            $checkgh $db_zugriff->query("SELECT * FROM bb".$n."_user_table WHERE userid='$users[userid]'");
                        
            $usergh $db_zugriff->fetch_array($checkgh)
                        
            $plus $usergh['plus'];
                        
            $minus $usergh['minus'];
                        
            $gh $plus-$minus;
                        } 
            Und tschüß
            Das Leben ist kein Ponyhof.

            Kommentar


            • #7
              OffTopic:
              wobei ich es mittlerweile merkwürdig finde, das hier immer wieder Diskussionen einfach so sterben ohne dass die Fragenden mal sagen obs nu klappt oder nicht.
              naja, zumindest bei diesem thread ist auffällig, dass die letzte antwort am WE geschrieben wurde. gut möglich, dass user sich nur am wochenende darum kümmern...

              Kommentar

              Lädt...
              X