[SQL allgemein] Problem bei der Datenausgabe

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

  • [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!
    Zuletzt geändert von TobiaZ; 16.02.2006, 08:15.

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

    Kommentar


    • #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.
      Zuletzt geändert von TobiaZ; 16.02.2006, 08:12.

      Kommentar


      • #4
        nein habe ich nicht


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

        Kommentar


        • #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"

          Kommentar


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

            Kommentar


            • #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?

              Kommentar


              • #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

                Kommentar


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

                  ich gibs auf
                  Zuletzt geändert von Nikefly; 15.02.2006, 22:02.

                  Kommentar


                  • #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

                    Kommentar


                    • #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 ;-)
                      Zuletzt geändert von sambalmueslie; 16.02.2006, 10:28.

                      Kommentar


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

                        Kommentar


                        • #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?

                          Kommentar


                          • #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'];
                             ...

                            Kommentar


                            • #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

                              Kommentar

                              Lädt...
                              X