Limiter 5 insert dans une table MySQL

Résolu
Bonjour,

Est-ce qu'il existe une commande pour limiter 5 "insert" dans une table MySQL. (ne pas dépasser 5 ajouts)

Bonne commande mais qui permet plusieurs ajouts de données :
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) ");

J'ai essayé ça pour limité à 5 ajouts mais plus rien ne marche :
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur', WHERE 'id'=%u LIMIT 5) ");
ou
mysql_query("INSERT Into coeur VALUES ('','$titrecoeur','$fichiercoeur' ) WHERE 'titrecoeur'=%u LIMIT 5 ");

Merci pour votre aide



--
Aime tout le monde et tout le monde t'aimeras.
GilleduNord site : fouzitou.com/

3 réponses

  1. 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' ) ");
    }
    1. 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/
      1. Comment lances tu ta commande ? php ? mysql ?
      2. 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.
      3. 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 ?
      4. 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' ) ");
        }
      5. 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' ) ");  
        }
    2. 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.