begin process at 2012 05 30 23:03:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Etablir un classement avec odtPhp et requete MySQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Etablir un classement avec odtPhp et requete MySQL

vendredi 6 mai 2011 à 14:51:44 | Etablir un classement avec odtPhp et requete MySQL

deutch36

Bonjour a tous, je suis etudiant en BTS IRIS.
Je suis censé realiser un projet pour le concours de robotique cartec-Inno.
Arrivant a la fin de mon projet j'essai de faire le travail que mes professeurs m'ont rajouter (hors du sujet d'origine).
En effet dans tout concours il y a un classement, et j'essai d'imprimer ce classement via la bibliotheque OdtPHP.

Le soucis je n'arrive a afficher qu'un seul des membres du concours et le dernier.
Je souhaiterai afficher tout le classement.


Voici mon code :

<?php
$host = "localhost"; /*Serveur local*/
$user = "Cartec"; /*Utilisateur*/
$pass = "Cartec"; /*Mot de passe*/
$bdd = "cartec"; /*Nom de la base de donnée*/

mysql_connect($host,$user,$pass) /*Connexion à la base de donnée en utilisant les variables précédentes*/
or die("Impossible de se connecter");

mysql_select_db("$bdd") /*Selectionner la base de donnée*/
or die("Impossible de se connecter");

$requete='SELECT `NomIUT`,`NomRobot`, `PointsTotal` FROM `robot`
ORDER BY `PointsTotal` DESC ,`Temps_Total`'; //On tri les resultats
//en fonction du total de point et du temps

$req = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error()); /*Execution de la requete*/
$total = mysql_num_rows($req);
$classement=1;


require_once('/Scolaire/Iris2/Deschatre/Base/library/odf.php');

$odf = new odf("classement.odt"); // Creation du fichier odt

$odf->setVars('titre','Classement'); // On remplace les balises
$odf->setVars('position','Position');//(premier argument du setVars)
$odf->setVars('NomIut','IUT'); // du fichier odt par les deuxiemes
$odf->setVars('NomRobot','Robot'); // arguments du setVars
$odf->setVars('NbPts','Nombre de points');

while($row = mysql_fetch_array($req))
{
$Iut = $row["NomIUT"];
$Robot = $row["NomRobot"];
$PointsTotal = $row["PointsTotal"];
$classement = $classement +1;

$listeClassement = array( // Creation d'un tableau de donnée, il sert de liste d'article
'pos' => $classement,
'iut' => $Iut,
'robot' => $Robot,
'pts' => $PointsTotal,
);

$segment = $odf->setSegment('classement'); // Initialisation du segment

foreach ($listeClassement AS $element) // Bouclage du segment
{
$odf->setVars('pos', $classement); //Remplacement des balises
$odf->setVars('iut', $Iut);
$odf->setVars('robot', $Robot);
$odf->setVars('pts', $PointsTotal);
$segment->merge(); // Fusion du segment
}
$odf->mergeSegment($segment); // Ajout du segment au document
}



$odf -> exportAsAttachedFile(); // Permet d'envoyer le resultat sur le navigateur client

echo("Ok");

?>
vendredi 6 mai 2011 à 14:52:20 | Re : Etablir un classement avec odtPhp et requete MySQL

deutch36

Je vous remercie par avance
vendredi 6 mai 2011 à 15:24:52 | Re : Etablir un classement avec odtPhp et requete MySQL

ludwig59

Bonjour,

Je ne sais pas si c'est la cause du problème mais ta boucle while ne devrait-elle pas être fermée avant initialisation du segment et non après l'ajout du segment au document ?
vendredi 6 mai 2011 à 15:41:29 | Re : Etablir un classement avec odtPhp et requete MySQL

deutch36

Bonjour et merci de ta reponse,

J'avais deja penser a fermer la boucle while avant le segment.
Mais le resultat entre fermer la boucle avant l'initialisation et apres l'initialisation reste le meme.

Je vois s'afficher 4 fois le dernier
vendredi 6 mai 2011 à 15:48:34 | Re : Etablir un classement avec odtPhp et requete MySQL

ludwig59

Essai ceci :

Code PHP :
<?php

$host = "localhost"; /*Serveur local*/
$user = "Cartec"; /*Utilisateur*/
$pass = "Cartec"; /*Mot de passe*/
$bdd = "cartec"; /*Nom de la base de donnée*/

mysql_connect($host,$user,$pass) /*Connexion à la base de donnée en utilisant les variables précédentes*/
or die("Impossible de se connecter");

mysql_select_db("$bdd") /*Selectionner la base de donnée*/
or die("Impossible de se connecter");

$requete='SELECT `NomIUT`,`NomRobot`, `PointsTotal` FROM `robot`

ORDER BY `PointsTotal` DESC ,`Temps_Total`'; //On tri les resultats

//en fonction du total de point et du temps

$req = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error()); /*Execution de la requete*/
$total = mysql_num_rows($req);
$classement=1;


require_once('/Scolaire/Iris2/Deschatre/Base/library/odf.php');

$odf = new odf("classement.odt"); // Creation du fichier odt

$odf->setVars('titre','Classement'); // On remplace les balises
$odf->setVars('position','Position');//(premier argument du setVars)
$odf->setVars('NomIut','IUT'); // du fichier odt par les deuxiemes
$odf->setVars('NomRobot','Robot'); // arguments du setVars
$odf->setVars('NbPts','Nombre de points');

$listeClassement = "";
while($row = mysql_fetch_array($req))
{
	$Iut = $row["NomIUT"];
	$Robot = $row["NomRobot"];
	$PointsTotal = $row["PointsTotal"];
	$classement = $classement +1;
	
	$listeClassement[] = array( // Creation d'un tableau de donnée, il sert de liste d'article
	'pos' => $classement,
	'iut' => $Iut,
	'robot' => $Robot,
	'pts' => $PointsTotal,
	);
} /* fin while */	
	
$segment = $odf->setSegment('classement'); // Initialisation du segment

foreach ($listeClassement AS $element) // Bouclage du segment
{
	$odf->setVars('pos', $element['pos']); //Remplacement des balises
	$odf->setVars('iut', $element['iut']);
	$odf->setVars('robot', $element['robot']);
	$odf->setVars('pts', $element['pts']);
	$segment->merge(); // Fusion du segment
}
$odf->mergeSegment($segment); // Ajout du segment au document

$odf -> exportAsAttachedFile(); // Permet d'envoyer le resultat sur le navigateur client

echo("Ok"); 
?>
mercredi 11 mai 2011 à 08:17:44 | Re : Etablir un classement avec odtPhp et requete MySQL

deutch36

Bonjour et desolé pour le retard j'etais en epreuve ces derniers jours.
Je te remercie de ta reponse mais cela ne fonctionne pas.

Je pense que l'erreur se fait entre le bouclage while et le bouclage du segment
mercredi 11 mai 2011 à 13:27:45 | Re : Etablir un classement avec odtPhp et requete MySQL

deutch36

Bonjour,

J'ai tester la récupération de mes valeurs avec la fonction print_r($row)

Je récupère bien tout les enregistrement, mais n'affiche que le dernier.
Si vous avez des suggestion je vous ecoute.

Cordialement
mardi 17 mai 2011 à 16:14:14 | Re : Etablir un classement avec odtPhp et requete MySQL

deutch36

Bonjour a tous et a toutes

Apres de nombreuse recherche je me suis apercus que le probleme survenait durant la fusion du segment. Si quelqu'un sait pourquoi je le remercie par avance
mercredi 18 mai 2011 à 08:54:06 | Re : Etablir un classement avec odtPhp et requete MySQL

deutch36

Bonjour a tous et a toutes,

Apres modification du code, l'erreur est toujours presente.

Voici le nouveau code :
Code PHP :
<?php
$host = "localhost"; /*Serveur local*/
$user = "Cartec";  /*Utilisateur*/
$pass = "Cartec";  /*Mot de passe*/
$bdd = "cartec";  /*Nom de la base de donnée*/
  
mysql_connect($host,$user,$pass) /*Connexion à la base de donnée en utilisant les variables précédentes*/
or die("Impossible de se connecter");
  
mysql_select_db("$bdd") /*Selectionner la base de donnée*/
or die("Impossible de se connecter");

$requete='SELECT `NomIUT`,`NomRobot`, `PointsTotal` FROM `robot` 

		  ORDER BY `PointsTotal` DESC ,`Temps_Total`'; //On tri les resultats

														   //en fonction du total de point et du temps
																								
$req = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());   /*Execution de la requete*/
$total = mysql_num_rows($req);
$classement=1;


require_once('/Scolaire/Iris2/Deschatre/Base/library/odf.php');

$odf = new odf("classement.odt"); // Creation du fichier odt

$odf->setVars('titre','Classement'); // On remplace les balises 
$odf->setVars('position','Position');//(premier argument du setVars) 
$odf->setVars('NomIut','IUT');		 // du fichier odt par les deuxiemes
$odf->setVars('NomRobot','Robot');   // arguments du setVars
$odf->setVars('NbPts','Nombre de points');

$listeClassement = array();
$i=0;
while($row = mysql_fetch_array($req)) 
  {	
  $Iut = $row["NomIUT"];
  $Robot = $row["NomRobot"];
  $PointsTotal = $row["PointsTotal"];  
  $classement = $classement +1; 
  
	$listeClassement[$i]["pos"]=$classement;
	$listeClassement[$i]["iut"]=$Iut;
	$listeClassement[$i]["robot"]=$Robot;
	$listeClassement[$i]["pts"]=$PointsTotal;
	$i++;
	
  }  
  $segment = $odf->setSegment('classement'); // Initialisation du segment

  foreach ($listeClassement AS $element) // Bouclage du segment
    {	
	$odf->setVars('pos', $element['pos']); //Remplacement des balises
    $odf->setVars('iut', $element['iut']);
    $odf->setVars('robot', $element['robot']);
    $odf->setVars('pts', $element['pts']);
	$segment->merge(); // Fusion du segment
	}

  $odf->mergeSegment($segment); // Ajout du segment au document

 // }
  
  
$odf -> exportAsAttachedFile("classement.odt"); // Permet d'envoyer le resultat sur le navigateur client
  
  
?>  


Cette discussion est classée dans : classement, segment, iut, odf, setvars


Répondre à ce message

Sujets en rapport avec ce message

classement de liens selon votes [ par vbasique ] Bonjour,je voudrais faire une liste de liens (juste un titre, le lien reporte à la page où la description est complète) puis mettre un système de vote comment créer un classement de type "vous etez 2eme du classement" [ par milocco ] Bonjour, je voudrais savoir comment faire pour créer un classement de type "vous etez 32eme du classement" a laide d'une requette sur une base MySQLme Création d'un Classement Sportif [ par lgrenon ] Bonjour,j'aimerai créer un script de classement sprotif (pour le handball) qui me donne les points, les buts marqués, les buts encaissées, les journée Vote pour titre classement radio [ par radyonne ] Bonjour,Je voudrais savoir comment faire un vote pour le site web de ma radio avec mon system de titrage et d'affichage de pochettes cd, pour faire vo Classement sans SQL [ par essential ] Bonjour à tous !Voila mon problème:J'ai une galerie d'images. En dessous de chaque image, il y a le nombre de fois ou celle-ci a été vue et le nombre Classement en fonction de vote [ par nico606 ] Slt, cela fais un petit moment que je suis la decu sans trouver de reponse je cherche a etablir un classement des 10 premiers de mais membres en fonct Classement automatique de la ligue 1 [ par antho11 ] Bonjour,Pour mon site de foot je souhaiterais faire un classement automatique de la L1,on rentre les résultats et hope sa se calcule tout automatique. help plz [ par rours ] voila mon probleme,   j ai une carte de la france avec plusieur rectangle dessus, chacun de ces "rectangle " est un lien vers un autre site, (ça sa ma vote et classement... [ par tombondoff ] Bonjour , je sois un nouveau gars qui débute dans le html , php ect...J'avoue que jé beaucoup chercher pour la question suivante au quel je né toujour


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales