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 :

checkbox et mysql


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Par défaut checkbox et mysql
    Bonjour tout le monde !

    Je suis étudiant en informatique (bachelier informatique et système : réseau et telecom). De ma propre initiative j'ai décidé de creer un portail pour les étudiants afin qu'ils puissent poster et lire des news à propos des cours et qu'ils puissent partager des download. Jusqu'ici j'ai su me débrouiller pour faire ce que j'avais en tête mais là je bloque.

    J'ai fait une page qui affiche leurs posts (par exemple les news) et j'aimerais qu'ils puissent sélectionner les posts qu'ils veulent modifier (via checkbox)

    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
     
    		if($table=='news')
    		{
     
    			$sql= "SELECT id,titre,texte,auteur, DAY(date) AS jour, MONTH(date) AS mois, YEAR(date) AS annee FROM news WHERE  auteur='$login' ORDER BY id DESC"  ;
    			$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());	
     
     
    			?>
     
     
        		<form action="admin_edit_del.php" method="post">
    			<?php
     
    			while($donnees=mysql_fetch_array($req))
    			{
     
    				 echo '<div class="zone_texte_sub">';
    				echo '<div class="h1_edit"><span class="date_news">'.$donnees['jour'] . '/' . $donnees['mois'] . '/' . $donnees['annee'] .'&nbsp;</span>&nbsp;'.$donnees['titre'].'<span class="check_edit"><input type="checkbox" value="'.$donnees['id'].'"></span></div>';
    				echo '<p>'.$donnees['texte'].'</p>';
    				echo '</div>';
     
     
    			}
     
    			?>
                <input type="hidden" name="table" value="<?php echo "$table" ?>" />
        		<br /><center><input type="reset" value="annuler" /><input type="submit" name="submit" value="editer" /><input style="border-color:red; color:red;" type="submit" name="submit" value="supprimer" /></center><br>
        		</form>
    			<?php
    		}

    Les données sont récuperées sous forme ( affiché via print_r dans la page appellée par le formulaire) :

    Array
    (
    [49] => on
    [48] => on
    [table] => news
    [submit] => editer
    )
    Savez vous comment je pourrais récuperer, via ces checkbox, les id que j'aimerais updater voir supprimer de ma base de donnée ?

    merci !

  2. #2
    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
    Salut

    Savez vous comment je pourrais récuperer, via ces checkbox, les id que j'aimerais updater voir supprimer de ma base de donnée ?
    C'est plutôt simple.
    L'idée est d'exploiter le HTML afin de renvoyer un tableau à plusieurs dimensions qui contiendront toutes les news.

    Exemple : (au niveau de la boucle du formulaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while($donnees=mysql_fetch_array($req))
    {
    ... etc ...
    echo '<input type="checkbox" name="news_id[]" value="'.(int)$donnees['id'].'" />';
    }
    A la validation, tu obtiendras alors un tableau structuré comme ceci :
    $_POST['news_id'][0], etc ...
    Avec plus ou moins de données, tout dépend du nombre de cases cochées, et peut être même aucune (du coup "new_id" n'existera pas).


    Pour faire le traitement en boucle (update ou delete), il suffit de faire une boucle foreach()
    Exemple : (partie réception/traitement des données)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($_POST['news_id'])) {
        foreach ($_POST['news_id'] as $news_id) {
            // On met ici à jour chaque données avec -> $news_id
        }
    }

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Par défaut
    merci pour ta réponse =)

    Ca me parrait tout simple maintenant ! Pour une raison obscure je n'arrivaias à faire passer un tableau via la méthode POST, et là je vois quie ca marche tout à fait, ce qui est dommage c'est que je ne vois plus pourquoi je bloquais, j'ai éssayé tant de trucs que je sais plus ce que j'ia éssayé . Dans les forums certains disaient qu'il fallait utiliser la fonction serialize et unserialize, mais au final je vois que ca fonctionne sans probleme... bref ca fonctionne , merci beaucoup =)

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

Discussions similaires

  1. [MySQL] checkbox et mysql
    Par gueud dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 13/05/2008, 23h27
  2. Réponses: 5
    Dernier message: 18/02/2008, 16h11
  3. Inserer valeur checkbox dans MySQL
    Par Kornikopic dans le forum IHM
    Réponses: 3
    Dernier message: 19/06/2007, 13h22
  4. probleme checkbox et mysql
    Par faucon54 dans le forum SQL Procédural
    Réponses: 10
    Dernier message: 16/05/2007, 21h04
  5. Récupérer des valeurs de checkbox dans MySQL
    Par digger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2005, 14h58

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