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

Langage PHP Discussion :

nombre telechargement d'un livre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Par défaut nombre telechargement d'un livre
    salut,
    Je suis entrain de créer un site web et j'ai le probleme suivant:
    j'ai fait un programme en php qui compte le nombre de telechargement des livres donnés mais toujours lorsque je clique sur TELECHARGER (lien pour le programme de telechargement) cette erreur s'affiche:
    ERREUR: champs nb_telech inconnu dans field list.
    Voici le code :
    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
    </head>
     
    <body>
    <?php
    $connex = mysql_connect("localhost","root","");
    if (!$connex) die('Erreur : ' . mysql_error());
     
    $db_selected = mysql_select_db("biblio");
    if (!$db_selected) die('Erreur : ' . mysql_error());
    $req = "UPDATE ouvrage SET nb_telech = (nb_telech+1)";
    $exe = mysql_query($req) or die('Erreur : '.mysql_error());	
    ?>
    </body>
    </html>
    merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Essai sans les parentheses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "UPDATE ouvrage SET nb_telech = nb_telech+1";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Par défaut nombre telechargement
    salut,
    j'ai enlevé les parenthese mais ça ne marche pas.la même erreur s'affiche:
    Erreur : Champ 'nb_telech' inconnu dans field list
    Et lorsque je vérifie la table OUVRAGE(clic droit sur eeasyPHP,administration,mysql administration) ou j'ai ajouté le champ 'nb_telech' pour coché la case: auto_increment cette erreur s'affiche:
    Erreur
    requête SQL:

    ALTER TABLE `ouvrage` CHANGE `nb_telech` `nb_telech` INT( 6 ) NOT NULL AUTO_INCREMENT

    MySQL a répondu:

    #1075 - Un seul champ automatique est permis et il doit être indexé
    peut etre que c'est ça le probleme parce que le champ existe au niveau de la table.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Non, ce champ n'a pas besoin et ne doit pas être auto-incrementé.
    L'auto-incrémentation sert à garantir l'unicité des Ids d'une table, ce n'est pas ce que tu veux faire avec ce champ.

    Tu es sur d'avoir selectionné la bonne base ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Par défaut nombre_telechargement
    Salut,
    oui normalement c'est la bonne base.
    jusqu'à present j'ai trouvé aucune solution.si vous pouvez m'aider.
    bye,a+

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par sabotage
    Non, ce champ n'a pas besoin et ne doit pas être auto-incrementé
    La solution t'a été donnée : Supprime l'auto_increment.

    Un auto_incremente c'est fait pour que la Bdd accorde une valeur unique à chaque nouvelle ligne de manière automatique (d'où son nom), lors d'un INSERT INTO.
    Dans ton cas, tu ne crée pas de nouvelle ligne, tu mets à jour une ligne existante (+ 1) pour un UPDATE.


    Aussi, et si dans cette table 'ouvrage' il y a autant de lignes qu'il y a d'ouvrages (livres), quand tu fais un UPDATE, il faudrait désigner l'ouvrage concerné, rajouter une condition à la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE ouvrage SET nb_telech = nb_telech + 1 WHERE ouvrage_id = '10'
    Sans conditions, la mise à jour s'appliquera sur TOUS les ouvrages, sans exception.

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Par défaut nombre telechargement
    bonsoir,
    Non j'ai pas fais l'auto_increment ,j'ai dis que j'ai pas pu le faire et pas le contraire.
    J'ai réecris le programme pour que lorsque je selectionne un livre puis je clique sur TELECHARGER(lien vers telechargement.php) le compteur s'incremente a chaque fois que je clique pour telecharger un livre selectionné.
    voici le code:
    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
    21
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nouvelle page 1</title>
    </head>
     
    <body>
    <?php
    $connex = mysql_connect("localhost","root","");
    if (!$connex) die('Erreur : ' . mysql_error());
     
    $db_selected = mysql_select_db("biblio");
    if (!$db_selected) die('Erreur : ' . mysql_error());
    $lien=$_POST['lien'];
    $req = "UPDATE ouvrage SET nb_telech = nb_telech+1 where (lien='$lien')";
    $exe = mysql_query($req) or die('Erreur : '.mysql_error());	
    if ($exe) echo "ok";
    else echo "erreur";
    ?>
    </body>
    </html>
    Mais toujours une erreur s'affiche:
    Erreur : Champ 'lien' inconnu dans where clause.
    Moi je veux faire pour chaque livre(en prenant le lien de chaque livre) le compteur de telechargement de ce livre s'incremente a chaque telechargement.
    Merci.

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

Discussions similaires

  1. [MySQL] Connaitre le nombre de telechargement
    Par Général03 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/06/2009, 15h32
  2. telecharger des livre en visual c++
    Par sali lala dans le forum Visual C++
    Réponses: 2
    Dernier message: 22/08/2007, 10h08
  3. besoin de livres gratuits a telecharger
    Par sko3ji dans le forum C
    Réponses: 2
    Dernier message: 21/11/2005, 00h08

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