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

PHP & Base de données Discussion :

PHP urlencode() help ^^ [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    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 : 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
    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 !!

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Par défaut
    Bonjour,

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

    Tu parles de ce qui est déjà dedans surement, non ??

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    Par défaut
    Excuse moi ^^ j'ai oublié une partie !

    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
    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 !

  4. #4
    Membre très actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Par défaut
    Plus efficace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    Par défaut
    Merci !!

    Il y a des données du type :


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

  6. #6
    Membre très actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Par défaut
    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
    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.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    Par défaut
    Je teste maintenant ! Je te dis ce que ça donne !

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 148
    Par défaut
    SA MARCHEEEEEEEEEEEEEE !!!!

    Merci énormément !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XML] PHP -> XML Help - besoin d'1 heure de support
    Par nils06000 dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 10/04/2012, 10h45
  2. Java, PHP, iReport Help
    Par Sl@ke dans le forum Jasper
    Réponses: 4
    Dernier message: 02/08/2011, 15h53
  3. PB mysql php please help me
    Par karibouhh dans le forum Requêtes
    Réponses: 3
    Dernier message: 25/03/2006, 17h30
  4. [Help] pb d'insertion via PHP ...
    Par romtrash dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/04/2005, 11h47

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