reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
vakat
Δημοσιεύσεις: 18
Εγγραφή: 25 Δεκ 2007 10:57

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από vakat » 10 Νοέμ 2009 21:39

τι αλλαγή πρέπει να κάνω στο .php file ακολουθεί στο παρακάτω παράδειγμα ούτως ώστε ότι προσθέτω στο site μου να μπαίνει πάντα πρώτο?

Κώδικας: Επιλογή όλων

<?php
/*
	OXYLUS Development web framework
	copyright &#40;c&#41; 2002-2007 OXYLUS Development
		web&#58;  www.oxylus.ro
		mail&#58; support@oxylus.ro		

	$Id&#58; name.php,v 0.0.1 dd/mm/yyyy hh&#58;mm&#58;ss oxylus Exp $
	description
*/

// dependencies

/**
* description
*
* @library	
* @author	
* @since	
*/
class COXYMallGallery extends CPlugin&#123;	
	
	var $tplvars; 

	function COXYMallGallery&#40;&#41; &#123;
		//$this->CPlugin&#40;$db, $tables , $templates&#41;;
	&#125;

	function DoEvents&#40;&#41;&#123;
		global $base, $_CONF, $_TSM , $_VARS , $_USER , $_BASE , $_SESS;

		parent&#58;&#58;DoEvents&#40;&#41;;

		if &#40;$_GET&#91;"sub"&#93; == "oxymall.plugin.gallery.xml"&#41; &#123;
			return $this->GenerateXML&#40;&#41;;
		&#125;
	&#125;

	function GenerateXml&#40;&#41; &#123;
		global $base;

		$this->module->plugins&#91;"modules"&#93;->MimeXML&#40;&#41;;

		$this->tpl_module = $this->module->plugins&#91;"modules"&#93;->LoadModuleInfo&#40;&#41;;

		$template = new CTemplate&#40;$this->tpl_path . "main.xml"&#41;;

		//get all the categories

		//load the images for this module
		$cats = $this->db->QFetchRowArray&#40;
			"SELECT * FROM &#123;$this->tables&#91;'plugin&#58;gallery_cats'&#93;&#125; " .
			"WHERE module_id=&#123;$this->tpl_module&#91;mod_id&#93;&#125; ORDER BY cat_order ASC"
		&#41;;

		$this->module->EncodeItems&#40;
			&$cats, 
			array&#40;					
				"cat_title" , 
				"cat_url" , 
				"cat_urltitle" , 
			&#41;
		&#41;;

		if &#40;is_array&#40;$cats&#41;&#41; &#123;
			foreach &#40;$cats as $key => $val&#41; &#123;

				$items = $this->db->QFetchRowArray&#40;
						"SELECT * FROM &#123;$this->tables&#91;'plugin&#58;gallery_items'&#93;&#125; " .
						"WHERE module_id=&#123;$this->tpl_module&#91;mod_id&#93;&#125; AND item_cat=&#123;$val&#91;cat_id&#93;&#125; ORDER BY item_order ASC"
					&#41;;

				$this->module->EncodeItems&#40;
					&$items, 
					array&#40;					
						"item_title" , 
						"item_url" , 
						"item_urltitle" , 
					&#41;
				&#41;;

				if &#40;is_array&#40;$items&#41;&#41; &#123;
					foreach &#40;$items as $k => $v&#41; &#123;
						if &#40;$v&#91;"item_video"&#93;&#41; &#123;
							$items&#91;$k&#93;&#91;"source"&#93; = "videos/" . $v&#91;"item_id"&#93; . "/" . $v&#91;"item_video_file"&#93;;
//							RewriteRule ^upload/portfolio/videos/&#40;&#91;0-9&#93;+&#41;/&#40;&#91;^/&#93;+&#41;.&#40;&#91;^/&#93;+&#41;$	upload/portfolio/video_$1.flv

						&#125; else 
							$items&#91;$k&#93;&#91;"source"&#93; = "" . $v&#91;"item_id"&#93; . ".jpg";						
					&#125;
				&#125;

				$cats&#91;$key&#93;&#91;"items"&#93; = $base->html->table&#40;
					$template , 
					"Items",
					$items
				&#41;;
			&#125;			
		&#125;
		
		return CTemplateStatic&#58;&#58;Replace&#40;
			$template->blockReplace&#40;
				"Main" ,
				array&#40;
					"mod_title" => $this->tpl_module&#91;"mod_long_name"&#93;,
					"mod_urltitle" => $this->tpl_module&#91;"mod_urltitle"&#93;,
					"mod_url" => $this->tpl_module&#91;"mod_url"&#93;,

					"items" => $base->html->Table&#40;
						$template,
						"Cats",
						$cats
					&#41;
				&#41;
			&#41;,
			$this->tpl_module&#91;"settings"&#93;
		&#41;;
		
	&#125;
	

&#125;

?>
ευχαριστώ εκ των προτέρων
Τελευταία επεξεργασία από το μέλος vakat την 12 Νοέμ 2009 18:16, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από fafos » 10 Νοέμ 2009 21:49

opou ASC to kaneis DESC

kai vaze ton kodika anamesa sta [ code ]...kodikas.. [/code ]
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...


Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από dva_dev » 10 Νοέμ 2009 22:33

Αν ο πίνακας $this->tables['plugin:gallery_cats'] έχει και κάποιο πεδίο autoincrement π.χ. id θα προσθέσεις στη συνθήκη "ORDER BY cat_order ASC" και αυτό το πεδίο σε desc.
Π.χ.

Κώδικας: Επιλογή όλων

...ORDER BY cat_order ASC, id DESC

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από ThyClub » 10 Νοέμ 2009 23:19

http://www.freestuff.gr/forums/viewtopic.php?t=46133

Με τόσα θέματα που άνοιξες λογικό είναι να σε μπερδέψαμε ε;

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από Basilakis » 10 Νοέμ 2009 23:39

Χάθηκε το άλλο, το πήρε η χαβούζα... ΕΝΑ ΘΕΜΑ ΑΝΟΙΧΤΟ ΜΟΝΟ!

vakat
Δημοσιεύσεις: 18
Εγγραφή: 25 Δεκ 2007 10:57

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από vakat » 11 Νοέμ 2009 21:53

ευχαριστώ πολύ παιδιά για τις απαντήσεις......η αλήθεια είναι ότι μπερδεύτηκα.....διάβασα προσεκτικά αυτά που μου είπατε και δοκίμασα όλους (μάλλον) τους πιθανούς τρόπους όπως τον παρακάτω¨

όπου είχα στην γραμμή 55 :
"WHERE module_id={$this->tpl_module[mod_id]} ORDER BY cat_order ASC"
);

έβαλα: "WHERE module_id={$this->tpl_module[mod_id]} ORDER BY cat_order ASC, id DESC"
);

όπου είχα στην γραμμή 70 : "WHERE module_id={$this->tpl_module[mod_id]} AND item_cat={$val[cat_id]} ORDER BY item_order ASC"
);

έβαλα: "WHERE module_id={$this->tpl_module[mod_id]} AND item_cat={$val[cat_id]} ORDER BY item_order ASC, id DESC"
);

δυστυχώς όμως πάλι δεν δούλεψε....ούτε καν άνοιγε το site......δεν ξέρω τι να κάνω...

αν βοηθάει να σας πω ότι στο αντίστοιχο φορουμ έδωσαν ενα update για το το ίδιο θέμα αλλά για τα news module το οποίο είχε ως εξής:

News appears in the reversed order 19-July-2009

Open the file located in
admin/modules/oxymall/plugins/site.news.php

go on line: 51
"WHERE module_id={$this->tpl_module[mod_id]} ORDER BY item_order ASC"

change with
"WHERE module_id={$this->tpl_module[mod_id]} ORDER BY item_date DESC" και μετά φυσικά δούλευε κανονικά όπως πρέπει.........τι να πω σηκώνω τα χέρια ψηλά......περιμένω αυτόν τον μ.......... σχεδόν 5 μήνες τώρα για μερικές αλλάγές στο site μου και έμεινε αυτό για να τελειώσω και ακόμη περιμένω και με πάει από αύριο σε αύριο.......

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από vassilism » 12 Νοέμ 2009 02:37

Δοκίμασες να αλλάξεις μόνο το ASC με DESC?
Δηλαδή να γίνει έτσι:

Κώδικας: Επιλογή όλων

"WHERE module_id=&#123;$this->tpl_module&#91;mod_id&#93;&#125; ORDER BY cat_order DESC "&#41;;

vakat
Δημοσιεύσεις: 18
Εγγραφή: 25 Δεκ 2007 10:57

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από vakat » 12 Νοέμ 2009 14:48

καλησπέρα
το δοκίμασα κι αυτό και στις 2 γραμμές (αλλά και μόνο στην μια) αλλά δεν δούλεψε....δεν ανοίγει καν το site έχω απηυδήσει και δεν ξέρω τι να κάνω και ο μ........ ο developer με παει από εβδομάδα σε εβδομάδα......

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από ThyClub » 12 Νοέμ 2009 14:57

Try this:

Κώδικας: Επιλογή όλων

<?php
/*
   OXYLUS Development web framework
   copyright &#40;c&#41; 2002-2007 OXYLUS Development
      web&#58;  www.oxylus.ro
      mail&#58; support@oxylus.ro      

   $Id&#58; name.php,v 0.0.1 dd/mm/yyyy hh&#58;mm&#58;ss oxylus Exp $
   description
*/

// dependencies

/**
* description
*
* @library   
* @author   
* @since   
*/
class COXYMallGallery extends CPlugin&#123;   
   
   var $tplvars;

   function COXYMallGallery&#40;&#41; &#123;
      //$this->CPlugin&#40;$db, $tables , $templates&#41;;
   &#125;

   function DoEvents&#40;&#41;&#123;
      global $base, $_CONF, $_TSM , $_VARS , $_USER , $_BASE , $_SESS;

      parent&#58;&#58;DoEvents&#40;&#41;;

      if &#40;$_GET&#91;"sub"&#93; == "oxymall.plugin.gallery.xml"&#41; &#123;
         return $this->GenerateXML&#40;&#41;;
      &#125;
   &#125;

   function GenerateXml&#40;&#41; &#123;
      global $base;

      $this->module->plugins&#91;"modules"&#93;->MimeXML&#40;&#41;;

      $this->tpl_module = $this->module->plugins&#91;"modules"&#93;->LoadModuleInfo&#40;&#41;;

      $template = new CTemplate&#40;$this->tpl_path . "main.xml"&#41;;

      //get all the categories

      //load the images for this module
      $cats = $this->db->QFetchRowArray&#40;
         "SELECT * FROM &#123;$this->tables&#91;'plugin&#58;gallery_cats'&#93;&#125; " .
         "WHERE module_id=&#123;$this->tpl_module&#91;mod_id&#93;&#125; ORDER BY cat_order DESC"
      &#41;;

      $this->module->EncodeItems&#40;
         &$cats,
         array&#40;               
            "cat_title" ,
            "cat_url" ,
            "cat_urltitle" ,
         &#41;
      &#41;;

      if &#40;is_array&#40;$cats&#41;&#41; &#123;
         foreach &#40;$cats as $key => $val&#41; &#123;

            $items = $this->db->QFetchRowArray&#40;
                  "SELECT * FROM &#123;$this->tables&#91;'plugin&#58;gallery_items'&#93;&#125; " .
                  "WHERE module_id=&#123;$this->tpl_module&#91;mod_id&#93;&#125; AND item_cat=&#123;$val&#91;cat_id&#93;&#125; ORDER BY item_order DESC"
               &#41;;

            $this->module->EncodeItems&#40;
               &$items,
               array&#40;               
                  "item_title" ,
                  "item_url" ,
                  "item_urltitle" ,
               &#41;
            &#41;;

            if &#40;is_array&#40;$items&#41;&#41; &#123;
               foreach &#40;$items as $k => $v&#41; &#123;
                  if &#40;$v&#91;"item_video"&#93;&#41; &#123;
                     $items&#91;$k&#93;&#91;"source"&#93; = "videos/" . $v&#91;"item_id"&#93; . "/" . $v&#91;"item_video_file"&#93;;
//                     RewriteRule ^upload/portfolio/videos/&#40;&#91;0-9&#93;+&#41;/&#40;&#91;^/&#93;+&#41;.&#40;&#91;^/&#93;+&#41;$   upload/portfolio/video_$1.flv

                  &#125; else
                     $items&#91;$k&#93;&#91;"source"&#93; = "" . $v&#91;"item_id"&#93; . ".jpg";                  
               &#125;
            &#125;

            $cats&#91;$key&#93;&#91;"items"&#93; = $base->html->table&#40;
               $template ,
               "Items",
               $items
            &#41;;
         &#125;         
      &#125;
      
      return CTemplateStatic&#58;&#58;Replace&#40;
         $template->blockReplace&#40;
            "Main" ,
            array&#40;
               "mod_title" => $this->tpl_module&#91;"mod_long_name"&#93;,
               "mod_urltitle" => $this->tpl_module&#91;"mod_urltitle"&#93;,
               "mod_url" => $this->tpl_module&#91;"mod_url"&#93;,

               "items" => $base->html->Table&#40;
                  $template,
                  "Cats",
                  $cats
               &#41;
            &#41;
         &#41;,
         $this->tpl_module&#91;"settings"&#93;
      &#41;;
      
   &#125;
   

&#125;

?>

vakat
Δημοσιεύσεις: 18
Εγγραφή: 25 Δεκ 2007 10:57

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από vakat » 12 Νοέμ 2009 15:30

το δοκίμασα κι αυτό αλλά τίποτα δυστυχώς.........κάποια άλλη λεπτομέρεια φαίνεται ότι θα είναι.......αλλά ποιά?

ευχαριστώ πολύ

vakat
Δημοσιεύσεις: 18
Εγγραφή: 25 Δεκ 2007 10:57

reverse order οπότε ότι προσθέτω να μπαίνει πρώτο.........

Δημοσίευση από vakat » 12 Νοέμ 2009 21:23

στον ίδιο φάκελο που υπάρχει το site.gallery.php (από το πρώτο post) υπάρχει και το admin.gallery.php:
<?php
/*
OXYLUS Development web framework
copyright (c) 2002-2007 OXYLUS Development
web: www.oxylus.ro
mail: support@oxylus.ro

$Id: name.php,v 0.0.1 dd/mm/yyyy hh:mm:ss oxylus Exp $
description
*/

// dependencies

/**
* description
*
* @library
* @author
* @since
*/
class COXYMallGallery extends CPlugin{

var $tplvars;

function COXYMallGallery() {
//$this->CPlugin($db, $tables , $templates);
}

function DoEvents(){
global $base, $_CONF, $_TSM , $_VARS , $_USER , $_BASE , $_SESS;

parent::DoEvents();

if (strstr($_GET["sub"] , "oxymall.plugin.gallery.")) {
$sub = str_replace("oxymall.plugin.gallery." , "" ,$_GET["sub"]);
$action = $_GET["action"];

//read the module
$this->tpl_module = $this->module->plugins["modules"]->getModuleInfo($_GET["module_id"]);

switch ($sub) {

case "landing":

if (($_GET["action"] == "moveup") || ($_GET["action"] == "movedown")) {
$this->__call_reorder_cats($_GET["action"]);
}

$data = new CSQLAdmin("gallery/" . $sub, $this->__parent_templates,$this->db,$this->tables,$extra);

$this->PrepareFields(&$data->forms["forms"]);

$data->functions = array(
"onstore" => array(&$this , "StoreCat"),
);

return $data->DoEvents();

break;

case "images":

if (($_GET["action"] == "moveup") || ($_GET["action"] == "movedown")) {
$this->__call_reorder_images($_GET["action"]);
}

$data = new CSQLAdmin("gallery/" . $sub, $this->__parent_templates,$this->db,$this->tables,$extra);

$this->PrepareFields(&$data->forms["forms"]);

$data->functions = array(
"onstore" => array(&$this , "StoreImage"),
);

return $data->DoEvents();

break;

}
}
}


/**
* description
*
* @param
*
* @return
*
* @access
*/
function PrepareFields($forms) {

if (is_array($forms["search"])) {
$forms["search"]["title"] = CTemplateStatic::Replace(
$forms["search"]["title"],
array( "title" => $this->tpl_module["mod_name"])
);
}

$forms["list"]["title"] = CTemplateStatic::Replace(
$forms["list"]["title"],
array( "title" => $this->tpl_module["mod_name"])
);

$forms["edit"]["title"] = CTemplateStatic::Replace(
$forms["edit"]["title"],
array( "title" => $this->tpl_module["mod_name"])
);

$forms["add"]["title"] = CTemplateStatic::Replace(
$forms["add"]["title"],
array( "title" => $this->tpl_module["mod_name"])
);


if (is_array($forms["edit"]["fields"]["item_image"])) {

$width = $this->tpl_module["settings"]["set_thumbwidth"];
$height = $this->tpl_module["settings"]["set_thumbheight"];

$forms["edit"]["fields"]["item_image"]["thumbnails"]["resize"]["width"] =
$forms["add"]["fields"]["item_image"]["thumbnails"]["resize"]["width"] = $width;

$forms["edit"]["fields"]["item_image"]["thumbnails"]["resize"]["height"] =
$forms["add"]["fields"]["item_image"]["thumbnails"]["resize"]["height"] = $height;

$forms["add"]["fields"]["item_image"]["title"] =
$forms["edit"]["fields"]["item_image"]["title"] = CTemplateStatic::ReplaceSingle(
$forms["edit"]["fields"]["item_image"]["title"] ,
"size" ,
$width . " x " . $height
);

}

}


/**
* description
*
* @param
*
* @return
*
* @access
*/
function StoreCat($record) {
if ($record["cat_id"] && !$record["cat_order"]) {
$this->db->QueryUpdate(
$this->tables["plugin:gallery_cats"],
array(
"cat_order" => $record["cat_id"]
),
"cat_id='{$record[cat_id]}'"
);
}
}


function __call_reorder_cats($action) {

$sql = "SELECT * FROM {$this->tables['plugin:gallery_cats']} WHERE module_id={$this->tpl_module[mod_id]} AND cat_order " . ($_GET["action"] == "moveup" ? " <= " : " >= " ) . " '{$_GET[cat_order]}' ORDER BY cat_order " . ($_GET["action"] == "moveup" ? " DESC " : " ASC " ) . " LIMIT 2 " ;

$rows = $this->db->QFetchRowArray($sql);

if (count($rows) == 2) {

//insert the new values
$this->db->QueryUpdate(
$this->tables['plugin:gallery_cats'],
array(
"cat_order" => $rows[1]["cat_order"]
),
" cat_id='{$rows[0][cat_id]}'"
);

//insert the new values
$this->db->QueryUpdate(
$this->tables['plugin:gallery_cats'],
array(
"cat_order" => $rows[0]["cat_order"]
),
" cat_id='{$rows[1][cat_id]}'"
);
}

//debug($_SERVER);

UrlRedirect($_SERVER["HTTP_REFERER"]);
die;
}

function StoreImage($record) {
if ($record["item_id"] && !$record["item_order"]) {
$this->db->QueryUpdate(
$this->tables["plugin:gallery_items"],
array(
"item_order" => $record["item_id"]
),
"item_id='{$record[item_id]}'"
);
}
}

function __call_reorder_images($action) {

$sql = "SELECT * FROM {$this->tables['plugin:gallery_items']} WHERE module_id={$this->tpl_module[mod_id]} AND item_order " . ($_GET["action"] == "moveup" ? " <= " : " >= " ) . " '{$_GET[item_order]}' ORDER BY item_order " . ($_GET["action"] == "moveup" ? " DESC " : " ASC " ) . " LIMIT 2 " ;

$rows = $this->db->QFetchRowArray($sql);

if (count($rows) == 2) {

//insert the new values
$this->db->QueryUpdate(
$this->tables['plugin:gallery_items'],
array(
"item_order" => $rows[1]["item_order"]
),
" item_id='{$rows[0][item_id]}'"
);

//insert the new values
$this->db->QueryUpdate(
$this->tables['plugin:gallery_items'],
array(
"item_order" => $rows[0]["item_order"]
),
" item_id='{$rows[1][item_id]}'"
);
}

//debug($_SERVER);

UrlRedirect($_SERVER["HTTP_REFERER"]);
die;
}



}

?>

μήπως αυτό βοηθάει? μήπως θέλει και αυτό κάποια αλλαγή?

ευχαριστώ πολύ

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες