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 :

Validation d'une news [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut Validation d'une news
    Bonjour,

    Je suis en train de programmer un petit script de news, et je suis confronté à un petit obstacle : pour le moment, je sais ajouter, modifier et supprimer des news, par contre je n'arrive pas à les mettre en attente de validation.

    L'idée serait que je puisse, en cochant une checkbox, modifier un champ de la table 'news' qui s'appelle 'valide' en lui attribuant la valeur '1' ou '0' selon qu'elle est cochée ou non... Du coup, ne seraient affichées que les news dont cette valeur est de '1' (chose que je sais déjà faire)

    Comment pourrais-je faire ?

    D'avance, merci !!

  2. #2
    Membre très actif Avatar de tim974
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 175
    Par défaut
    Salut,

    Tu viens de donner la réponse toi même!!

    Je vois pas quoi dire de plus.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut
    Hé bien j'ai l'idée mais pas la technique

    En fait je ne connais pas la condition qu'il faut mettre pour dire

    if ('la checkbox est cochée'){
    }
    else
    {
    }

    Et de plus, est ce qu'il faut que j'ajoute un bouton 'Envoyer' pour que le click soit pris en compte ? Parce que pour le moment, j'aurais beau cliquer dessus, il n'y aura aucune action de faite...

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bonjour

    Oui, il va falloir un bouton submit (ou alors une condition onclick="submit()" sur la checkbox)
    Et côté script d'arrivée, la condition est simple : si la variable $_POST correspondant à la checkbox existe c'est que la case a été cochée.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut
    Bon, alors, je pense commencer à comprendre, j'ai d'un côté la liste d'affichage des news en attente :

    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
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Titre</th>
    <th>Date</th>
    <th>Valider</th>
    </tr>
    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    ?>
    <tr>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['titre']); ?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
    <td>
    	<form method="post" href="validation.php">
    		<input type="checkbox" name="validation" onclick="submit()" />
    	</form>
    </td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les news
    Ensuite, j'ai mon cgi, "validation.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
    $connection = mysql_connect($host,$user,$password)
    	or die ("Connexion au serveur impossible");
    $db = mysql_select_db($database,$connection)
    	or die ("Selection de la base de données impossible");
     
    if ($_POST["validation"] == true)
    {
    	$request=mysql_query('UPDATE news SET valide='1' WHERE id='.$_donnees['id'].'');
    }
    else
    {
    	$request2=mysql_query('UPDATE news SET valide='0' WHERE id='.$_donnees['id'].'');
    }
     
    mysql_close();
    Le truc c'est que quand je clique sur la checkbox, elle ne reste pas cochée... Du coup, je n'ai aucun moyen de vérifier le code ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut
    Ah en fait j'ai trouvé, c'était un mauvais appel dans le formulaire '"href" au lieu de "action".

    Je mets le bout de code au cas où ! =)

    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
    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    	if($donnees['valide'] = 1)
    		{
    			"validation" == true;
    		}
    		else
    		{
    			"validation" == false;
    		}
    ?>
    <tr>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['titre']); ?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
    <td>
    	<form method="post" action="validation.php">
    		<input type="radio" name="valide" value="1" />
            <input type="submit" />
    	</form>
    </td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les news
    ?>
    Ici la page qui liste les news.
    Ci-dessous le script appelé :

    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
    <?php
    require_once("../init.php");
    include(RACINE_SITE.'connect.php');
     
    $connection = mysql_connect($host,$user,$password)
    	or die ("Connexion au serveur impossible");
    $db = mysql_select_db($database,$connection)
    	or die ("Selection de la base de données impossible");
     
    $valide=$_POST["valide"];
     
     
    if ($valide == "1")
    {
    	$request=mysql_query('UPDATE news SET valide=1');
    }
    else
    {
    	$request2=mysql_query('UPDATE news SET valide=0');
    }
     
    header("Location: liste_news.php"); //On reste sur la même page !
    mysql_close();
    ?>
    Merci pour votre aide !

    A bientôt

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

Discussions similaires

  1. [MySQL] script pour valider une news
    Par crazy_inf dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2008, 15h04
  2. Réponses: 5
    Dernier message: 28/04/2005, 10h38
  3. Récupération de données validées dans une pop-up
    Par hdd dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2004, 16h47
  4. [C#] Validation d'une form
    Par royrremi dans le forum ASP.NET
    Réponses: 3
    Dernier message: 31/05/2004, 22h23

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