[SQL allgemein] Problem bei der Datenausgabe

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [SQL allgemein] Problem bei der Datenausgabe

    Also bei mir zeigt er nur ein Datensatz an, jemand ein Vorschlag? hier ein auszug aus dem php code. Also will alle Datensätze angezeigt bekommen

    PHP Code:
    <td width="20" height="16"></td>
    <td width="80" align="center" class="bodytext">Username</td>
    <td width="100" align="center" class="bodytext">Group</td>
    <td width="120" align="center" class="bodytext">Joindate</td>
    <td width="140" align="center" class="bodytext">Tagline</td>
    <td width="120" align="center" class="bodytext">E-mail</td>
    <td width="180" align="center" class="bodytext">Options</td>
    </td>

    </tr>
    <tr>
    <td colspan="11" background="images/dots.gif" height="1"></td>
    </tr>
    <?php       

    $query 
    "SELECT id, name, email, DATE_FORMAT(addtime,'%d-%m-%Y %H:%i') AS addtime, 
    rang, tagline FROM User ORDER BY rang "
    ;

        
    $execq mysql_query($query) or die($error);

        if(
    mysql_num_rows($execq) == 0)
        {
            echo
    "<tr><td colspan=\"11\">&nbsp;</td></tr>";
            echo
    "<tr><td colspan=\"11\">&nbsp;</td></tr>";
            echo
    "<tr><td colspan=\"11\" align=\"center\">There are no <b>Users</b> added at this moment!</td></tr>";
        }
        else{
        
        while ( 
    $User mysql_fetch_object($execq) )
            {
               
    $Username $User->name;
            
    $Groupname $User->rang;
            
    $addtime $User->addtime
            
    $User_id $User->id;
            
    $email $User->email;
            
    $tagline $User->tagline;
        

                }
                }
                
    ?>
    EDIT:
    by TobiaZ: Bitte Regeln lesen und befolgen!
    Last edited by TobiaZ; 16-02-2006, 08:15.

  • #2
    hast du die query im php-myadmin probiert?

    Comment


    • #3
      nein habe ich nicht, hier noch die echo lines

      PHP Code:
      <td align="center"><?php if($Groupname == 3)
              {
              echo 
      "<b><i>$Username</i></b>";
              }
              elseif(
      $Groupname == 2)
              {
              echo 
      "<i>$Username</i>";
              } 
              else
              echo (
      "$Username") ;
              
      ?>
              
      <td align="center"><?php if($Groupname ==1)

      echo
      "Newbie";
      }
      elseif(
      $Groupname == 3)
      {
      echo 
      "Admin";

      else
      {
       echo 
      "Godlike"
       } 
      ?></td>
      <td align="center" class="bodytext3"><?php echo("$addtime"); ?></td>
      <td align="center"><?php echo("$tagline"); ?></td>
      <td align="center"><?php echo("$email"); ?></td>
      <td align="center"><?php echo("<a href=\"?section=listusers&sid=$User_id\"><img 
      src=\"images/edit.gif\" alt=\"Edit User 
      $Username\"     border=\"0\"></a>"); ?>
      </tr>
      <tr>
      <td colspan="11" background="images/dots.gif" height="1"></td>

      EDIT:
      by TobiaZ: Code umgebrochen.
      Last edited by TobiaZ; 16-02-2006, 08:12.

      Comment


      • #4
        nein habe ich nicht


        dann mach das mal, wieviel datensätze erhälst du?
        Die Zeit hat ihre Kinder längst gefressen

        Comment


        • #5
          Original geschrieben von derHund


          dann mach das mal, wieviel datensätze erhälst du?
          ich erhalte beide datensätze....

          "SELECT id, name, email, DATE_FORMAT(addtime, '%d-%m-%Y %H:%i') AS addtime, rang, tagline FROM User ORDER BY rang"

          Comment


          • #6
            was sagt mysql_num_rows?
            Die Zeit hat ihre Kinder längst gefressen

            Comment


            • #7
              Original geschrieben von derHund
              was sagt mysql_num_rows?
              ? nichts soll ja nur was machen, wenn mysql_num_rows == 0 ist... ansonsten soll er Wert ausgeben..... oder was meinste?

              Comment


              • #8
                wieviel datensätze erhälst du in deinem code, wenn du die anzahl per mysql_num_rows abfragst?
                Die Zeit hat ihre Kinder längst gefressen

                Comment


                • #9
                  da passiert nix O_o der hängt sich auf btw. die Seite lädt und lädt...

                  ich gibs auf
                  Last edited by Nikefly; 15-02-2006, 22:02.

                  Comment


                  • #10
                    ja, scheint besser zu sein.

                    du sollst einfach nur die anzahl übergebener datensätze ausgeben, ok? das kann wohl schlecht zu einem time-out führen?
                    Die Zeit hat ihre Kinder längst gefressen

                    Comment


                    • #11
                      Kann es sein, dass du immer den letzten Datensatz angezeigt bekommst???

                      Weil so scheint mit deine While-Schleife zu arbeiten die die $User-Objekte zuweist ;-)
                      Last edited by sambalmueslie; 16-02-2006, 10:28.

                      Comment


                      • #12
                        *move* to PHP, da die Abfrage ja offensichtlich funktioniert!

                        Comment


                        • #13
                          Original geschrieben von sambalmueslie
                          Kann es sein, dass du immer den letzten Datensatz angezeigt bekommst???

                          Weil so scheint mit deine While-Schleife zu arbeiten die die $User-Objekte zuweist ;-)
                          Also bei mir wird immer der letzte Datensatz angezeigt. Was nun?

                          Comment


                          • #14
                            Probiers doch mal so:
                            PHP Code:

                            while ( $User mysql_fetch_object($execq) )
                                    {
                                       
                            $Username $User->name;
                                       
                            $Groupname $User->rang;
                                       
                            $addtime $User->addtime
                                       
                            $User_id $User->id;
                                       
                            $email $User->email;
                                       
                            $tagline $User->tagline
                            so und hier gleich die Ausgabe mit reinmachen.
                            PHP Code:

                                     

                            Sonst wird bei jeden Schleifendurchlauf der Wert der entsprechenden Variable wieder überschreiben.
                            Was übrig bleibt ist der zuletzt eingetragene Wert.

                            Beispiel Username:
                            1. Durchlauf
                            $Username = $User->name (= Nikefly)
                            2.Durchlauf
                            $Username <- da steht noch Nikefly drinn = $User->name(=Nikefly2)
                            Also ist $Username jetzt Nikefly2
                            usw....

                            Alternativ würd ich mit arrays arbeiten und
                            mysql_fetch_assoc verwenden.

                            PHP Code:
                            $user = array();
                            while ( 
                            $thisuser mysql_fetch_assoc($execq) )
                                   
                            $user[] = $thisuser
                            Und später:

                            PHP Code:
                            foreach($user as $thisuser)
                            {
                             echo 
                            "id = " $thisuser['id'];
                             echo 
                            "name = " $thisuser['name'];
                             ...

                            Comment


                            • #15
                              Sonst wird bei jeden Schleifendurchlauf der Wert der entsprechenden Variable wieder überschreiben.
                              Was übrig bleibt ist der zuletzt eingetragene Wert.
                              OMG, wenn es daran liegt, ... naja, ich sags nicht.

                              ich bin davon ausgegangen, daß die ausgabe in der schleife erfolgt. aber du hast recht, aus dem code kann man weder das eine noch das andere schließen.
                              Die Zeit hat ihre Kinder längst gefressen

                              Comment

                              Working...
                              X