automatisch neue Spalte anfangen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

automatisch neue Spalte anfangen

Beitrag von Kiss News »

Hallo!
Ich würde gerne im "Sonderangebote"-Block meiner Auktion nach 5 Auktionen eine neue Spalte anfangen, insgesamt dann 3 Spalten, was insgesamt 15 Auktionen ergibt.

Automatisch wird immer nur eine einzige Spalte dargestellt:
http://web148.silverline-s13.de/phpbb2/ ... m.php?ar=1
Im ACP kann man festlegen, wieviele Auktionen in dem Block dargestellt werden sollen. Spalten kann man nicht einstellen.

Es soll also eine neue Spalte, keine neue Seite angefangen werden. Über den gesamten Bereich gehen sich schön 3 Spalten aus. Wenn ich im ACP also "15" einstelle, sollten diese 15 Auktionen dann in den 3 Spalten zu je 5 automatisch aufgeteilt werden.

Gibt es dafür vielleicht einen bekannten Codeschnipsel, den ich dafür einbauen kann oder sogar einen Mod? Es werden ja überall immer nur neue Seiten angefangen, aber keine neuen Spalten....
Danke!
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

geht es um den block, der da in der mitte mit fünf artikeln untereinander steht?
Buchtips.net bietet mehr als 2500 Buchrezensionen
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

Beitrag von Kiss News »

ja, Block "Sonderangebote"
Benutzeravatar
Nico Haase
Mitglied
Beiträge: 1100
Registriert: 10.08.2003 15:19
Wohnort: Neu-Anspach / Darmstadt
Kontaktdaten:

Beitrag von Nico Haase »

hmm, gib mir mal ne url zum download des mods, dann kann ich mal gucken, was möglich ist
Buchtips.net bietet mehr als 2500 Buchrezensionen
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

Beitrag von Kiss News »

ich habe ziemlich viel verändert in der Auktion, da der original-Mod einige Bugs und nicht viele Features enthält, wo ich gerade dabei bin, alles auszubügeln. Ich kann Dir aber gerne einen Zugang zum Testforum geben per PN oder ich poste die zuständige Datei hier...
Vielen Dank für Deine Hilfe :)

update: hier der Downloadlink: http://www.phpbb-auction.com/dload.php?action=file&id=1
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

Beitrag von Kiss News »

ich denke, der Code dazu wäre in der functions_blocks.php, wo man da etwas ändern müsste:

Code: Alles auswählen

function includeAuctionSpecialBlock()
     {
          global $template, $lang, $db, $board_config, $userdata, $phpEx, $images;
          $auction_config_data = init_auction_config();

          // Just display if switched on via ACP
          if ( $auction_config_data['auction_block_display_specials'] == 1 )
               {
		     $sql = "SELECT PK_auction_offer_id,
                                    auction_offer_title,
                                    auction_offer_picture,
                                    auction_offer_time_stop
                             FROM " . AUCTION_OFFER_TABLE . "
                             WHERE auction_offer_state=0 AND
                                   auction_offer_special=1 AND
                                   auction_offer_paid=1 AND
                                   auction_offer_time_stop > " . time () . "
                             ORDER BY auction_offer_time_stop DESC
                             LIMIT 0, " . $auction_config_data['auction_block_specials_limit'] . "";

                     if ( !($result = $db->sql_query($sql)) )
		          {
			       message_die(GENERAL_ERROR, 'Could not query news', '', __LINE__, __FILE__, $sql);
                          } // End if

                     $specials_count = 0;
		     $specials_row = array();
		     while( $row = $db->sql_fetchrow($result) )
                          {
			       $specials_row[] = $row;
			       $specials_count++;
                          } // End while

		     $template->assign_block_vars('special_block', array(
                          'L_AUCTION_SPECIAL_OFFERS_TITLE' => $lang['auction_special_offers']));

		for ( $i = ($specials_count-1); $i > -1; $i--)
		     {
			$auction_offer_id = $specials_row[$i]['PK_auction_offer_id'];

			// BEGIN include auction-pic-config information
			$auction_config_pic = init_auction_config_pic();
			// END include auction-pic-config information
			// get info for admin and mod. Admin and mod see the offer-pic even if it has not been validated yet
			// this is only valid if validation is active
			if($auction_config_pic['auction_offer_pic_approval_admin'] == 1)
			     {
				if( ($userdata['user_level'] == ADMIN) OR ($userdata['user_level'] == MOD) )
				     {
					$x_sql = "";
				     }
				else
				     {
					$x_sql = "AND pic_approval = 0 AND pic_lock = 0 ";
				     }
			     }
			else
			     {
				if( ($userdata['user_level'] == ADMIN) OR ($userdata['user_level'] == MOD) )
				     {
					$x_sql = "";
				     }
				else
				     {
					$x_sql = "AND pic_lock = 0 ";
				     }
			     }

			// specials pictures
			$sql = "SELECT pic_id, crop_id
				FROM " . AUCTION_IMAGE_TABLE . "
				WHERE pic_auction_id = '$auction_offer_id' AND
                                      pic_main = 1 $x_sql";

			if( !($result = $db->sql_query($sql)) )
			     {
				message_die(GENERAL_ERROR, 'Could not get pic  special-offer information  for auction id: ' . $auction_offer_id, '', __LINE__, __FILE__, $sql);
			     }

			$pic_row = $db->sql_fetchrow($result);

			$mini_pic_id = $pic_row['pic_id'];
			$mini_crop_id = $pic_row['crop_id'];

			if ($mini_pic_id > 0 )
			     {
				$pic_yes = 1;
				$image_url = append_sid('auction_thumbnail.' . $phpEx . '?pic_type=3&crop=' . $mini_crop_id . '&pic_id=' . $mini_pic_id);
				$pic_width = $auction_config_pic['auction_offer_mini_size'];
				$pic_height = $auction_config_pic['auction_offer_mini_size'];
			     }
			else
			     {
				$pic_yes = 0;
			     }

			// special pictures end
			$template->assign_block_vars('special_block.special_offer_block', array(
                             'AUCTION_SPECIAL_TITLE' => subStr($specials_row[$i]['auction_offer_title'],0,30),
                             'U_AUCTION_SPECIAL_TITLE' => append_sid("auction_offer_view.php?" . POST_AUCTION_OFFER_URL . "=" . $specials_row[$i]['PK_auction_offer_id']),
			     'AUCTION_SPECIAL_END' => datediff( time() ,$specials_row[$i]['auction_offer_time_stop']),
			     'AUCTION_SPECIAL_IMAGE' => ( $pic_yes == 0 ) ? '<a href="' . append_sid("auction_offer_view.php?" . POST_AUCTION_OFFER_URL . "=" . $specials_row[$i]['PK_auction_offer_id']) . '"><img src="' . $images['icon_auction_no_pic'] . '" alt="' . $lang['auction_user_rating_view_offer'] . '" title="' . $lang['auction_user_rating_view_offer'] . '" border="0" /></a>' : '<a href="' . append_sid("auction_offer_view.php?" . POST_AUCTION_OFFER_URL . "=" . $specials_row[$i]['PK_auction_offer_id']) . '"><img src="'.$image_url . '" width="'.$pic_width.'" height="'.$pic_height.'" alt="' . $lang['auction_user_rating_view_offer'] . '" title="' . $lang['auction_user_rating_view_offer'] . '" border="0" /></a>'));
		} // End for
	} // End if
} // End function
meine PHP Kenntnisse sind zwar sehr bescheiden, aber ich nehme an, dass das etwa hier ist:

Code: Alles auswählen

for ( $i = ($specials_count-1); $i > -1; $i--) 
das müsste die Anzahl der angezeigten Auktionen sein... da müsste man vielleicht einen Code einfügen, der alle 5 Auktionen eine neue Spalte anfangen lässt :roll:
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Tja grundlegendes Mathe was fehlt bei einem bisschen Copy & Paste.....

Stichwort mit der Restmenge arbeiten......

Code: Alles auswählen

if ($i%5 == 0)
Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....
Kiss News
Mitglied
Beiträge: 1640
Registriert: 31.05.2004 02:04
Wohnort: Österreich
Kontaktdaten:

Beitrag von Kiss News »

Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....
um was lesen zu können, müsste man die Sprache beherrschen, was ich eben leider nicht kann...
ich habe den Code an mehreren Stellen probiert, hat aber nicht geklappt. :x
Benutzeravatar
MrMind
Mitglied
Beiträge: 464
Registriert: 29.11.2003 17:14
Wohnort: Darmstadt/Odw
Kontaktdaten:

Beitrag von MrMind »

Kiss News hat geschrieben:
Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....
um was lesen zu können, müsste man die Sprache beherrschen, was ich eben leider nicht kann...
ich habe den Code an mehreren Stellen probiert, hat aber nicht geklappt. :x
Dann gebe ich dir nur einen Tipp: Kauf dir ein gutes PHP-Buch und lese es durch, neben bei holst du dir die PHP Manual noch auf deinen Rechner und lernst erstmal PHP. Dann sind solche kleine Probleme kein Problem mehr für dich und du bist komplett selbständig ;)

Wenn User sich an PHP zu schaffen machen die keine Ahnung haben, werden die Scripte zu 90% unsicher bzw. es entstehen leichte Sicherheitslücken die für Angreifer kein Problem darstellen (Stichwort ist: XSS und SQL-Injection).

Es ist net bös gemeint, aber wenn du an den PHP Dateien rumfummelst und was änderst ohne genau zu wissen was du da machst und was du im Hinterkopf haben solltest, ist das gejammer groß wenn das Board auf einmal gehackt bzw. gelöscht wurde.

Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Kiss News hat geschrieben:
Wo das hingehört sollte bei einer zeilenweisen Auslesung klar sein....
um was lesen zu können, müsste man die Sprache beherrschen, was ich eben leider nicht kann...
ich habe den Code an mehreren Stellen probiert, hat aber nicht geklappt. :x
Mit Zeilenweiser Auslesung meinte ich die Schleife die die Ausgabe generiert......

Mr. Mind hat recht du begibst dich in unsichere Gebilde......

Naja wahllos rumprobieren ohne mal ....... ist doch ....... :roll:
Antworten

Zurück zu „Coding & Technik“