Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2011, 17h53   #1
Futur Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 135
Points : 17
Points : 17
Par défaut PHP urlencode() help ^^

Bonjour à tous !

J'ai un problème d'encodage ... les données qui sont transmis dans ma base de donnée sont codées au format PHP urlencode(), ce qui signifie par exemple qu'une virgule est exprimée par %2C.

Très relou ... j'ai tout essayé (surement mal) avec PHP urldecode() ...

Voici le script qui affiche le tableau de données :

Code :
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
Copyright JBGO Tous droits réservés

...
<?php
// information pour la connection ?e DB
include("connection.php"); 
$db = 'stats';
// connection ?a DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

// requ? SQL qui compte le nombre total d'enregistrement dans la table et qui
//r?p? tous les enregistrements
$select = 'SELECT p.id AS id, 
	p.name, 
	a.id AS alliance_id, 
	a.alliance_name AS alliance_name,
	p.points, 
	p.rank, 
	p.towns 
FROM players p
INNER JOIN alliances a ON (a.id = p.alliance_id)
ORDER BY rank ASC
LIMIT 0,10';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

// si on a r?p? un r?ltat on l'affiche.
if($total) {

    // debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
        // premi? ligne on affiche les titres pr?m et surnom dans 2 colonnes
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>Classement</u></b></td>' ;
        echo '<td bgcolor="#669999"><b><u>Pseudo</u></b></td>';
      echo '<td bgcolor="#669999"><b><u>Alliance</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Points</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>Villes</u></b></td>';
      echo '</tr>'."\n";
    // lecture et affichage des r?ltats sur 2 colonnes, 1 r?ltat par ligne.    
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row["rank"].'</td>';
      echo '<td bgcolor="#CCCCCC"><a href="player.php?id='.$row["id"].'">'.$row["name"].'</a></td>';
        echo '<td bgcolor="#CCCCCC"><a href="alliance.php?id='.$row["alliance_id"].'">'.$row["alliance_name"].'</a></td>';
      echo '<td bgcolor="#CCCCCC">'.$row["points"].'</td>';
	  echo '<td bgcolor="#CCCCCC">'.$row["towns"].'</td>';
      echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on lib‚re le r‚sultat
mysql_free_result($result);
?>
Merci d'avance !!
MRJBGO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 17h58   #2
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
Bonjour,

'Scuse moi, je vois pas où sont reçues tes données ???

Tu parles de ce qui est déjà dedans surement, non ??
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 18h04   #3
Futur Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 135
Points : 17
Points : 17
Excuse moi ^^ j'ai oublié une partie !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Copyright JBGO Tous droits réservés !

//alliances
ini_set("memory_limit", "200000M"); // augmentation memoire
set_time_limit(0);  // illimite dans le  temps exé du script
$req = mysql_query("TRUNCATE TABLE alliances");
$datafile = file('data/alliances.txt'); // absortion des données
if(!is_array($datafile)) die("File could not be opened");
foreach($datafile as $datum){
 
	list($id, $name, $points, $villages, $members, $rank) = explode(',', $datum);
	include ('connection.php');
	$sql = "INSERT INTO alliances (id, alliance_name, points, villages, members, rank) VALUES('$id', '$name', '$points', '$villages', '$members', '$rank')";
	mysql_query($sql) or die('la base alliances n\'a pas été mise à jour '.mysql_error());
 
}echo 'La table alliances à ete mise à jour:';
Voici un exemple pour alliance !
MRJBGO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 18h18   #4
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
Plus efficace
Code :
ini_set("memory_limit","-1");
Et dans ton data/alliances.txt, y'a quoi ?

Parce que c'est de là que vient ton problème...
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 18h29   #5
Futur Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 135
Points : 17
Points : 17
Merci !!

Il y a des données du type :


Code :
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
42141,Condor+-V-,16564,2,1,250
48486,lafi-bala,157785,18,1,114
45098,legion-V-,4923,1,1,415
44171,lesdiplomati+0203,4277,1,1,437
48430,Les+Griffons+Ultimes+-V-,12570,4,2,280
38824,liberter+pour+lile,27072,4,1,211
46434,les+ange+du+chaos,2212,1,1,562
47889,abdelle,4998,1,1,412
47420,never+give+up,4722,1,1,422
45099,blood+of+the+hell-CA,2970,1,1,507
48335,antoine+les+guerier,725,1,1,644
48194,Les+Sang-M%C3%AAl%C3%A9s,8399,1,1,336
38822,index,2186,1,1,563
14631,ibis,7002,1,1,366
48322,cool+girl+et+cool+man,11520,4,3,289
46438,Le+Nouveau+Gouvernement,8620,0,2,330
48466,Les+cyclope+de+poseidon,2379,1,1,550
47364,La+rage+des+Ailes+Noires,803,1,1,636
45766,les+grands+guerriers,6154,2,2,386
5677,avelabenn,1275,0,1,620
31156,DS-+Les+mercenaires,112121,21,14,129
24682,Les+Phalanges+Noires+-AS,11325972,1076,105,19
33923,La+lign%C3%A9e+des+Titans-V-,34879,7,4,197
33151,patrick,0,0,1,682
9878,les+brigades+rouges,6791059,570,18,28
36823,les+bolosses,12253,4,3,283
27447,banbal,6105,1,1,389
38226,ALERIA,6135,2,1,388
Voici un extrait pour alliance !

Plus d'infos : http://wiki.fr.grepolis.com/wiki/Donn%C3%A9es_mondes
MRJBGO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 18h55   #6
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Copyright JBGO Tous droits réservés !

//alliances
ini_set("memory_limit", "-1"); // augmentation memoire
set_time_limit(0);  // illimite dans le  temps exé du script
$req = mysql_query("TRUNCATE TABLE alliances");
$datafile = file('data/alliances.txt'); // absortion des données
if(!is_array($datafile)) die("File could not be opened");
foreach($datafile as $datum){
 
	list($id, $name, $points, $villages, $members, $rank) = explode(',', $datum);
	$name=mysql_real_escape_string(urldecode($name));
	include ('connection.php');
	$sql = "INSERT INTO alliances (id, alliance_name, points, villages, members, rank) VALUES('$id', '$name', '$points', '$villages', '$members', '$rank')";
	mysql_query($sql) or die('la base alliances n\'a pas été mise à jour '.mysql_error());
 
}echo 'La table alliances à ete mise à jour:';
Voilà, je te propose d'essayer ce code.
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2011, 18h58   #7
Futur Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 135
Points : 17
Points : 17
Je teste maintenant ! Je te dis ce que ça donne !
MRJBGO est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 20/11/2011, 19h03   #8
Futur Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 135
Points : 17
Points : 17
SA MARCHEEEEEEEEEEEEEE !!!!

Merci énormément !!!
MRJBGO est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h28.


 
 
 
 
Partenaires

Hébergement Web