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 :

Affichage des accents [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut Affichage des accents
    Bonjour,

    J’ai un problème avec les champs ou il y a des " ou /

    CLE A CHOC 1/2" MALLETTE

    Voila ma source

    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
    <?php 
    include('include/config.php'); 
    $q = mysql_connect(DBHOST, DBUSER, DBPASS);
    mysql_select_db(DBNAME, $q) or die("Impossible d'acceder a la base de donnees");
    mysql_select_db($base);
    if ((isset($_GET)) && ($_GET['abr'] != '')){ 
        $abr = $_GET['abr']; 
        $q = 'SELECT name from fiche_produits WHERE name LIKE \'%'.$abr.'%\'';
        $r = mysql_query($q); 
        $return = '<?xml version="1.0" standalone="yes"?><result>'; 
        if ((mysql_num_rows($r)>0)){ 
            $name = header('Content-Type: text/xml;');
            while ($rep=mysql_fetch_array($r)){         
                $name .= $rep['name'].';'; 
            } 
            $return .= '<name>'.$name.'</name>'; 
        } 
        if (mysql_num_rows($r)==0) $return .= '<name>;</name>'; 
        $return .= '</result>'; 
        header('Content-Type: text/xml'); 
        echo $return; 
    }         
    ?>

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    qu'est ce qui ne fonctionne pas ?
    dans le titre tu as parlé d'un problème d'accents

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Points : 73
    Points
    73
    Par défaut
    Si t'as des problèmes lorsque tu récupères des données ayant des " de la base de données, une idée serait de remplacer " par \" avant de les stocker dans la base de données.

  4. #4
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Oui c’est quand je récupère des données qui contienne des " de la base de données,

    Pour l’astuce de julien1311 je vais attendre pour voir si je ne trouve pas une autre astuce.

    Merci quand même

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    qu'est ce qui ne fonctionne pas ? donne nous plus de détails

  6. #6
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    C’est quand je récupère des données qui contienne des guillaumes de la base de données,
    J’ai une erreur javascript

    Quand je fais appelle Ici une erreur javascript
    CLE A CHOC 1/4" MALLETTE

    Quand je fais appelle Ici pas d’erreur javascript
    AGRAFEUSE CLOUEUSE PNEUMATIQUE


    Au début je ne voyer même le reculât

    En changeant $name = ‘’ par $name = header('Content-Type: text/xml;');

    Le résultat avec les accents est afficher mais avec une erreur javascript mais seulement pour les phrases qui contiennent des guillaumes les autres phrase aucune erreur.


    Merci

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Points : 73
    Points
    73
    Par défaut
    L'erreur vient du fait que les guillements ferment la requête SELECT ce qui crée une erreur. Tu dois utiliser un caractère d'échappement en faisant comme j'ai dit plus haut.

  8. #8
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Mais dans le script ou a chaque fois que je veut entrer des donner dans un formulaire qui seront stokes dans mysql ?

    Merci

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Points : 73
    Points
    73
    Par défaut
    Il faut le faire quand tu stockes les données pour être sûr de les récupérer bien formatées

  10. #10
    Inscrit
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    J’ai trouvé la solution, a la création du produit avec la fontion str_replace




    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
    function createProduct($product_name, $product_desc,
     
                       $default_qty,$default_uprice,$default_tax,$mgr_notes){
     
    $product_name =str_replace('"','-',$product_name);
     
    $sql = "INSERT INTO `".$this->dbconnect->getTablePrefix()."products`
     
                              (`name` , `description` , `quantity` , `price` , `tax` , `notes` )
     
    VALUES ('$product_name', '$product_desc', '$default_qty','$default_uprice','$default_tax','$mgr_notes')";
     
              $rlt = $this->dbconnect->queryUpdate($sql);
     
              return $rlt;
     
    }

    Merci a vous tous, mais surtout a julien1311

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

Discussions similaires

  1. Affichage des accents
    Par superseba-be dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/11/2006, 16h05
  2. [FLASH 8] Affichage des accents
    Par jbidou88 dans le forum Flash
    Réponses: 2
    Dernier message: 31/10/2006, 09h19
  3. Réponses: 1
    Dernier message: 22/12/2005, 15h45
  4. Réponses: 1
    Dernier message: 21/11/2005, 11h37
  5. Réponses: 11
    Dernier message: 16/12/2003, 19h58

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