Aller au menu - Aller au contenu

Retrouver le nombre d'un message

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page 1 
Auteur Message
2 visiteurs sur ce sujet (2 anonymes)
Page 1 
Hors ligne Aurorion # Posté le 08/02/2012 à 17:15:05
Avatar

Bonjour à tous,

Je suis coincer dans une fonction dont j'ai besoin, voilà le topo, je souhaiterais, via l'ID d'un message, savoir dans quel page il se trouve, pour cela, j'ai la brillante idée ( ou pas ) de faire une fonction qui servirais à récupérer l'id du message POUR le sujet, par exemple, le premier est 1, le 18ème est 18.

Voici ce que j'ai essayer :
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

function getMsg($id) // Renvois le lien, avec la page concerné.
	{
		$class = $this->bdd->prepare('SELECT * FROM message WHERE id=?');
		$class -> execute(array($id));
		$check = $class->fetch();
		
		$class_sujet = $this->bdd->prepare('SELECT * FROM sujet WHERE id=?');
		$class_sujet->execute(array($check['idParent']));
		$check_sujet = $class_sujet->fetch();
		
		// Equation pour obtenir le nombre de l'id du message
		$class_count = $this->bdd->prepare('SELECT COUNT(id) AS Msg, id FROM message WHERE idParent=?');
		$class_count -> execute(array($check_sujet['id']));
		$check_count = $class_count -> fetch();
		
		$nombreDeDonneeParPage = Pagination::nombreDeDonneeParPage('sujet');
		$pageActuel = ceil ( $Msg / $nombreDeDonneeParPage );
		
		for($i = 0; $i != $check_count['Msg']; $i++)
		{
			$Msg = $check_count['Msg'];
		}
		
		$page_return = $pageActuel;
		$id_return = $check_sujet['id'];
		$titre_return = AuroKernel::toSlug($check_sujet['titre']);
		
		if($page_return > 1)
		{
			$url = 'sujet/'.$id_return.'/'.$titre_return.'/'.$page_return.'#'.$id;
		}
		
		else
		{
			$url = 'sujet/'.$id_return.'/'.$titre_return.'#'.$id;
		}
		
		return $url;
	}


J'ai essayer de plusieurs manières, en vain...
Merci d'avance pour votre aide.
Publicité # Posté le 08/02/2012 à 17:15:05

Hors ligne psychotik # Posté le 08/02/2012 à 17:52:38
What's up?
Avatar

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Oulah tu me semble te prendre la tête pour rien.

Pourquoi tu ne ferai pas ca dans une requete SQL?

Tu fait un count de tes messages du premier a celui actuel (avec une condition qu'il soit dans le sujet en question) une fois que tu a le nombre de message posté avant dans le sujet, tu le divise par le nombre de message par page et le tour est joué.

la requete donnerai un truc du genre

Code : SQL
1
SELECT COUNT id FROM ta_table WHERE id<id_message AND id_sujet=id_sujet


et apres Code : PHP
1
$page=$resultat_sql/$messages_par_pages


C'est un truc dans le genre
Édité le 08/02/2012 à 17:56:57 par psychotik

Souviens toi; souviens toi de ce 5 de novembre, de ses poudres et de sa conspiration; souviens toi de ce jour, souviens t'en; à l'oubli je ne peu me résoudre! :ninja:

Pensez a mettre vos sujets en résolus si c'est le cas.
 
Hors ligne Aurorion # Posté le 08/02/2012 à 19:45:59
Avatar

J'ai essayer de faire comme tu le dis, il n'y a pas d'erreur par contre la page est mal compté, donc je ne pense pas que cela marche vraiment... :(
Hors ligne psychotik # Posté le 09/02/2012 à 09:35:00
What's up?
Avatar

la page est mal comptée? tu peux preciser? au pire tu fait des affichage à chaque phase pour verifier le fonctionnement et a quel moment ca te retourne un mauvais resultat

Souviens toi; souviens toi de ce 5 de novembre, de ses poudres et de sa conspiration; souviens toi de ce jour, souviens t'en; à l'oubli je ne peu me résoudre! :ninja:

Pensez a mettre vos sujets en résolus si c'est le cas.
 
Hors ligne Aurorion # Posté le 09/02/2012 à 19:50:05
Avatar

le $pageActuel ne dépasse pas le 1, donc ça reste a 1, ça ne compte pas vraiment.

EDIT : Ca fonctionne, y avais juste un problème sur le nombre total de donnée, j'ai dû lui attribuer un - 1 :)

Merci !!
Édité le 12/02/2012 à 11:28:08 par Aurorion

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx