Hilfe mit Kategorienmodifikationen

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

  • Hilfe mit Kategorienmodifikationen

    Hey Pro-Coders :D

    Ich brauch eure hilfe. Und zwar moechte ich das meine Kategorien Titel einen Hintergrund haben und das meine Subkategorien zwei Spalten anstatt eine haben plus hintergrund. Ich hab das mal bei PS gemacht:

    So schauts gerade aus:


    Und so haette ich es gerne:


    Hier ist der code:

    Quellcode

    1. ?>
    2. <h2><img src="images/category.gif" align="absmiddle"> <?php echo $xcatname; ?></h2>
    3. <table border="0" cellspacing="1" cellpadding="2" width="100%" class="dir_cat">
    4. <?php
    5. // Directory
    6. if($dir_sort)
    7. {
    8. $sortsubcatsql = "ORDER BY subcatname";
    9. }
    10. else
    11. {
    12. $sortsubcatsql = "ORDER BY pos";
    13. }
    14. // First get ads per subcat
    15. $subcatadcounts = array();
    16. $sql = "SELECT scat.subcatid, COUNT(*) as adcnt
    17. FROM $t_ads a
    18. INNER JOIN $t_subcats scat ON scat.subcatid = a.subcatid AND ($visibility_condn)
    19. INNER JOIN $t_cities ct ON a.cityid = ct.cityid
    20. WHERE scat.enabled = '1'
    21. #$loc_condn
    22. GROUP BY a.subcatid";
    23. $res = mysql_query($sql) or die(mysql_error().$sql);
    24. while($row=mysql_fetch_array($res))
    25. {
    26. $subcatadcounts[$row['subcatid']] = $row['adcnt'];
    27. }
    28. // Subcategories
    29. $sql = "SELECT scat.subcatid, scat.subcatname AS subcatname
    30. FROM $t_subcats scat
    31. WHERE scat.catid = $xcatid
    32. AND scat.enabled = '1'
    33. $sortsubcatsql";
    34. $res= mysql_query($sql) or die(mysql_error());
    35. $i = 0;
    36. while($row=mysql_fetch_array($res))
    37. {
    38. $i++;
    39. if ($i%$dir_cols == 1 || $dir_cols == 1) echo "<tr>";
    40. $adcount = 0+$subcatadcounts[$row['subcatid']];
    41. if($sef_urls) $subcat_url = "{$vbasedir}$xcityid/posts/$xcatid/$row[subcatid]_" . RemoveBadURLChars($row['subcatname']) . "/";
    42. else $subcat_url = "?view=ads&catid=$xcatid&subcatid=$row[subcatid]&cityid=$xcityid〈=$xlang";
    43. ?>
    44. <td width="<?php echo $cell_width; ?>%">
    45. <a href="<?php echo $subcat_url; ?>">
    46. <?php echo $row['subcatname']; ?></a>
    47. <span class="count">(<?php echo $adcount; ?>)</span><br>
    48. </td>
    49. <?php
    50. if ($i%$dir_cols == 0) echo "</tr>";
    51. }
    52. ?>
    53. </table>
    Alles anzeigen


    Schoene Gruese!
    Van
  • Hi,
    schau dir dazu folgendes Thema an: Ausgabe ändern: Kategorien neben- statt untereinander

    d0nut schrieb:

    Lass die Div Container floaten (float:left)
    und gib dem umgebenden Container eine feste Breite.

    Dann hast du folgende Anordnung
    1 2
    3 4
    5 6

    oder willst du lieber...
    1 4
    2 5
    3 6

    Dann kommst du nicht umher die Anzahl an Einträgen zu zählen. Und beim erreichen der Hälfte einen neuen Container zu beginnen.
  • ich zitiere von einem anderen Thread um dir ein Beispiel zu nennen, wie man Blockelemente nebeneinander platziert.

    Aus deiner Frage wird mir dein Problem leider nicht deutlich.
    Du willst bei den Hauptkategorien von 3 Spalten auf 2 Spalten runter, und die Unterkategorien, willst du nicht alle Untereinander, sondern immer in 2er Pärchen.
  • d0nut schrieb:

    ich zitiere von einem anderen Thread um dir ein Beispiel zu nennen, wie man Blockelemente nebeneinander platziert.

    Aus deiner Frage wird mir dein Problem leider nicht deutlich.
    Du willst bei den Hauptkategorien von 3 Spalten auf 2 Spalten runter, und die Unterkategorien, willst du nicht alle Untereinander, sondern immer in 2er Pärchen.


    Also bei den Hauptkategorien will Ich nur einen Hintergrund hinzufuegen.

    Bei den Unerkategorien will ich einen hintergrund + in zwei spalten teilen sodass pro zeile, 2 spalten immer sind. hoffe das ist bisschen deutlicher.
  • d0nut schrieb:

    den Hintergrund fügst du mit background-image ein. Den Spaltenumbruch machst du wie in der äußeren Schleife mit Modulo:

    Quellcode

    1. if ($i%$dir_cols == 1 || $dir_cols == 1) echo "<tr>";


    Neben deinem beabsichtigten Ziel, habe ich dein Problem bei der Umsetzung immer noch nicht verstanden???
    Du musst das schon alleine umsetzen.


    hab das geaendert, aber nichts hat sich geaendert, also mit dem spaltenumbruch. sicher das ich da nur die zahlen aendern muss?
  • habe ich sooo zwar nicht gesagt, aber ja, wenn du $dir_cols änderst, ändert sich die Anzahl der Unterforen nach denen umgebrochen wird.
    Da du für dein ganzes Problem nur mit Schleifen und if/else arbeiten musst, würde ich dich bitten nochmal ein paar Grundlagen nachzuschauen: tut.php-quake.net/de/

    Hier ein vereinfachtes Beispiel zum experimentieren:

    Quellcode

    1. $kategorien = array('kategorie','kategorie','kategorie','kategorie','kategorie');
    2. $i = 0;
    3. foreach($kategorien as $kategorie) {
    4. $j = 0;
    5. $i++;
    6. $unterkategorien = array('unterkategorie','unterkategorie','unterkategorie','unterkategorie','unterkategorie');
    7. echo "<b>$kategorie $i/$j</b>";
    8. foreach($unterkategorien as $unterkategorie) {
    9. $j++;
    10. if($j % 2) {
    11. echo "<br/>";
    12. }
    13. echo " >> $unterkategorie $i/$j ";
    14. }
    15. echo "<br/>";
    16. }
    Alles anzeigen