Order By

7 messages dans ce sujet

Posté(e) · Signaler ce message

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?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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...?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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à.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Excellent ! Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping