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

Requêtes MySQL Discussion :

Requête récuperer x enregistrement tableau


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut Requête récuperer x enregistrement tableau
    Bonjour.

    Dans ma table je possède un champ qui contient un tableau inséré par un serialize dans ma bdd.

    Voici un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a:4:{i:0;s:1:"1";i:1;s:1:"4";i:2;s:1:"9";i:3;s:2:"12";}
    Il y a donc 4 enregistrement dans ce champs de ma bdd.

    Vu que je met un système de pagination, j'aimerai pouvoir faire une requête qui me permet de selectionner que 3 enregistrement dans ce champs.

    Est ce possible?

    Merci d'avance.
    Cordialement

  2. #2
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    Il n'y a pas de mécanisme de lecture des variables PHP sérializées dans MySql.

    2 solutions s'offrent à toi :

    - Tu récupères le champ sérializé entièrement et tu le déserialize en PHP puis tu refais une requète avec les valeurs trouvées

    - Tu utilises une expression régulière qui saura récupérer les 3 premières valeur de ton champ serializé...

    Toutefois, pourquoi enregistrer des tableaux sérializés dans MySql ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Dans mon cas par exemple pour stoquer des ip lors d'un système de vote et dans un autre cas plus particulier.

    Cela ne se pratique pas trop?
    Je trouve ca hyper pratique en tout cas.

  4. #4
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    A ma connaissance non ça ne se pratique pas, d'autant plus que ce champ semble entrer dans les critères de ta requète.

    A mon avis il faut que tu revoies la structure de tes tables. Une table qui possède plusieurs enregistrements peut déjà être vu comme un tableau.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Je prends note du conseil.

    J'ai reussi à me debrouiller en faisant un unserialize et ensuite je traite ceci.
    Merci.

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

Discussions similaires

  1. [Oracle] Afficher les résultats d'une requète récuperé par un $post dans un tableau
    Par roswina dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/05/2015, 12h24
  2. Réponses: 1
    Dernier message: 14/06/2010, 11h02
  3. [Requête]Affichage d'un tableau à partir de 2 tables SQL
    Par sp4ever dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/10/2005, 11h32
  4. Réponses: 4
    Dernier message: 14/12/2004, 14h34
  5. Récuperer l'enregistrement précédent.
    Par zebiloute dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/04/2004, 13h01

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