IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Récupérer une seule ligne au lieu d'une liste de score


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut Récupérer une seule ligne au lieu d'une liste de score
    Bonjour,
    J'ai beau essayé de trouver une solution soit par mes propres recherches sur le web soit ici sur ce forum mais malheureusement comme je suis nul en PHP je n'ai rien pu!
    Pourtant la solution est très simple pour les experts
    Il s'agit de récupérer une seule ligne de la base de données qui concerne le joueur qui est entrain de jouer une partie au lieu de récupérer toute la liste de scores comme c'est le cas dans ce script à partir de la ligne..85
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    <?
     
     
    	// Get Configuation file
    	require("config19.php");
     
    	// Connect to your server
        $db=mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ;
    	@mysql_select_db($mysql_database) or die ;
     
    	//////////////////////////////////////////////////
    	// Check for the existing table if its not found create it
    	// This is really just here to make the life of new users of the script eaiser
    	// They won't have to go thru the script and create the table
    	/////////////////////////////////////////////////
     
    	if(!mysql_num_rows( mysql_query("SHOW TABLES LIKE '".$tname."'")))
    	{
    	$query = "CREATE TABLE `$tname` (`id` int(11) NOT NULL auto_increment,`gameid` varchar(255) NOT NULL,`playername` varchar(255) NOT NULL,`score` int(255) NOT NULL,`scoredate` varchar(255) NOT NULL,`md5` varchar(255) NOT NULL, PRIMARY KEY  (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";
     
    	$create_table = mysql_query($query)or die ;
    	// Preload table with 10 scores
    	$date = date('M d Y');
     
     
    	}
     
    	///////////////////////////////////////////////////////
    	// Status Checker
    	///////////////////////////////////////////////////////
    	if ($_GET["status"])
    	{
    	echo "online";
    	exit;
    	}
     
    	////////////////////////////////////////////////////////
    	// Run some checks on our gameid 
    	////////////////////////////////////////////////////////
    	$gameid_safe = mysql_real_escape_string($_GET["gameid"]);
    	// Check the gameid is numeric
    	// If its not numberic lets exit
    	if(!is_numeric($gameid_safe))
        {
         exit; 
        }
     
    	///////////////////////////////////////////////////////
    	// Upload new score
    	///////////////////////////////////////////////////////
    	// Test for the variables submitted by the player
    	// If they exist upload into the database
     
    	if ($_GET["playername"] && $_GET["gameid"] && $_GET["score"])
    	{
     
    	// Strip out | marks submitted in the name or score
    	$playername_safe = str_replace("|","_",$_GET["playername"]);
    	$playername_safe = mysql_real_escape_string($playername_safe);
    	$score_safe = mysql_real_escape_string($_GET["score"]);
    	$date = date('d - m - Y');
     
    	// Check the score sent is is numeric
    	// If the score is not numberic lets exit
    	if(!is_numeric($score_safe))
        {
         exit; 
        }
     
    	// this secret key needs to be the same as the secret key in your game.
    	$security_md5= md5($_GET["gameid"].$_GET["playername"].$_GET["score"].$secret_key);
     
    	// Check for submitted MD5 different then server generated MD5
    	if ($security_md5 <>$_GET["code"])
    	{
    	// Something is wrong -- MD5 security hash is different
    	// Could be someone trying to insert bogus score data
    	exit;
    	}
    	// Everything is cool -- Insert the data into the database
    	$query = "insert into $tname(gameid,playername,score,scoredate,md5) values ('$gameid_safe','$playername_safe','$score_safe','$date','$security_md5')";
    	$insert_the_data = mysql_query($query)or die;
    	}
     
    	///////////////////////////////////////////////////////
    	// List high score
    	///////////////////////////////////////////////////////
    	// Return a list of high scores with "|" as the delimiter
    	if ($gameid_safe)
    	{
        $query = "select * from $tname where gameid='$gameid_safe' order by score desc limit 10";
    	$view_data = mysql_query($query)or die;
    	while($row_data = mysql_fetch_array($view_data))
    		{
    		print($row_data["playername"]);
    		print "|";
    		print ($row_data["score"]);
    		print ("|");
    		print($row_data["scoredate"]);
    		print("|");
    		}
     
    	// We limit the score database to hold the number defined in the config script
    	// First check to see how many records we have for this game
     
    	$query1 ="select * from $tname where gameid = '$gameid_safe'";
    	$countresults = mysql_query($query1)or die;
    	$countofdeletes = mysql_num_rows($countresults);
    	if (mysql_num_rows($countresults)>$score_number)
    		{
    		$query2 ="SELECT * FROM $tname WHERE gameid = '$gameid_safe' ORDER BY score DESC Limit $score_number,$countofdeletes";
    		$Get_data = mysql_query($query2)or die ;
    		while($row_data = mysql_fetch_array($Get_data))
    		{
    		$id_delete = $row_data["id"];
    		$query3 = "Delete from $tname where id = $id_delete";
    		$Delete_data = mysql_query($query3)or die ;
    		}
    		}
    	}
     
    ?>
    Donc si le playername qui est entrain de jouer est sous le pseudonyme de "bruce-lee" je veux récupérer seulement les données concernant "bruce-lee" et non toute la liste des joueurs délimités par "|"
    Merci de m'aider

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    vois avec ton collègue qui a posé la même question.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Merci je viens de voir, j'ai déjà changé "Select from...etc..." comme l'indique ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ($playername_safe)
    	{
    	    $query = "select * from $tname where playername='$playername'";
    	$view_data = mysql_query($query)or die(mysql_error());
    	while($row_data = mysql_fetch_array($view_data))
    		{
    		print($row_data["playername"]);
    		print "|";
    		print($row_data["ensemble"]);
    Mais le reste je ne sais pas si c'est correct ou pas car il n'affiche pas convenablement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    print($row_data["playername"]);
    		print "|";
    		print($row_data["ensemble"]);
    Merci de m'aider un peu plus SVP

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca veut dire quoi concretement "pas convenablement" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Comme j'ai essayé plusieurs fois en tâtonnant les formules du code je reçois des messages d'erreurs ou rien du tout mais jamais ce que je veux
    [avoir uniquement le nom du joueur et la variable "Ensemble" de ce mm joueur]
    Merci Sabotage

  6. #6
    Invité
    Invité(e)
    Par défaut
    Comment veux-tu qu'on t'aide si tu ne montres pas les messages d'erreur ?

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Je croyais que c'est facile à résoudre en changeant le code existant pour récupérer deux variables d'une base de données... je vais ressayer de tourner mon application et revoir les codes d'erreurs et vous les transmettre.
    Merci mes amis

  8. #8
    Invité
    Invité(e)
    Par défaut
    Inutile de citer un message complet pour y répondre !

    Merci d'utiliser le bouton "+ Répondre à la discussion" ci-dessous à gauche.

  9. #9
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Je pense que les messages que j'ai collecté ne vous seront pas utiles mais qui vont détourner vos attentions sur ce que je demande principalement

    Query was empty pour ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if ($playername_safe)
    	{
    	     $query = mysql_query("SELECT playername_id FROM $tname WHERE playername='$playername' ");
    	$view_data = mysql_query($query)or die(mysql_error());
    	while($row_data = mysql_fetch_array($view_data))
    		{
    		print($row_data["playername"]);
    		print "|";
    		print($row_data["ensemble"]);
     
    		}
    ----------------------------------------------------------------------------------------------
    un autre quand je change de code...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <br />
    <b>Warning</b>:  mysql_query() expects parameter 1 to be string, resource given in <b>/htdocs/score/user_script.php</b> on line <b>107</b><br />

    --------------------------------------------------------------------------
    encore un autre
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '3' at line 1

    ------------------------------
    Voici par ailleurs une capture de ma base de donnée, ce que je veux c'est de prendre le nom du joueur en ligne, sous la colonne de playername et de me donner sa variable de la colonne "Ensemble" ... tout simplement ça ... je ne croyais pas que c'est si compliqué.
    Merci

    Nom : bdd.gif
Affichages : 100
Taille : 14,7 Ko

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est toi qui t'eparpille tout seul :
    Tu nous as montré un code qui a l'air bon en nous disant que le résultat n'était pas convenable.
    On attends toujours de savoir ce qui ne vas pas dans ce résultat par rapport à ce que tu veux.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Normalement le code que j'ai donne une liste de 10 scores bien sûr en ordre décroissant grâce au [delimeter "|"]... j'ai essayé de changer ce code pour avoir uniquement une seule ligne pas 10 qui me donnera le nom de joueur "playername" et sa variable "Ensemble" c'est tout ce que je veux avoir, mais malheureusement je n'y arrive pas d'où le fait de solliciter votre aide!

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as toujours pas répondu.
    Le code que tu nous montres doit bien récupérer les données d'un seul seul joueur.
    Qu'obtiens-tu avec ce code que tu nous as montré ? En quoi n'est ce pas "convenable" comme tu l'as dit ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Si j'ai répondu là
    http://www.developpez.net/forums/d15...e/#post8371459
    Le script initial que j'ai mis au début du post me donne 10 différents noms de joueurs avec chacun son score et son scoredate regarde à partir de la ligne 85 comme je l'ai mentionné... ce que je voudrais est de changer à partir de cette ligne 85 le code pour qu'il me donne un seul joueur avec "Ensemble" pas de score ni de scoredate... Voilà
    Merci encore pour ton effort de m'aider

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je te parle du deuxieme code que tu nous as montré et pour lequel tu nous as dit qu'il n'était pas convenable.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Oui effectivement j'ai mentionné le message d'erreur [Query was empty] pour le 2eme code ici:
    http://www.developpez.net/forums/d15...e/#post8371459

  16. #16
    Invité
    Invité(e)
    Par défaut
    Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	     $query = mysql_query("SELECT playername_id FROM $tname WHERE playername='$playername' ");
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	     $SQL = "SELECT playername_id FROM $tname WHERE playername='$playername' ";
    	     $query = mysql_query($SQL);
    Montre-nous ce qu'affiche :
    N.B. Et inutile de mettre des liens vers des réponses que NOUS AVONS DEJA LUES.

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je parle de ce code la.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $query = "select * from $tname where playername='$playername'";
    	$view_data = mysql_query($query)or die(mysql_error());
    	while($row_data = mysql_fetch_array($view_data))
    		{
    		print($row_data["playername"]);
    		print "|";
    		print($row_data["ensemble"]);
    Il ne peut pas donner "query was empty", tu nous parlais d'affichage "pas convenable".

    ca serait bien que tu suives un peu ce que tu dis toi même.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Merci jreaux62
    Je vais essayer ce script espérons que ça résoudra mon problème quand aux liens vers mes réponses c'est pour indiquer à Sabotage où j'ai répondu concernant ce qu'il voudrait savoir.

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sabotage Voir le message
    ...ca serait bien que tu suives un peu ce que tu dis toi même.
    Je ne peux pas donner tort à l'ami sabotage*
    *Il a 2 étoiles rouge de plus que moi !

    Montre-nous ce qu'affiche :

  20. #20
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Points : 6
    Points
    6
    Par défaut
    Sabotage voici des captures d'écran
    le code en php qui donne le message d'erreur en bas en blanc
    Nom : basedd.gif
Affichages : 97
Taille : 365,7 Ko

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/12/2014, 11h42
  2. Alimentation d'une table en utilisant un fichier à une seule ligne
    Par esisa1 dans le forum ODI (ex-Sunopsis)
    Réponses: 9
    Dernier message: 09/11/2011, 17h21
  3. [dlmwrite] Une seule ligne écrite et non une matrice
    Par abdousoft dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/06/2011, 16h17
  4. Réponses: 3
    Dernier message: 11/03/2010, 09h05
  5. Récupérer le contenu de colonnes en une seule ligne
    Par casavba dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/07/2008, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo