Order By

7 posts in this topic

Posted · Report post

Bonjour,

Je voudrais afficher mes catégories et sous catégories dans l'ordre alphabétique au lieu de "position"

J'ai essayé de changer ceci dans achat/index.php :


$sqlcat .= " FROM peel_categories

	WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != ''

	ORDER BY position"; 


j'ai fait par nom_ car j'utilise plusieurs langues mais il indique une erreur...

Pourriez-vous m'aider?

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Pour ordonner les catégories par nom, vous devez modifier

$sqlcat .= " FROM peel_categories
WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != ''
ORDER BY position"; [/code] par
[code]$sqlcat .= " FROM peel_categories
WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != ''
ORDER BY nom_" . $_SESSION['langue'];

Simon.

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Pour ordonner les catégories par nom, vous devez modifier

$sqlcat .= " FROM peel_categories

        WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != ''

        ORDER BY position"; 
par
$sqlcat .= " FROM peel_categories

        WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != ''

        ORDER BY  nom_" . $_SESSION['langue']; 
Simon.
Merci Simon, Je n'ai plus de message d'erreur mais le tri ne se fait toujours pas (ça reste par position...) voici mon code complet de la page achat/index.php:

<?php


include("../configuration.inc.php");


$catid = (!isset($_GET['catid']) ? 0 : intval($_GET['catid']));


$qid_c = recupere_sous_categorie($catid);


$DOC_TITLE = "[PEEL.FR]";


define("IN_CATALOGUE", true);


include("$repertoire_modele/haut.php");


$sqlcat = "SELECT image, description_" . $_SESSION['langue'] . ", nom_" . $_SESSION['langue'];

if (is_category_promotion_module_active()) {

	$sqlcat .= ", promotion";

}

$sqlcat .= " FROM peel_categories 

        WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != '' 

        ORDER BY  nom_" . $_SESSION['langue']; 


$rescat = query($sqlcat);

$rowCat = fetch_row($rescat);


if (num_rows($rescat) > 0) {

	echo "<div>";


	include("$repertoire_modele/categorie.php");


	echo "</div>";

}


$qid_c = recupere_sous_categorie(vn($_GET['catid']));


$nb_cellules = num_rows($qid_c);

if ($nb_cellules > 0) {

	$nb_colonnes = 3;

	$j = 0;


	echo "<div>";

	include("$repertoire_modele/sous_categorie.php");

	echo "</div>";

}


$sqlcat = "SELECT type_affichage  FROM peel_categories WHERE id = '" . intval($catid) . "'";

$rescat = query($sqlcat);

$rowCat = fetch_row($rescat);


if (!empty($rowCat)) {

	echo '

<h2>' . LIST_PRODUCT . '</h2>';

	echo '<p>';

	affiche_filtre(vn($_GET['catid']));

	echo '</p>';

}


switch ($rowCat[0]) {

	case "1" :

		affiche_produit_en_ligne($catid);

		break;


	case "0" :

		affiche_produit_en_colonne($catid);

		break;

}


include("$repertoire_modele/bas.php");


function recupere_sous_categorie($catid = 0)

{

	$qid = query('SELECT id, nom_' . $_SESSION['langue'] . ', description_' . $_SESSION['langue'] . ', parent_id, image

		FROM forksparts_categories

		WHERE parent_id="' . intval($catid) . '" AND id>"0" AND etat="1"

		ORDER BY position' ) ;

	return $qid;

}


?>

Juste en dessous il y a aussi une formule par position que j'ai essayé de changer mais rien n'y fait...?

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

si la modification de la requête de la fonction recupere_sous_categorie de

function recupere_sous_categorie($catid = 0)
{
$qid = query('SELECT id, nom_' . $_SESSION['langue'] . ', description_' . $_SESSION['langue'] . ', parent_id, image
FROM forksparts_categories
WHERE parent_id="' . intval($catid) . '" AND id>"0" AND etat="1"
ORDER BY position' ) ;
return $qid;
}
[/code] en
[code]function recupere_sous_categorie($catid = 0)
{
$qid = query('SELECT id, nom_' . $_SESSION['langue'] . ', description_' . $_SESSION['langue'] . ', parent_id, image
FROM forksparts_categories
WHERE parent_id="' . intval($catid) . '" AND id>"0" AND etat="1"
ORDER BY nom_' . $_SESSION['langue'] .')' ;
return $qid;
}

ne fonctionne pas, trouver l'origine du problème va nécessiter une investigation plus en profondeur du code et du fonctionnement de votre site.

Je vous invite à contacter le service commercial au 01 75 43 67 97 pour permettre une intervention de notre service technique.

Merci.

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Je travaille sur la 6.4, et je voudrais afficher la liste des sous-catégories dans l'ordre alphabétique. C'est celle qui se trouve dans le tableau en haut des pages catégories.

J'ai trouvé la fonction je pense dans display_product.php,, et j'écris

    function get_subcategories_table($parent_id, $nb_colonnes, $return_mode = false, $display_image = true)

    {

        $output = '';

        $qid_c = query('SELECT id, nom_' . $_SESSION['session_langue'] . ', description_' . $_SESSION['session_langue'] . ', parent_id, image_' . $_SESSION['session_langue'] . ' AS image

            FROM peel_categories

            WHERE parent_id="' . intval($parent_id) . '" AND id>"0" AND etat="1"

            ORDER BY nom_' . $_SESSION['session_langue'] .');

La dernière ligne remplaçant ORDER BY position');

 

Mais j'ai une erreur parse, et je ne parviens pas à écrire la ligne correctement. J'ai à peu près tout essayé mais cela ne corrige pas. Auriez-vous la solution s'il vous plait ?

Merci.

 

 

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Il y a un point et un guillemet en trop après $_SESSION['session_langue'] :

        $qid_c = query('SELECT id, nom_' . $_SESSION['session_langue'] . ', description_' . $_SESSION['session_langue'] . ', parent_id, image_' . $_SESSION['session_langue'] . ' AS image

            FROM peel_categories

            WHERE parent_id="' . intval($parent_id) . '" AND id>"0" AND etat="1"

            ORDER BY nom_' . $_SESSION['session_langue'] .');

Je pense que l'erreur de parsing que vous rencontrez vient de là.

 

Share this post


: post
Share on other sites

Posted · Report post

Excellent ! Merci.

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

Twitter Advisto ecommerce

Facebook PEEL Shopping