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 :

Attribuer un ID à une table selon la selection [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut Attribuer un ID à une table selon la selection
    Bonjour.

    Mon exposé :

    J'ai 10 catégories
    SELECT * FROM catégories WHERE id=8

    J'ai le produit 45,66,99 et 299 dans la catégorie 8.
    qui correspond à l'id : 45,66,99 et 299.

    Comment attribuer un ID pour avoir une table temporaire

    pour obtenir ceci :

    45 a le ID 1
    66 a le ID 2
    99 a le ID 3
    299 a le ID 4

    et ensuite pouvoir afficher la liste?

    Ma solution serait :

    SELECT INTO tmptable * FROM catégories WHERE id=8

    mais ça marche pas.

    En passant, j'ai deux tables
    - 10 catégories
    - 1000 produits
    On oublie souvent la simplicité ou la base dans la vie: Maslow

  2. #2
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut 1/2 de la solution trouvée.
    J'ai trouvé une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE temporary TABLE `origami`.`tmpbd` (
    `idnum` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    ) ENGINE = MYISAM 
    AS 
    (SELECT * FROM ori_comen WHERE idimg=45);
    SELECT * FROM tmpbd;
    Mais ceci va créer une table temporaire que je pourrais exploiter
    le temps de la requête. J'ai testé avec phpmyadmin mais
    pas testé en PHP. Je ne sais pas jusque où que la requête va
    être exploitable.

    Qu'arrive-t-il si y a plusieurs internautes qui va dans la page
    qui exécute la requête?


    Citation Envoyé par dancom5 Voir le message
    Bonjour.

    Mon exposé :

    J'ai 10 catégories
    SELECT * FROM catégories WHERE id=8

    J'ai le produit 45,66,99 et 299 dans la catégorie 8.
    qui correspond à l'id : 45,66,99 et 299.

    Comment attribuer un ID pour avoir une table temporaire

    pour obtenir ceci :

    45 a le ID 1
    66 a le ID 2
    99 a le ID 3
    299 a le ID 4

    et ensuite pouvoir afficher la liste?

    Ma solution serait :

    SELECT INTO tmptable * FROM catégories WHERE id=8

    mais ça marche pas.

    En passant, j'ai deux tables
    - 10 catégories
    - 1000 produits
    On oublie souvent la simplicité ou la base dans la vie: Maslow

  3. #3
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut en PHP, ça marche pas.
    Si quelqu'un a une solution, je suis preneur. Je m'en remets à un pro.
    Merci.

    J'ai ça comme message :
    Fatal error: Call to a member function fetch_object() on a non-object in ***\comments.php on line 23
    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
    $resultat=$connexion->query("
     
    CREATE temporary TABLE `origami`.`tmpbd` (
    `idnum` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    ) ENGINE = MYISAM 
    AS 
    (SELECT * FROM origami.ori_comen WHERE idimg=45);
    (SELECT * FROM origami.tmpbd);
     
    ");
     
    while ($ligne = $resultat->fetch_object()){
     
    	echo $ligne->idnum.' - ';
     
    }
    On oublie souvent la simplicité ou la base dans la vie: Maslow

  4. #4
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut Résolu pour la syntaxe, une question reste
    J'ai séparé en deux requêtes et ça marche.

    Une requête pour la création temporaire
    et un pour l'affichage.

    Mysql ne supporte pas les requêtes multiples
    dans une seule.

    La version finale :
    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
    $connexion->query("
    	CREATE temporary TABLE `origami`.`tmpbd` (
    	`idnum` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
    	) ENGINE = MYISAM 
    	AS 
    	(SELECT * FROM origami.ori_comen WHERE idimg='$idimg');
    ");
     
    $resultat=$connexion->query("
    	(SELECT * FROM origami.tmpbd ORDER BY idnum DESC);
    ");
     
    while ($ligne = $resultat->fetch_object()){
     
    	echo $ligne->idnum.' - ';
    	echo $ligne->name.' - ';
    	echo $ligne->desc.' - ';
    	echo $ligne->date.'<br>';
     
    }
    Ceci peut aider d'autres personnes vu les recherches non fructueuse sur Google. Alors, j'ai testé pendant plusieurs fois autant avec phpmyadmin pour la syntaxe mysql et en PHP.

    La question en suspends, c'est :

    Qu'arrive-t-il lorsqu'il y a plusieurs requêtes en même temps, je veux dire plusieurs visiteurs sur la page?

    Et que faut-il faire s'il y a problème.
    On oublie souvent la simplicité ou la base dans la vie: Maslow

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/08/2011, 22h05
  2. update d'une table suivant un select d'une autre table
    Par cortex024 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/03/2007, 12h38
  3. [MySQL] Lister le contenu d'une table selon un champ
    Par MisteroL dans le forum Langage SQL
    Réponses: 1
    Dernier message: 29/01/2007, 23h19
  4. Transfert vers une table selon condition
    Par Monsieur Peck dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 13/06/2006, 13h34
  5. [debutant] charger une page selon un select
    Par scorpking dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 02/06/2006, 09h37

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