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 :

Doublons MySQL à l'ajout


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Par défaut Doublons MySQL à l'ajout
    bonjour, je poste aujourd'hui car je ne trouve pas de solution à un problème qui je le pense a déjà fait l'objet de post; malheureusement je ne sais pas comment les trouver...

    J'ai un script PHP qui récupère un flux contenant un artiste et un titre toutes les minutes; j'aimerai avant ajout en base de donnée, vérifier que cet artiste et ce titre n'a pas été dernièrement ajouté.

    En gros, pour éviter un doublon je vérifie le dernier enregistrement de ma table et je compare avec l'artiste et le titre actuellement diffusé; si c'est différent, j'ajoute, sinon non.

    Mon script fonctionne très bien, sauf quand il y a une quote dans le titre de la chanson en cours de diffusion.

    Comment le gérer ? Voici mon test :

    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
    /* On cherche le dernier Id */
    $result = SQLExec("SELECT idmusique FROM table_musique ORDER BY idmusique DESC LIMIT 1");
    $row    = mysql_fetch_array($result);
    $LastID = $row["idmusique"];
     
     
     
    /* On regarde si le titre était déjà celui d'avant */
    $query  = "SELECT * FROM table_musique WHERE artiste='{$artiste}' AND titre='{$titre}' AND idmusique='{$LastID}'";
     
    $result = SQLExec($query);
    $num    = mysql_num_rows($result);
     
     
    if (!$num){
     
    $tab = array (  'artiste'   => addslashes($artiste),
    		'artiste2'  => addslashes($artiste2),
    		'titre'     => addslashes($titre),
    		'heure'     => date("YmdHis"));
    SQLExec(SQLAdd('table_musique', $tab));
    }

    merci de votre aide

  2. #2
    Membre émérite Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Par défaut
    formate ta variable. Il faut toujours le faire.
    Essaye avec un htmlentities($artiste)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Par défaut
    le problème du htmlentities est qu'il renvoi la chaine en html; ce n'est pas ce que je veux; j'avais aussi essayé le addslashes. Du côté du addslashes je ne peux rien faire???

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/08/2009, 12h43
  2. Réponses: 8
    Dernier message: 09/06/2006, 14h42
  3. suppression de doublons mysql
    Par fredowski1 dans le forum Requêtes
    Réponses: 8
    Dernier message: 12/05/2006, 14h30
  4. Anti doublons MySQL
    Par FoX_McClouD dans le forum Outils
    Réponses: 4
    Dernier message: 30/04/2006, 23h56
  5. [dbExpress et mysql] Comment ajouter des connexions ?
    Par servlet1 dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/09/2005, 09h38

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