Tabellen werte nebeneinander ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Tabellen werte nebeneinander ausgeben

    Hallozusammen. hab dort mal eine kleine frage. Wie kann ich mit smarty die tabellen werte nebeneinander ausgeben. Bei mir gibt er diese derzeit nur untereinander aus.

    hier mal der code

    Quellcode

    1. $sql3 = "SELECT * FROM count_users ORDER BY username DESC";
    2. $result = mysql_query($sql3);
    3. $num = mysql_num_rows($result);
    4. if ($num!="0") {
    5. $x = 0;
    6. while ($row=mysql_fetch_array($result)) {
    7. $user_liste[$x]['userid']=$row["userid"];
    8. $user_liste[$x]['username']=$row["username"];
    9. $user_liste[$x]['geschlaecht']=$row["geschlaecht"];
    10. $user_liste[$x]['profilbild']=$row["profilbild"];
    11. $x ++;
    12. }
    13. }else{
    14. $msg="Derzeit sind keine Mitglieder Registriert";
    15. }
    Alles anzeigen



    Und im template

    Quellcode

    1. {foreach from=$user_liste item=user_liste}
    2. <table width="165" border="0" cellspacing="0" cellpadding="0">
    3. <tr>
    4. <td>
    5. <p><a href="#" style="color: red" class="friends_online" OnClick="javascript: fenster('index.php?site=showuseron&userid={$user_liste.userid}','Profil von {$user}',500,700)"><img src="gallary/klein/{$user_liste.profilbild}" width="62" height="67" border="0" /></a></p>
    6. <p><a href="#" style="color: red" class="friends_online" OnClick="javascript: fenster('index.php?site=showuseron&userid={$user_liste.userid}','Profil von {$user}',500,700)">{$user_liste.geschlaecht}_{$user_liste.username}</a></p></td>
    7. </tr>
    8. </table>
    9. {/foreach}
    Alles anzeigen



    Vieleicht kann mir da jemand weiter helfen.

    vielen Dank

    lg
    dragon
    Riek-Media.com - Webhosting riek-media.com
  • Hi,

    du duplizierst mit jedem Eintrag die Tabelle.

    Quellcode

    1. <table width="165" border="0" cellspacing="0" cellpadding="0">
    2. {foreach from=$user_liste item=user_liste}
    3. <tr>
    4. <td>
    5. <p><a href="#" style="color: red" class="friends_online" OnClick="javascript: fenster('index.php?site=showuseron&userid={$user_liste.userid}','Profil von {$user}',500,700)"><img src="gallary/klein/{$user_liste.profilbild}" width="62" height="67" border="0" /></a></p>
    6. <p><a href="#" style="color: red" class="friends_online" OnClick="javascript: fenster('index.php?site=showuseron&userid={$user_liste.userid}','Profil von {$user}',500,700)">{$user_liste.geschlaecht}_{$user_liste.username}</a></p></td>
    7. </tr>
    8. {/foreach}
    9. </table>
  • Hi,

    ne, das war nicht die Lösung sondern ein/das Problem.

    So siehts bei dir aus:

    Quellcode

    1. {foreach from=$user_liste item=user_liste}
    2. <table width="165" border="0" cellspacing="0" cellpadding="0">
    3. ...

    Für jeden durchlauf der Schleife erstellst du eine neue Tabelle, was wohl nicht gewollt ist, oder ?


    Ansonsten kannst du die Tabellen floaten lassen.

    Quellcode

    1. <table width="165" border="0" cellspacing="0" cellpadding="0" style="float:left;">
  • hm dann frage ich mich was ich flasch mache. Hier mal der aktuelle code

    Quellcode

    1. <div class="float50">
    2. <div class="cathead2">
    3. <h2> Die 3 neusten Mitglieder </h2>
    4. </div> <div class="contentbox"><div>
    5. <div class="clearer">
    6. <table width="165" border="0" cellspacing="0" cellpadding="0" style="float:left;">
    7. <tr> {foreach from=$user_liste item=user_liste}
    8. <td width="10">
    9. <p><a href="#" style="color: red" class="friends_online" OnClick="javascript: fenster('index.php?site=showuseron&userid={$user_liste.userid}','Profil von {$user}',500,700)"><img src="gallary/klein/{$user_liste.profilbild}" width="62" height="67" border="0" /></a></p>
    10. <p><a href="#" style="color: red" class="friends_online" OnClick="javascript: fenster('index.php?site=showuseron&userid={$user_liste.userid}','Profil von {$user}',500,700)">{$user_liste.geschlaecht}_{$user_liste.username}</a></p></td>
    11. {/foreach}
    12. </tr>
    13. </table>
    14. </div></div>
    Alles anzeigen



    So macht er es zwar nebeneinander aber geht über die seite hinhaus was er ja eigendlich nicht soll. Wollte das ganze so machen das er 5 nebeneinander anzeigt und dann eine neue Zeile anfängt mit wieder 5 stück

    Hier mal ein Bild

    [Blockierte Grafik: http://www.riek-media.de/Unbenannt.bmp]

    Besten Dank

    lg
    Dragon
    Riek-Media.com - Webhosting riek-media.com
  • Das Endergebnis müsste dann ja so aussehen:

    Quellcode

    1. <table width="165" border="0" cellspacing="0" cellpadding="0" style="float:left;">
    2. <tr>
    3. <td width="10">
    4. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    5. </td>
    6. <td width="10">
    7. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    8. </td>
    9. <td width="10">
    10. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    11. </td>
    12. <td width="10">
    13. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    14. </td>
    15. <td width="10">
    16. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    17. </td>
    18. </tr>
    19. <tr>
    20. <td width="10">
    21. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    22. </td>
    23. <td width="10">
    24. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    25. </td>
    26. <td width="10">
    27. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    28. </td>
    29. <td width="10">
    30. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    31. </td>
    32. <td width="10">
    33. <p><a href="#" style="color: red" class="friends_online" ...><img src="gallary/klein/{$user_liste.profilbild}" ... /></a></p>
    34. </td>
    35. </tr>
    36. ..
    37. </table>
    Alles anzeigen



    Dann müsstest du einen Counter zwischensetzen. Der nach 5 durchläufen immer ein tr schliesst und öffnet.

    Du müsstest aber auch die Smarty Table Funktion nutzen können.
    smarty.net/manual/de/language.function.html.table.php

    Quellcode

    1. {html_table loop=$user_liste cols=5 table_attr='width="165"'}


    Könnte sogar klappen, ist schon ein bischen her das ich Smarty benutzt habe.
  • Ja, dann arbeitet die Funktion nur mit einem eindimensionalen Array, schade eigentlich, dann musst du es doch mit dem counter machen :P

    Ich habe einen AUszug aus einem Buch gefunden, wo es sehr schön gelöst wurde.
    books.google.de/books?id=J_dzm…result&ct=result&resnum=1

    Dann brauchst du in die foreach()-Schleife nur am Ende ein Inkrement integrieren und 2 if-Konstruktionen, dass nach 5 Spalten, immer das tr geschlössen und geöffnet wird.

    Oder du setzt es direkt in das Template ein.
    Entweder mit {php}{/php} den Code selber reinschreiben oder mit derSmarty Counter Funktion. Da solltest du auch mit einer if Konstruktion drauf zugreifen können.
  • Wie baue ich das den am besten in die funktion ein ?


    Hier mal der code

    Quellcode

    1. $sql3 = "SELECT * FROM count_users ORDER BY username DESC Limit 10";
    2. $result = mysql_query($sql3) or die(mysql_error() . " in <br />" . $qry);
    3. //print_r($sql3);
    4. $num = mysql_num_rows($result);
    5. if ($num!="0") {
    6. $x = 0;
    7. while ($row=mysql_fetch_array($result)) {
    8. $user_list[$x]['userid']=$row["userid"];
    9. $user_list[$x]['username']=$row["username"];
    10. $user_list[$x]['geschlaecht']=$row["geschlaecht"];
    11. $user_list[$x]['profilbild']=$row["profilbild"];
    12. $x ++;
    13. }
    14. }else{
    15. $msg="Derzeit sind keine Mitglieder Registriert";
    16. }
    Alles anzeigen


    Weiss jetzt nicht direkt wie ich das am besten dort einpflege so das er nach 5 ausgaben einen br erzeugt.

    Quellcode

    1. if($i % 5 == 0)
    2. <br />



    Besten dank schonmal im vorraus


    EDIT
    Das war die lösung zu meinem problem.

    Quellcode

    1. {cycle values=",,,</tr><tr>"}



    lg
    Dragon
    Riek-Media.com - Webhosting riek-media.com

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Dragon4048 ()