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
1/2 de la solution trouvée.
J'ai trouvé une solution :
Code:
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
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
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:
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.