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 :

Envoie de donnée vers une base [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut Envoie de donnée vers une base
    bonjour,

    je vous explik mon souci :

    j'ai une fonction qui me trouve une catégorie en matchant une phrase avec de smots clé :

    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
    function Categorie($titre)
    {
        $mots = explode(" ",$titre);
     
        // Vérification de chaque mot du titre avec les mots clé
        $nbMots = count($mots);
     
     
        foreach($mots as $keyword)
        {
            // Passe chaque mot en minuscule
            $keyword = strtolower($keyword);
            // supprimer les caratères accentués 
            $keyword = strtr($keyword,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",  "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
            // Ajoute \ devant les caractères spéciaux
            $keyword = addslashes($keyword);
            // Verifie si un des mots du titre ne fait pas partie de la liste de mots à exclure
            $sql_mots = mysql_query("SELECT * FROM `mots_out` WHERE `mots_out` LIKE '%" . $keyword ."%'") or die ("Erreur dans la requête des mots à exclure.");
            $res_mots = mysql_fetch_array($sql_mots);
            // Si le mot fait partie de la liste, ne pas le prendre en compte
            if($res_mots != TRUE )
            {
            $sql = mysql_query("SELECT * FROM `categories` WHERE `keywords` LIKE '%" . $keyword ."%'") or die ("Erreur dans la requête");
            $res = mysql_fetch_array($sql);
     
            $id = $res['id'];
     
                if($res['id'] != FALSE)
                    {
                    return $id;        
                    }
            }
        }
    }
    donc j'appelle cette fonction. ensuite, je veux envoyer l'Id de la catégorie vers ma base.

    mais parfois, la fonctione trouve plusioeurs catégories.

    Dans ce cas, je voudrais créer une nouvelle ligne avec exactement la meme annonce, seul l'Id de la catégorie (cty_id) changerais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mysql_query("INSERT INTO `emb_advertisement` 
    (`insert_date`, `offer_id`, `cty_id`, `adv_title`, `adv_description`, `adv_position_description`, `adv_organization`, `adv_recruiter_name`, `adv_email`, `adv_creation_date`, `adv_modification_date`, `adv_address`, `adv_city`, `adv_localisation`, `adv_post_code`, `adv_position_number`, `adv_salary_per_year`, `adv_start_date`, `adv_contract_type`) 
    VALUES 
    (NOW(), '$row', '$id_categorie', '$titre', '$description', '$desc_profil_recherche', '$entreprise', '$contact', '$mail', '$date_creation', '$date_modif', '$adresse', '$ville', '$localisation', '$code_postal', '$nbr_postes', '$salaire', '$debut_poste', '$type_contrat')") 
    or die("Impossible d'envoyer la donnée dans la base. L'erreur est : " . mysql_error());
    Or, pour le moment, un seul ID par phrase est entré dans la base et je ne comprends pas pourquoi...

    Merci
    Dernière modification par N1bus ; 10/10/2007 à 01h44.

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,
    Que retourne mysql_error() ?

    Sinon pour la requete, essaie dans les ``:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    mysql_query ("INSERT INTO emb_advertisement 
    (insert_date, offer_id, cty_id, adv_title, adv_description, 
    adv_position_description, adv_organization, adv_recruiter_name, 
    adv_email, adv_creation_date, adv_modification_date, adv_address, 
    adv_city, adv_localisation, adv_post_code, adv_position_number, 
    adv_salary_per_year, adv_start_date, adv_contract_type) 
    VALUES 
    (NOW(), '$row', '$id_categorie', '$titre', '$description', 
    '$desc_profil_recherche', '$entreprise', '$contact', 
    '$mail', '$date_creation', '$date_modif', '$adresse', 
    '$ville', '$localisation', '$code_postal', '$nbr_postes', 
    '$salaire', '$debut_poste', '$type_contrat')") 
    or die(mysql_error());

  3. #3
    Invité
    Invité(e)
    Par défaut
    mysqlerror ne renvoie pas d'erreur...ca doit etre un problème au niveau de ma fonction je pense. Ca fait pareil avec ou sans `.

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Essaie ça :
    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
     
    $q = "INSERT INTO emb_advertisement 
    (insert_date, offer_id, cty_id, adv_title, adv_description, 
    adv_position_description, adv_organization, adv_recruiter_name, 
    adv_email, adv_creation_date, adv_modification_date, adv_address, 
    adv_city, adv_localisation, adv_post_code, adv_position_number, 
    adv_salary_per_year, adv_start_date, adv_contract_type) 
    VALUES 
    (NOW(), '$row', '$id_categorie', '$titre', '$description', 
    '$desc_profil_recherche', '$entreprise', '$contact', 
    '$mail', '$date_creation', '$date_modif', '$adresse', 
    '$ville', '$localisation', '$code_postal', '$nbr_postes', 
    '$salaire', '$debut_poste', '$type_contrat')";
     
    echo $q;
    et regarde si la requete envoit bien les bonnes données.

    Comment récupères tu les valeurs ?
    utilises tu les super G $_POST ou $_GET ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    désolé j'avais complètement oublié ce message. le script est terminé.

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

Discussions similaires

  1. [AC-2010] envoie des données d'une base access a un siem
    Par rezguiinfo dans le forum Sécurité
    Réponses: 0
    Dernier message: 16/03/2011, 14h37
  2. Exporter des données vers une base de données Oracle
    Par sellamelie dans le forum MATLAB
    Réponses: 3
    Dernier message: 26/08/2009, 16h07
  3. Delphi et envoi de données Sur une base de données
    Par MooMo dans le forum Bases de données
    Réponses: 7
    Dernier message: 17/06/2007, 10h51
  4. [Access 2002] Exporter des données vers une base Access 2.0
    Par SamLeChiseuji dans le forum Access
    Réponses: 27
    Dernier message: 01/06/2006, 11h41
  5. Réponses: 1
    Dernier message: 05/04/2006, 09h49

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