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 :

Petit bug avec mysql_fetch_array() [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 35
    Points
    35
    Par défaut Petit bug avec mysql_fetch_array()
    Bonsoir,

    Voila j'ai fait un script pour les avancements mais, il y a un bug et je n'arrive pas à le déceler.

    Je vous remercie par avance pour m'aider à trouver le bug.

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\projet1\adm\liste_progression.php on line 50
    Ligne 48 à 55 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $retour = mysql_query('SELECT * FROM avancement ORDER BY id DESC');
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les avancements
    {
     
    $news = $donnees['id'];
    $valeur = $donnees['valeur'];
    ?>
    Si vous voulez toute la page, je serais ravis de vous la poster.

    D'avance merci

    Selmac

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    2 solutions :

    - tu ne te connecte pas la base
    - ta requete comporte une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $retour = mysql_query('SELECT * FROM avancement ORDER BY id DESC') or die(mysql_error());
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    Le message d'erreur ne s'affiche plus mais je ne peux plus ajouter d'avancements aussi :s

    liste_progression.php

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <?php print "<a href=\"new_progression.php\">"; ?>Ajouter une Progression</a>
    <?
    include ("sql.php");
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster une news ?
    //-----------------------------------------------------
     
    if (isset($_POST['nom']) AND isset($_POST['valeur']))
    {
        $nom = $_POST['nom'];
        $valeur = $_POST['valeur'];
        // On vérifie si c'est une modification de news ou pas
        if ($_POST['id'] == 0)
        {
            mysql_query("INSERT INTO avancement VALUES('', '$nom', '$valeur')");
        }
        else
        {
     
            $id = addslashes($_POST['id']);
     
            mysql_query("UPDATE avancement SET nom='$nom', valeur='$valeur' WHERE id='$id'");
        }
    }
     
     
    //--------------------------------------------------------
    // Vérification 2 : est-ce qu'on veut supprimer une news ?
    //--------------------------------------------------------
     
    if (isset($_GET['supprimer'])) // Si on demande de supprimer une news
    {
        // Alors on supprime la news correspondante
        // On protège la variable "id_news" pour éviter une faille SQL
        $_GET['supprimer'] = addslashes($_GET['supprimer']);
        mysql_query('DELETE FROM avancement WHERE id=\'' . $_GET['supprimer'] . '\'');
    }
    ?>
     
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Nom</th>
    <th>Valeur</th>
    </tr>
     
    <?php
    $retour = mysql_query("SELECT * FROM avancement ORDER BY id DESC");
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    $news = $donnees['id'];
    $valeur = $donnees['valeur'];
    ?>
     
     
    <tr>
    <td><?php print "<a href=\"new_progression.php?modifier=$news\">"; ?>Modifier</a></td>
    <td><?php print "<a href=\"liste_progression.php?supprimer=$news\">"; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['nom']); ?></td>
    <td><?php echo "$valeur %" ?></td>
    </tr>
     
    <?php
    }
    ?>
    </table>
    Avancement.php

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    <h2 align="center">Avancement des Projets</h2>
    <table width="199">
    <?php
    include ("sql.php");
    $retour = mysql_query("SELECT * FROM avancement");
    while ($donnees = mysql_fetch_array($retour)) 
    {
    ?>
    <tr>
    <td width="54" align="left" style="border:solid 1px #000000;"><? echo $donnees['nom']; ?></td>
    <td width="102" align="left" style="border:solid 1px #000000;"> <?
    switch ($donnees['valeur'])
    {
    case '0':
    ?>
    <img src="include/images/avancement/3.png" width="1" height="11" />
    <?
    break;
    case '5':
    ?>
    <img src="include/images/avancement/3.png" width="5" height="11" />
    <?
    break;
    case '10':
    ?>
    <img src="include/images/avancement/3.png" width="10" height="11" />
    <?
    break;
    case '15':
    ?>
    <img src="include/images/avancement/3.png" width="15" height="11" />
    <?
    break;
    case '20':
    ?>
    <img src="include/images/avancement/3.png" width="20" height="11" />
    <?
    break;
    case '25':
    ?>
    <img src="include/images/avancement/3.png" width="25" height="11" />
    <?
    break;
    case '30':
    ?>
    <img src="include/images/avancement/3.png" width="30" height="11" />
    <?
    break;
    case '35':
    ?>
    <img src="include/images/avancement/3.png" width="35" height="11" />
    <?
    break;
    case '40':
    ?>
    <img src="include/images/avancement/3.png" width="40" height="11" />
    <?
    break;
    case '45':
    ?>
    <img src="include/images/avancement/3.png" width="45" height="11" />
    <?
    break;
    case '50':
    ?>
    <img src="include/images/avancement/3.png" width="50" height="11" />
    <?
    break;
    case '55':
    ?>
    <img src="include/images/avancement/3.png" width="55" height="11" />
    <?
    break;
    case '60':
    ?>
    <img src="include/images/avancement/3.png" width="60" height="11" />
    <?
    break;
    case '65':
    ?>
    <img src="include/images/avancement/3.png" width="65" height="11" />
    <?
    break;
    case '70':
    ?>
    <img src="include/images/avancement/3.png" width="70" height="11" />
    <?
    break;
    case '75':
    ?>
    <img src="include/images/avancement/3.png" width="75" height="11" />
    <?
    break;
    case '80':
    ?>
    <img src="include/images/avancement/3.png" width="80" height="11" />
    <?
    break;
    case '85':
    ?>
    <img src="include/images/avancement/3.png" width="85" height="11" />
    <?
    break;
    case '90':
    ?>
    <img src="include/images/avancement/3.png" width="90" height="11" />
    <?
    break;
    case '95':
    ?>
    <img src="include/images/avancement/3.png" width="95" height="11" />
    <?
    break;
    case '100':
    ?>
    <img src="include/images/avancement/3.png" width="100" height="11" />
    <?
    break;
    }
    ?></td>
    </tr>
    <?php
    }
    ?>
    </table>
    new_progression.php

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    <?
    include ("sql.php");
    if (isset($_GET['modifier'])) // Si on demande de modifier une news
    {
        // On protège la variable "modifier_news" pour éviter une faille SQL
        $id = mysql_real_escape_string(htmlspecialchars($_GET['modifier']));
        // On récupère les infos de la correspondante
        $retour = mysql_query('SELECT * FROM avancement WHERE id=\'' . $id . '\'');
        $donnees = mysql_fetch_array($retour);
     
        // On place le titre et le contenu dans des variables simples
        $nom = stripslashes($donnees['nom']);
        $valeur = $donnees['valeur'];
        $id = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
        // Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news
        $nom = "";
        $valeur = 0;
        $id = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    ?>
    				 <form action="liste_progression.php" method="post" name="post" onsubmit="return checkForm(this)">
    				 Nom : <INPUT type="text" name="nom" value=<? echo $nom ; ?>>
    				  <SELECT name=valeur>
    				  <OPTION value=<? echo $valeur ;?> selected>Sélectionner une Valeur...</OPTION> 
    				  <OPTION value='0'>0%</OPTION>
    				  <OPTION value='5'>5%</OPTION>
    				  <OPTION value='10'>10%</OPTION>
    				  <OPTION value='15'>15%</OPTION>
    				  <OPTION value='20'>20%</OPTION>
    				  <OPTION value='25'>25%</OPTION>
    				  <OPTION value='30'>30%</OPTION>
    				  <OPTION value='35'>35%</OPTION>
    				  <OPTION value='40'>40%</OPTION>
    				  <OPTION value='45'>45%</OPTION>
    				  <OPTION value='50'>50%</OPTION>
    				  <OPTION value='55'>55%</OPTION>
    				  <OPTION value='60'>60%</OPTION>
    				  <OPTION value='65'>65%</OPTION>
    				  <OPTION value='70'>70%</OPTION>
    				  <OPTION value='75'>75%</OPTION>
    				  <OPTION value='80'>80%</OPTION>
    				  <OPTION value='85'>85%</OPTION>
    				  <OPTION value='90'>90%</OPTION>
    				  <OPTION value='95'>95%</OPTION>
    				  <OPTION value='100'>100%</OPTION>
    				  </select>
     
     <input type="hidden" name="id" value="<?php echo $id; ?>" />
     <input type="submit" value="Envoyer" />
     </form>
    La j'ai repris celui de base et il bug de partout et je n'arrive pas à trouver les problèmes :s

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

Discussions similaires

  1. Petit bug sur IE avec style.color
    Par zerros dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/11/2012, 10h06
  2. petit soucis avec un bug
    Par gentil-personnage dans le forum Débuter
    Réponses: 3
    Dernier message: 27/06/2009, 19h08
  3. Tout petit bug étrange avec parseInt
    Par Grizzzly dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/06/2008, 16h46

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