Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » Cases à cocher (mais pas les 2 en même temps)
AuteurCases à cocher (mais pas les 2 en même temps)
bibi
16   

bibi
  Posté : 07-07-2003 14:04

voila !! tout est dans le titre !!

En fait je dois gerer une corbeille, et donc j'ai 2 cases à cocher, une pour supprimer et une pour restaurer !!
(et un bouton envoyer avec une boite de confirmation mais ça on s'en fout)
Donc j'aimerai qu'on ne puisse cocher qu'un case à la fois .....et pas les 2.....
Comment faire .....



voici le script si besoin :

<?

$HttpServer="HTTP_HOST";
$host="loc alhost";
$user="root";
$pass="";
$bdd=&quo t;bdplib";
$connexion=mysql_connect($host,$user,$pass) ;
@mysql_select_db($bdd,$connexion);
// sélectionne toutes les fiches de la table $table
$query = "SELECT * FROM informations where Valid='NON' and Supprimer='OUI' and (Type ='Démonstration' or Type ='Demonstration') order by Id ;";
$result = mysql_query($query, $connexion);
/* donne le nombre de ligne d'un resultat*/
$num_rows = mysql_num_rows($result);
if (isset($enregistrer)){

$j=0;

while($j<$num_rows){

/* si la case est cochée echo $HTTP_POST_VARS["check".$j]='on', */
/*et si la case est décochée alors echo $HTTP_POST_VARS["check".$j] n'a pas de valeur*/
if(isset($HTTP_POST_VARS["check".$j])){
$HTTP_ POST_VARS["check1".$j]!='on';
$requete=" delete from informations WHERE Valid='NON' and Supprimer='OUI' and ";
$requete.=" Id=" .$HTTP_POST_VARS["hid".$j] ;
$resultat = mysql_query($requete, $connexion);

}elseif (isset($HTTP_POST_VARS["check1".$j])){
$requete1="update informations set Supprimer='NON' and Valid='NON' where ";
$requete1.=" Id=" .$HTTP_POST_VARS["hid".$j] ;
$result1 = mysql_query($requete1, $connexion);

}
$j++;


}
$res ult = mysql_query($query, $connexion);

$num_rows=mysql_num_rows($result);
}

?& gt;
<html>
<head>
<title>Supprimer démonstration</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<SCRIPT>
function reset_envoyer()
{
//ouvre une boite de confirmation
if (confirm("Etes vous sûr de vouloir supprimer ?")) {
document.form1.submit();
}


function controle_choix(i)
{
var choix = document.form1.check;
if (i == 0)
{
if (choix[0].checked == true)
{
for (i = 1; i < choix.length; i++)
choix[i].checked = false;
}
}
else
{
if (choix[i].checked == true)
{
choix[0].checked = false;
}
}
}

</SCRIPT>

<body bgcolor="#FFFFE1" ALINK="#FF9900" LINK="#FF9900" VLINK="#FF9900">
<FONT FACE="Verdana" SIZE=6 COLOR="#FF8040">
<center> Démonstrations</center></font>
<br><form name="form1" METHOD="POST" ACTION="file:///C|/Program%20Files/EasyPHP/www/plib/admin/supprimer/./supd emo.php?enregistrer=1" >

<?
if ($result) {
If ($num_rows==0) {?>
<center><? echo("Il n'y a pas de nouveaux documents à supprimer");?> </center>

<?} else{ ?>
<center><? echo "Il y a ".$num_rows." nouveaux documents";?> </center>
<br>
<blockquote><blockquote><? /*tabulation*/?>
<? $i=0;?>

<table width="802" border="1">
<? while ($val=mysql_fetch_array($result)){ ?>
<br>
<tr>
<td width="127" height="20" valign="top"><br>
<br><br>

<? $id=$val["Id"] ;?>

<? /* la case à cocher*/?>
<input type="checkbox" name='check<?echo $i;?>' checked > Supprimer
<input type="hidden" name='hid<?echo $i;?>' value=<?echo $id ;?>>
<? $i++; ?>
</td>

<td width="119" height="20" valign="top"><br>
<br><br>

<? /* la case à cocher*/?>
<input type="checkbox" name='check1<?echo $i;?>' onclick="controle_choix()" > Restaurer


</td>
<td width="534" valign="top"> <br>
<LI>

<? If ($val["NameTitle"] != "") { ?>
<font face="Verdana" size=3 color="#FF8040"><b>
<? echo $val["NameTitle"]; ?>
</b></font><br>
<? } ?>

<? If ($val["Organization"]!=""){ ?>
<font face="Verdana" size=1 color="#0000FF"><b> Organisation : </b>
<? echo $val["Organization"];?>
</font><br>
<? } ?>

<? If ($val["Abstract"]!="") { ?>
<FONT FACE="Verdana" size=1 COLOR="#0000FF"><b> Résumé : </b>
<? echo $val["Abstract"];?></font><br>
<? } ?>

<? If ($val["Description"]!="") {?>
<FONT FACE="Verdana" size=1 COLOR="#0000FF"> <b>Description : </b>
<FONT FACE="Verdana" size=1 COLOR="#0000FF">
<A HREF="#" onclick="window.open('<? echo $val["Description"];?>','description','width=380,height=270,toolba r=no,,menubar=no,scrollbars=yes,resizable=no')">
<? echo $val["Description"];?></a></font></font><br&g t;
<? } ?>

<? If ($val["Keywords"]!=""){ ?>
<FONT FACE="Verdana" size=1 COLOR="#0000FF"><b>Keywords: </b>

<? echo $val["Keywords"];?></font><br>
<? } ?>

<? If ($val["URL"]!=""){ ?>
<? if (strpos($val["URL"],$httpserver) ){?>
<font face="Verdana" size=1 color="#0000FF"><b> URL : </b>
<a href="<? echo $val["URL"] ;?>" target="nwindow">
<? echo $val["URL"]; ?></a> </font><br>
<? } else { ?>
<font face="Verdana" size=1 color="#0000FF"><b> URL : </b>
<a href="<? echo $val["URL"];?>" target="nwindow">
<? echo $val["URL"];?></a> </font><br>
<? }?>
<? } ?>

<? If ($val["Contact"]!=""){ ?>
<FONT FACE="Verdana" size=1 COLOR="#0000FF"><b>Contact: </b>
<? echo $val["Contact"];?></font><br>
<? } ?>

<? If ($val["Email"]!=""){ ?>
<font face="Verdana" size=1 color="#0000FF"><b> E-mail :</b> <a href="mailto:'"&<? echo $val["Email"];?>&"'"><? echo $val["Email"];?></a><br></font>
<? } ?>

<? If ($val["Langue"]!=""){ ?>
<font face="Verdana" size=1 color="#0000FF"><b> Langue: </b>
<? echo $val["Langue"];?> </font><br>
<? } ?>
<? } ?>
<br>
</td>
</tr>
</table>
<br><br>

<?$val=mysql_result($result,$num_rows>$num=$num_rows);?>

<center><input type="Button" name="Button" value="Enregistrer les modifications" onclick="reset_envoyer()" ></center>

<? } ?>
<? } ?>

</blockquote></blockquote>
</form>
</body>

</html>

  Profil  
Tribal-Dolphin
4374       
 

Tribal-Dolphin
  Posté : 07-07-2003 14:14

utilise des boutons Radios, c plus simple.

  Profil  
bibi
16   

bibi
  Posté : 07-07-2003 14:43

Comment tu t'en sert des boutons radio dans un formulaire car j'ai essayé....

Ok ça marche, on ne peut en cocher qu'un à la fois ok !! mais pour le traitemnt des requete en fonction de la case cochée la j'y arrive pas vu qu'il ont le meme nom et qu'ils n'ont pas une valeur fixe dans mon script (boucle type caddie)

merci !!

  Profil  
Tribal-Dolphin
4374       
 

Tribal-Dolphin
  Posté : 07-07-2003 15:17

tu fait un barbarian like !!
tu met ta valeur après l'action.

Exemple =>
Le radio efface à la valeur efface:1 // et le retaure à la valeur restore:1 (1 étant l'id de l'enregistrement)

Ensuite, tu à plus qu'as fair un explode de la valeur et tu as les 2 paramètres dont tu as besoin.

  Profil  
bibi
16   

bibi
  Posté : 07-07-2003 16:44

dsl mais g rien compris t'aurais pas un exemple?
je suis débutant, je ne sais pas me servir des explode.

  Profil  
Tribal-Dolphin
4374       
 

Tribal-Dolphin
  Posté : 07-07-2003 20:08

<input type="radio" name="name" value="efface:1">

Lors du traitement du formulaire :

list($action,$id) = explode(":",$name);

if($action=="efface")
{ $query = mysql_query("DELETE FROM table WHERE id='$id'"); }

etc.............

C plus clair ??
En tous cas, je ne saurais trop te conseiller d'aller consulter la doc PHP sur www.nexen.net

@++

[ Message édité par : Tribal-Dolphin : 08-07-2003 06:27 ]

  Profil  
axel
10065       
 

axel
  Posté : 07-07-2003 21:07

moi je fais a la debutante :
<input type=radio name=xxxxx value=1>Effacer</input>
<input type=radio name=xxxxx value=2>Restaurer</input>
puis un pov if $xxxxx = 1 {f° pr effacer} else {F° pr restaurer}

Ms c un vrai truc de nabot en php...

[ Message édité par : Tribal-Dolphin : 08-07-2003 06:25 ]

  Profil  E-mail  www  
bibi
16   

bibi
  Posté : 08-07-2003 10:08

J'ai mis ce problème en attente mais j'ai exactement le même problème avec un autre truc donc je remets ça

ICI je dois afficher par ordre alphabetique ou par date, donc dans une page selon la variable récupérée par une session j'execute une requete order by ID ou ordre by Title

Voici le script de la page où je fais le choix de l'ordre ....

SCRIPT :

<?
session_name('ordo');
session_start();
?>
& lt;html>
<head>
<title>ordonner</title>
<me ta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<script>
func tion reset_envoyer(){
document.form1.submit();
window.open('../confirmatio n.php', 'confirmation', 'width=300,height=300,scrollbars=no');
}
</script>

<b ody bgcolor="#FFFFE1" text="#000099">
<font face="Verdana" size=6 color="#FF8040">
<center>
Démonstrations
</center>
</font> <br>
<form name="form1" method="POST" action="./ordonnedemo.php" >
<blockquote>
<blockquote>
<p>
<input type="radio" name="radiobutton" value="date">Classer par date</input>
</p>
<p>
<input type="radio" name="radiobutton" value="alpha">Classer par ordre alphab&eacute;tique</input>
<br>
<br>
</p>
<center>
<input type="Button" name="Button" value="Enregistrer les modifications" onClick="reset_envoyer()">

</center>
<?if ($radiobutton=="date"){
$ordre=="date";
}elseif($radiobutton=="alpha"){
$ordre=="alpha";
}
session_register('ordre');
?>

</blockquote></blockquote>
</form>
</body>
</html>




C'est un peu plus court que le précédent j'ai employé la dernière methide mais ça marche tjrs pas
De plus dreamweaver n'aime pas mes </input> ???????????

  Profil  
Guizmo
66    

Guizmo
  Posté : 08-07-2003 10:33

avec dream pas besoin de fermer la balise input

  Profil  
bibi
16   

bibi
  Posté : 08-07-2003 10:46

OK mais c koi le pb alors car je ne l'avais pas mise au début et ça marchait pas mieux.....

  Profil  
Tribal-Dolphin
4374       
 

Tribal-Dolphin
  Posté : 08-07-2003 13:02

Ben déjà, on vois pas ta requete SQL donc ça aide pas

Mais je dirais regarde si tu à bien un champ nommé "date" et un autre nommé "alpha" dans ta table.

  Profil  
bibi
16   

bibi
  Posté : 08-07-2003 13:17

Je n'ai pas de champs alpha et date(enfin j'ai un date mais je m'en sert pas dans la requete)
j'ai mis date et alpha mais j'aurai très bien pu mettre 1 et 2 c'est juste pour déterminer quelle requete je dois utiliser ..

Le probleme c'est que je n'arrive pas à utiliser la valeur des boutons radio....



début du script de la page d'affichage :

<?
session_name('ordo');
session_start();

$HttpS erver=$HTTP_HOST;
$host="localhost";
$user="root";
$pass="";
$bdd="bdplib";
@mysql_connect($host,$ user,$pass) or die ("impossible de se connecter");
@mysql_select_db("$bdd") or die ("impossible de se connecter");

if($ordre=="date"){
$query="SELE CT * FROM Informations WHERE Informations.Type='Demonstration' AND Informations.Valid='OUI' AND Informations.Langue='UK' ORDER BY Id ;";
}elseif($ordre=="alpha"){
$query="SELECT * FROM Informations WHERE Informations.Type='Demonstration' AND Informations.Valid='OUI' AND Informations.Langue='UK' ORDER BY NameTitle ;";
}else{
$query="SELECT * FROM Informations WHERE Informations.Type='Demonstration' AND Informations.Valid='OUI' AND Informations.Langue='UK' ORDER BY Id ;";

}

  Profil  
bibi
16   

bibi
  Posté : 08-07-2003 14:37

Apparement si j'utilise une session mes informations seront perdu à la connexion suivante, alors que je voudrai que les infos restent en memoire pour que je puissent decider de l'ordre d'affichage....

Faut il obligatoirement que je crée un nouvelle table avec les informations relatives à l'ordre que je désire ??? (je crois bien que oui)

  Profil  
Sauter à :

Temps : 0.0243 seconde(s)