Modification dans une bdd via une liste choisie via une checkbox
Bonjour,
Pour info, c'est mon premier site que je fais de A à Z, soyez indulgent si je pose des questions bêtes :oops:
Voilà, je vous soumets ma problèmatique.
Au boulot, je souhaite faire un petit portail en interne qui liste les documents dont nous avons besoin au quotidien dans notre service. Principalement de la documentation et des outils développés via macro sous VB.
J'ai bien avancé, et même si je ne sais pas encore comment je vais finir de trier et référencer la documentation (il y en a pour tous les gouts), j'ai déjà un peu avancé.
J'ai créé une bdd tout bête pour l'instant pour stocker les infos sur les documents
id : int(11) en auto increment
categorie :varchar(10)
application : varchar(15)
repertoire : varchar(255)
nom : varchar(100)
J'ai créé des pages en php pour lister facilement les documents par catégorie, ajouter un document dans la base ainsi que faire une recherche d'un document à partir d'un nom.
Maintenant je souhaite permettre à tout le monde de modifier les données sur un enregistrement (si le chemin change, ou bien le nom).
Je voulais partir de ce que j'avais déjà codé en recherche en rajoutant des checkbox dans la liste pour choisir le(s) enregistrements à modifier.
Je stocke ma fonction de recherche dans fonctions.php :
Code:
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
| function connexion(){
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('ina',$db);
}
function recherche_modification_doc($nom_doc){
$nom_doc_rec = '%' .$nom_doc. '%' ;
connexion();
$sql = 'SELECT *
FROM documentation
WHERE nom like "'.$nom_doc_rec.'"';
$resultat = mysql_query($sql) or die(mysql_error());
// $nb est le nombre d'enregistrement trouvé
$nb = mysql_num_rows($resultat);
if ($nb<1) {
echo ('<br>');
echo ('<br>');
echo ('Pas de document trouvé !');
}
echo "<ul>";
while($data = mysql_fetch_assoc($resultat)){
//ajout de \ en fin du chemin si oubli
$last_char = "\\";
if($data['repertoire'][strlen($data['repertoire'])-1]!= $last_char)
{
$data['repertoire'] .= $last_char;
}
echo ('<li><a target="_blank" href="file:///');
echo ($data['repertoire'].$data['nom'].'" title="'.$data['repertoire'].'">'.$data['nom']."</li>");
echo ('</a>');
}
echo "</ul>";
} |
Dans recherche_doc.php, j'ai :
Code:
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
| <?php
session_start();
include "sections/header.php";
?>
<script type="text/javascript"><!--
function verifier(formulaire){
//on s'assure que le boite d'erreurs est invisible
var affichage_erreurs = document.getElementById("affichage_erreurs");
affichage_erreurs.className="invisible";
affichage_erreurs.innerHTML="";
//on déclare un tableau d'erreurs vide par défaut
var erreurs=[];
//le champ nom doit être remplit
if ((formulaire.nom_document.value==null) || (formulaire.nom_document.value=="")){
erreurs.push("Le champ nom du document est requis");
}
//affichage des erreurs si il y en a, et blocage de l'envoi de données
if(erreurs.length>0){
for (x in erreurs){
affichage_erreurs.innerHTML+=erreurs[x]+"<BR>";
}
affichage_erreurs.className="visible";
return false;
}
//else{
// $nom_doc = formulaire.nom_document.value;
// echo ($nom_doc);
//}
}
// --></script>
<?php
if(isset($_GET["recherche"])){
switch($_GET["recherche"]){
case "erreur_requis":
$message="Erreur : un champ est requis";
break;
default:
$message="Résultat de la recherche de document contenant le nom : ";
}
}
?>
<h1>Recherche d'un document</h1>
<div id="affichage_erreurs" class="invisible"></div>
<form method="POST" action="action_recherche.php" onsubmit="return verifier(this)">
<label for="nom">Nom du document</label><input name="nom_document" id="nom_document" type="text" maxlength="100"><BR>
<input type="submit" value="Rechercher" name"Rechercher">
</form>
<?php
if(isset($_GET["recherche"])){
echo ('<br>');
echo $message;
echo ($_SESSION['recherche']);
recherche_doc($_SESSION['recherche']);
}
?>
<?php
include "sections/footer.php";
session_destroy();
?> |
et dans action_recherche.php (au cas où)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?php
session_start();
if(!empty($_POST)){
if( (strlen($_POST["nom_document"])==0)){
$recherche="erreur_requis";
}
$recherche= $_POST["nom_document"];
$_SESSION['recherche'] = $recherche;
header("Location:recherche_doc.php?recherche=".$recherche);
}
?> |
Je me suis renseigné sur comment ajouter des checkbox (pas encore pour les traiter, c'est ma prochaine étape une fois que je saurais les mettre en place), mais je ne vois pas trop comment l'implémenter.
Pourriez vous m'aider ?
Merci en tout cas d'avoir pris le temps de me lire.