Checkbox pour valider

Résolu/Fermé
planeurbzh Messages postés 8 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 27 mai 2011 - 26 mai 2011 à 16:05
planeurbzh Messages postés 8 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 27 mai 2011 - 27 mai 2011 à 10:05
Bonjour,

Je poste ce message, car je suis sur un problème depuis une semaine. En fait, j'ai fait un site en php, avec une base de données. Sur ce site (entièrement réservé aux membres), les membres peuvent y poster des idées que je validerais ou non, cependant, j'ai fait quelque chose, un tableau avec une liste déroulante pour les valider mais en vain, comment faire, je n'y arrive pas, chaque fois cela ne veut pas valider. Si quelqu'un aurais une réponse à ma question, je vous en remercie grandement, parce que je ne sais plus ou chercher.
MERCI

Mon code
<?PHP
	$connexion = mysql_connect("localhost","root",""); // Connexion a la base
	if ($connexion) 
	{
		if (isset($_POST['valider']))
		{
			if (mb_eregi($_POST['valid'],"+"))
			{
				$valid='UPDATE idees SET validation="ok" WHERE num_idee="' .$_POST['valid'].'"';
				$validation=mysql_query($valid,$connexion);
				echo $valid;
			}
			else
			{
				$ref='UPDATE idees SET validation="refus" WHERE num_idee="'.$_POST['valid'].'"';
				$refus=mysql_query($ref,$connexion);
				echo $ref;
			}
		}
	}
?>

<html>
	<head>
		<title></title>
	<head>
	<body>
		<center>
			<FORM action ="" method='POST'>
				<h2> Modérer les idées </h2>
				<TABLE border="4" width="90%">
					<tr class="idees">
						<th> Nom de l'idée </TH>
						<th> Présentation de l'idée </th>
						<th> Date d'ajout </th>
						<th> Valider </th>
						<th> Refuser </th>
					</tr>
						<?php
							$idees='select NUM_IDEE,NOM_IDEE,LIB_IDEE,DATE_FORMAT(DATE_AJOUT,"%d - %m - %Y") AS dat
									FROM idees
									WHERE validation<>"ok"';
							$idee=mysql_query($idees,$connexion);
							$ide=mysql_fetch_assoc($idee);
							while ($ide) // tableau des idées
							{
								echo "<tr>
										<td>".$ide["NOM_IDEE"]."</td>
										<td>".$ide["LIB_IDEE"]."</td>
										<td>".$ide["dat"]."</td> 
										<td>
											<select name='valid'>
												<option value ='+".$ide["NUM_IDEE"]."'>Valider</option>
												<option value ='-".$ide["NUM_IDEE"]."'>Refuser</option>	
											</select>
										</td>
									</tr>";
								$ide=mysql_fetch_assoc($idee);
							}
						?>
				</table>
				<br>
				<INPUT TYPE="SUBMIT"  value="Valider"></td>
			</FORM>
		</center>
		<hr align='center' width='100%' color='#0E631F' size='3'> <br><p>
	</BODY>
</HTML>

Je fais tout dans la même page pour des soucis de place.
Merci encore

3 réponses

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
Modifié par Melooo le 26/05/2011 à 16:44
Salut,
Es-tu sur que tu rentre dans tes 3 if ?
As tu essayé d'exécuter ta requête dans Phpmyadmin ?
1
planeurbzh Messages postés 8 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 27 mai 2011
26 mai 2011 à 17:04
en fait je ne rentrais pas dans les if, mais la c'est corrigé, en fait, le soucis, c'est que je ne sais comment récupérer les numéros des idées a valider .... parce que par mon code, je récupère un + ou - devant le numéro ....
0
planeurbzh Messages postés 8 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 27 mai 2011
26 mai 2011 à 17:08
il n'y aurait pas un moyen de faire après, une requete en SQL avec le "+8" par exemple (l'idée 8 a été validée)
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
27 mai 2011 à 09:35
euh il vient d'ou ce + et ce - ?
0
planeurbzh Messages postés 8 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 27 mai 2011
27 mai 2011 à 09:42
en fait c'est pour savoir si l'idée est validée ou non, mais c'est bon, j'ai trouvé une solution .
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
Modifié par Melooo le 27/05/2011 à 10:04
ouai et le mieux je pense que c'est que tu donnes cette solution, pour les autres qui auraient le même souci que toi...
0
planeurbzh Messages postés 8 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 27 mai 2011
27 mai 2011 à 10:03
oui mais fallait que je termine mon code .... désolé ......
0
planeurbzh Messages postés 8 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 27 mai 2011
27 mai 2011 à 10:05
<?PHP
	$connexion = mysql_connect("localhost","root",""); // Connexion a la base
	if ($connexion) 
	{
		mysql_select_db("CVO",$connexion);
		if (isset($_POST['valider']))
		{
			if (mb_eregi($_POST['valid'],"+"))
			{
				//suppression du + / - devant le numero de l'idée
				$numidee=substr($_POST['valid'], 1);
				
				//Mise a jour de la table des idées avec un OK
				$valid='UPDATE idees SET validation="ok" WHERE num_idee="' .$numidee.'"';
				$validation=mysql_query($valid,$connexion);
			}
			else
			{
				//Sélection du numero de l'adhérent a l'origine du refus
				$adh="SELECT numero_adh FROM adherents WHERE NOM_UTILISATEUR='".$_SESSION['LOGIN']."'";
				$numadh = mysql_query($adh,$connexion);
				$numero = mysql_result($numadh,0);
				
				//suppression du + / - devant le numero de l'idée
				$numidee=substr($_POST['valid'], 1);
				
				//Mise a jour de la table idées
				$ref='UPDATE idees SET validation="refus" WHERE num_idee="'.$numidee.'"';
				$refus=mysql_query($ref,$connexion);
				
				//insertion dans la table refus 
				$insert="INSERT INTO refus (raison_refus,numero_adh,num_idee)
							values('".$_POST['raison']."','".$numero."','".$numidee."')";
				$inserer=mysql_query($insert,$connexion);
			}
		}
	}
?>

<html>
	<head>
		<title></title>
	<head>
	<body>
		<center>
			<FORM action ="" method='POST'>
				<h2> Modérer les idées </h2>
				<TABLE border="4" width="90%">
					<tr class="idees">
						<th> Nom de l'idée </TH>
						<th> Présentation de l'idée </th>
						<th> Date d'ajout </th>
						<th> Administrer </th>
						<th> Raison du refus </th>
					</tr>
						<?php
							$idees='select NUM_IDEE,NOM_IDEE,LIB_IDEE,DATE_FORMAT(DATE_AJOUT,"%d - %m - %Y") AS dat
									FROM idees
									WHERE validation<>"ok"
									AND validation<>"refus"';
							$idee=mysql_query($idees,$connexion);
							$ide=mysql_fetch_assoc($idee);
							while ($ide) // tableau des idées
							{
								echo "<tr>
										<td>".$ide["NOM_IDEE"]."</td>
										<td>".$ide["LIB_IDEE"]."</td>
										<td>".$ide["dat"]."</td> 
										<td>
											<select name='valid'>
												<option value ='+".$ide["NUM_IDEE"]."'>Valider</option>
												<option value ='-".$ide["NUM_IDEE"]."'>Refuser</option>	
											</select>
										</td>
										<td>
											<textarea name='raison'>Ne commenter qu'en cas de refus !!!!</textarea>
										</td>
									</tr>";
								$ide=mysql_fetch_assoc($idee);
							}
						?>
				</table>
				<br>
				<INPUT TYPE="SUBMIT" name='valider' value="Valider"></td>
			</FORM>
		</center>
		<hr align='center' width='100%' color='#0E631F' size='3'> <br><p>
	</BODY>
</HTML>

C'est un peu barbare, mais j'explique le fonctionnement, en fait, j'ai ajouté un + ou un - devant le numéro de l'idée, pour savoir si c'était une validation, ou un refus, et avant de faire l'insertion j'extrait de la chaine de caractères le + ou -.
Si besoin, n'hésitez pas à me contacter ...
0