Limiter 5 insert dans une table MySQL
Résolu/Fermé
Gilledunord
Messages postés
49
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
27 mars 2013
-
21 juil. 2011 à 09:49
Gilledunord Messages postés 49 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mars 2013 - 27 mars 2013 à 06:17
Gilledunord Messages postés 49 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 27 mars 2013 - 27 mars 2013 à 06:17
A voir également:
- Limiter 5 insert dans une table MySQL
- Table ascii - Guide
- Table des matières word - Guide
- Touche insert - Guide
- Mysql community server - Télécharger - Bases de données
- Disk boot failure insert system disk and press enter - Guide
3 réponses
thevinou
Messages postés
1008
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
10 mars 2015
190
21 juil. 2011 à 10:21
21 juil. 2011 à 10:21
En SQL :
CREATE PROCEDURE dowhile()
BEGIN
DECLARE v1 INT DEFAULT 5;
WHILE v1 > 0 DO
INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' )
SET v1 = v1 - 1;
END WHILE;
END
Si tu lances ta commande par du PHP :
for(i=0;i<5;i++)
{
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
}
CREATE PROCEDURE dowhile()
BEGIN
DECLARE v1 INT DEFAULT 5;
WHILE v1 > 0 DO
INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' )
SET v1 = v1 - 1;
END WHILE;
END
Si tu lances ta commande par du PHP :
for(i=0;i<5;i++)
{
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
}
Gilledunord
Messages postés
49
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
27 mars 2013
2
Modifié par Gilledunord le 21/07/2011 à 11:24
Modifié par Gilledunord le 21/07/2011 à 11:24
thevinou
J'ai remplacé ma commande :
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
par : (copier/coller)
for(i=0;i<5;i++)
{
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
}
mais j'ai une eurreur au niveau : for(i=0;i<5;i++)
idem pour le 1er code que tu donne, (copier/coller)
je ne sais pas ce qu'il manque c'est en erreur...
-----------------------------
Leviathan49
Le WERE ne fonctionne pas
Aime tout le monde et tout le monde t'aimeras.
GilleduNord site : fouzitou.com/
J'ai remplacé ma commande :
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
par : (copier/coller)
for(i=0;i<5;i++)
{
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
}
mais j'ai une eurreur au niveau : for(i=0;i<5;i++)
idem pour le 1er code que tu donne, (copier/coller)
je ne sais pas ce qu'il manque c'est en erreur...
-----------------------------
Leviathan49
Le WERE ne fonctionne pas
Aime tout le monde et tout le monde t'aimeras.
GilleduNord site : fouzitou.com/
thevinou
Messages postés
1008
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
10 mars 2015
190
21 juil. 2011 à 11:34
21 juil. 2011 à 11:34
Comment lances tu ta commande ? php ? mysql ?
Gilledunord
Messages postés
49
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
27 mars 2013
2
21 juil. 2011 à 11:45
21 juil. 2011 à 11:45
Depuis un formulaire vers le fichier "ajout.php"
qui contient le "insert"
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
ça marche mais je voudrais que si la table a déjà 5 colonnes alors de ne pas pouvoir en mettre plus.
qui contient le "insert"
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
ça marche mais je voudrais que si la table a déjà 5 colonnes alors de ne pas pouvoir en mettre plus.
thevinou
Messages postés
1008
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
10 mars 2015
190
21 juil. 2011 à 14:18
21 juil. 2011 à 14:18
Je ne comprend pas trop; si la table à déjà 5 entrée, tu n'en ajoutes pas ? Est ce que tu vérifies le nombre d'entrée et tu ajoutes ce qui manque ou tu ajoute que 5 entrées dans la table, même si celle ci contient déjà x entrées ?
Gilledunord
Messages postés
49
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
27 mars 2013
2
21 juil. 2011 à 14:51
21 juil. 2011 à 14:51
Je pense que je m'explique mal, désolé.
Voilà ce que je voudrais faire :
J'essaye de faire une page d'accueil (boutique commerce) qui ne peut contenir que 5 fiches des nouveautés.
Mais si j'insert plus de 5 fiches dans la base (table MySQL), dans la partie réservé à ma page d'accueil, les fiches dépasse du cadre réservé, donc je voudrais faire un système qui m'empêche de mettre plus de 5 fiches (articles) dans la table réservé à cet effet.
C'est-à-dire que si la table contient 5 articles (ou fiches) un script interdit d'en mettre plus, d'où la limite a 5 fiches.
Je pense que par le départ je dois savoir combien de colonnes contient ma table et de-là empêcher le rajout si le nombre 5 est atteint.
J'ai essayé ça mais ça ne marche pas :
$req = mysql_query("SELECT * FROM coeur ") or die ("erreur requête coeur");
$resultat = mysql_fetch_array ($req);
if ($resultat['titrecoeur'] > '5')
{ echo ''; }
if ($resultat['titrecoeur'] < '5')
{
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
}
Voilà ce que je voudrais faire :
J'essaye de faire une page d'accueil (boutique commerce) qui ne peut contenir que 5 fiches des nouveautés.
Mais si j'insert plus de 5 fiches dans la base (table MySQL), dans la partie réservé à ma page d'accueil, les fiches dépasse du cadre réservé, donc je voudrais faire un système qui m'empêche de mettre plus de 5 fiches (articles) dans la table réservé à cet effet.
C'est-à-dire que si la table contient 5 articles (ou fiches) un script interdit d'en mettre plus, d'où la limite a 5 fiches.
Je pense que par le départ je dois savoir combien de colonnes contient ma table et de-là empêcher le rajout si le nombre 5 est atteint.
J'ai essayé ça mais ça ne marche pas :
$req = mysql_query("SELECT * FROM coeur ") or die ("erreur requête coeur");
$resultat = mysql_fetch_array ($req);
if ($resultat['titrecoeur'] > '5')
{ echo ''; }
if ($resultat['titrecoeur'] < '5')
{
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");
}
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
Modifié par Leviathan49 le 21/07/2011 à 15:02
Modifié par Leviathan49 le 21/07/2011 à 15:02
Ce que fait ton code c'est tester si le titrecoeur de la première ligne de ta base est supérieur ou inférieur à 5. Ce qui n'est apparement pas ce que tu veux. Essayes ceci :
$req = mysql_query("SELECT COUNT(*) FROM coeur ") or die ("erreur requête coeur"); $resultat = mysql_result($req,0); if ($resultat > 5) { echo 'superieur à 5'; } if ($resultat < 5) { mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) "); }
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
21 juil. 2011 à 10:23
21 juil. 2011 à 10:23
LIMIT n'est valable que pour un select il me semble. A voir.
Sinon je trouve ton where bizarre essaye :
INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur') WHERE 'id' like '%u' LIMIT 5.
Sinon, si ça ne marche pas, fait un SELECT * from coeur WHERE 'id' like '%u' avant et vérifie que tu obtiens moins de 5 lignes en réponse.
Sinon je trouve ton where bizarre essaye :
INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur') WHERE 'id' like '%u' LIMIT 5.
Sinon, si ça ne marche pas, fait un SELECT * from coeur WHERE 'id' like '%u' avant et vérifie que tu obtiens moins de 5 lignes en réponse.