• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Maximale anzahl von nebenstehender avatare !

skype90

Mitglied
hallo erstmal unzwar habe ich verständnis problem es geht um folgenden code

PHP:
$result=safe_query("SELECT * FROM ".PREFIX."user ORDER BY registerdate DESC LIMIT 0,9");
echo '<table style="margin-top:15px; margin-left:20px" width="100%" cellspacing="4" cellpadding="0">';
$n=0;
while($row=mysql_fetch_array($result)) {
     $username='<a style="color: #000000;" href="index.php?site=profile&amp;id='.$row['userID'].'"><b>'.$row['nickname'].'</b></a>';
     $country=flags(''.$row['country'].'');
     $avatar='<img style="height:50px;width:50px;" src="images/avatars/'.getavatar($row['avatar']).'" alt="" />';
     $avatar = '<a style="color: #000000;" href="index.php?site=profile&amp;id='.$row['userID'].'">'.$avatar.'</a>';
     $registerdate=date('d.m.y', $row['registerdate']);
     $username = htmlspecialchars($row['nickname']);
     $username= substr($row['nickname'], 0, 7);
      $username.='...';

     if($n==0 || $n%3==0) {
          echo '<tr>';
     }
     eval ("\$sc_lastregistered = \"".gettemplate("sc_lastregistered")."\";");
     echo $sc_lastregistered;
     if($n==2 || $n%3==3) {
          echo '</tr>';
     }
     $n++;
}
echo '</table>';


so gesehen habe ich das mit der schleife ect verstanden insbesondere geht es um den code hier

PHP:
 if($n==0 || $n%3==0) {
          echo '<tr>';
     }
     eval ("\$sc_lastregistered = \"".gettemplate("sc_lastregistered")."\";");
     echo $sc_lastregistered;
     if($n==2 || $n%3==3) {
          echo '</tr>';
     }
     $n++;

Der bezweckt nähmlich das maximal 3 useravatare horizontal stehen und 3 useravatare vertikal nun weiß nicht wieso das so ist ? nun könnte ich ihn einfach kopieren ohne ihn zu verstehen aber das will ich nicht also bitte ich um erklärung.

Hier ist übrigens das template dazu

HTML:
 <td valign="middle" width="1"></td>
  <td valign="middle" align="left">$avatar &nbsp; <br /><b>$username</b></td>
  <td valign="middle" align="right"></td>

Und zu letzt noch ne kleine frage was müsste ich jetzt tuhen damit ich z.b 8 avatare horizontal und sagen wir mal 20 vertikal.

mfg

skype90
 
Werbung:
Hallo,

ich versuche mich mal :O).

ORDER BY registerdate DESC LIMIT 0,9");
Das 9 Datensätze von ersten aus geladen werden. (0 steht für den ersten) also wenn 8*20=160 stück
ORDER BY registerdate DESC LIMIT 0,160");


Der Zweite Teil ist mir etwas komisch aber hier mal das ganze:
PHP:
$result=safe_query("SELECT * FROM ".PREFIX."user ORDER BY registerdate DESC LIMIT 0,160");//auf 160
echo '<table style="margin-top:15px; margin-left:20px" width="100%" cellspacing="4" cellpadding="0">';
$n=0;
while($row=mysql_fetch_array($result)) {
     $username='<a style="color: #000000;" href="index.php?site=profile&amp;id='.$row['userID'].'"><b>'.$row['nickname'].'</b></a>';
     $country=flags(''.$row['country'].'');
     $avatar='<img style="height:50px;width:50px;" src="images/avatars/'.getavatar($row['avatar']).'" alt="" />';
     $avatar = '<a style="color: #000000;" href="index.php?site=profile&amp;id='.$row['userID'].'">'.$avatar.'</a>';
     $registerdate=date('d.m.y', $row['registerdate']);
     $username = htmlspecialchars($row['nickname']);
     $username= substr($row['nickname'], 0, 7);
      $username.='...';
 
     if($n==0 || $n%8==0) { // das erster duchlauf $n 0 tr gesetzt wird und wenn $n durch 8 teilbar ist auch
          echo '<tr>';
     }
     eval ("\$sc_lastregistered = \"".gettemplate("sc_lastregistered")."\";");
     echo $sc_lastregistered;
     if($n%8==7) {// das nach 8 Avatar /tr kommt  
          echo '</tr>';
     }
$n++;
 }
echo '</table>';

Ungetestet also sicherunge von Original machen.

Cheffchen
 
Werbung:
hmm jetzt habe ich aber ein anderes problem eigentl. das selbe aber iwie will das nicht klappen unzwar geht es darum das wenn ich eine suchabfrage aller meiner mitglieder mache werden sie untereinander angezeigt da dacht ich mir ok ich mache das selbe mit den durchläufen aber iwie will es nicht klappen hier sind meine codes

registered_user.php
PHP:
/* mitglieder suche */
if($_POST['submit']) {
$entrie=mysql_real_escape_string($_POST['username']);

if(!is_numeric($entrie)) {
$select=mysql_query("SELECT * FROM `".PREFIX."user` WHERE nickname LIKE '%".$entrie."%' ");
if($select) {
 if(mysql_num_rows($select)==0) { echo '&bull; Es wurde kein Benutzer gefunden.'; return false; }
echo '';
$n=1;
while($sm=mysql_fetch_array($select)) {
$avatar='<img style="height:50px;width:50px;" src="http://www.html.de/images/avatars/'.getavatar($sm['avatar']).'" alt="" />';
$nickname = '<a href="index.php?site=profile&id='.$sm['userID'].'">'.$sm['nickname'].'';

          if($n==1 || $n%10==1) {
          echo '<tr  style="height: 8em;">';
            }
eval("\$result_usersearch = \"".gettemplate("result_usersearch")."\";");
echo $result_usersearch;
if($n%10==10) {
          echo '</tr>';
                 }



  }
 }
 echo '<div class="sm_back"><a href="index.php?site=usersearch">zur&uuml;ck</a></div>';
   return false;
   $n++;
  }
  else {
  $select=mysql_query("SELECT * FROM `".PREFIX."user` WHERE userID='".$entrie."' LIMIT 1");
   if(mysql_num_rows($select)==0) { echo '&bull; Es wurde kein Benutzer gefunden.'; return false; }
  $sm=mysql_fetch_array($select);
echo '<div class="sm_div1"><strong>Nickname</strong>:</div><div class="sm_div2"><strong>Stadt</strong>:</div><div class="sm_div3"><strong>Land</strong>:</div><div class="sm_div4"><strong>Email</strong>:</div><div class="sm_div1">&nbsp;</div>';
echo '<div class="sm_div1"><a href="index.php?site=profile&id='.$sm['userID'].'">'.$sm['nickname'].'</a></div><div class="sm_div2">'.$sm['town'].'&nbsp;</div><div class="sm_div3">'.$sm['country'].'&nbsp;</div><div class="sm_div4">'.$sm['email'].'&nbsp;</div><div class="sm_div1">&nbsp;</div>';
  }
   echo '<div class="sm_back"><a href="index.php?site=usersearch">zur&uuml;ck</a></div>';
   return false;
}/* mitglieder suche ende*/
und hier ist die html datei
HTML:
<table style="margin-top: -0.2em;margin-left:0em;" width="90%" border="0" cellspacing="0" cellpadding="0" >

    <td  valign="middle" width="1"></td>
    <td valign="middle" align="left">$avatar <br /><div></div><b>$nickname</td>
     <td valign="middle" align="right"></td>

</table>
mfg

skype90
 
Hallo,

- erstmal kurz gefragt, das $n hast du gemacht oder wird das auch woanders gebraucht?
Wenn selber dann mach $n=0 draus.
- Dein $n++ ist ausserhalb der schleife alsso ohne funktion.
- wenn auf 0 dann musst die if abfragen auch anpassen wie beim ersten.

Bin begeistert das mein versuch geklappt hat, hätte ich nicht gedacht.

Cheffchen.
 
$n habe ich selber gemacht und habe es auch rausgenommen und die anderen anweisungen die du mir genannt hast ... ich habe das problem inzwischen gelöst aber das problem ist .. wennn ich z.b. eine zweite seite meiner user habe und es weniger als 10 user sind vergrößern sich die abstände der user ..
 
Werbung:
Zurück
Oben