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 du Club
    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
    Points : 54
    Points
    54
    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 actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Points : 241
    Points
    241
    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 ??
    NginX, SphinxSearch Addict !!

  3. #3
    Membre du Club
    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
    Points : 54
    Points
    54
    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 actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Points : 241
    Points
    241
    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...
    NginX, SphinxSearch Addict !!

  5. #5
    Membre du Club
    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
    Points : 54
    Points
    54
    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 actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Points : 241
    Points
    241
    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.
    NginX, SphinxSearch Addict !!

  7. #7
    Membre du Club
    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
    Points : 54
    Points
    54
    Par défaut
    Je teste maintenant ! Je te dis ce que ça donne !

  8. #8
    Membre du Club
    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
    Points : 54
    Points
    54
    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