Bonjour,
J'affiche une table de ma BDD dans un tableau.
J'aimerai faire que si le compte n'est pas activer, cliquer sur le bouton pour que ça active le compte.
<?
mysql_connect("", "", "");
mysql_select_db("");
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT Nom_Entreprise,nom,prenom,Adresse_Email,Compte_Active FROM Comptes_Utilisateurs WHERE Nom_Entreprise != NULL OR Nom_Entreprise != \'\'';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo '<table width="809px" border="0" cellspacing="1" cellpadding="0">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr align="center">';
echo '<td width="14%" class="TABLE-HEAD"><strong>Nom Entreprise</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Nom</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Prenom</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Email</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Compte Active</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Activation</strong></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr align="center">';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"Nom_Entreprise"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"nom"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"prenom"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"Adresse_Email"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"Compte_Active"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle"><a href="modification.php"><button type="button">Activation</button></a></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
Je sais qu'il faut que j'utilise UPDATE, mais j'arrive pas a faire ce que je veux faire.
J'espère que vous avez compris.
Merci d'avance.
j'ai commencé à faire ça :
<?php
mysql_connect("", "", "");
mysql_select_db("");
$nom_entreprise = $_COOKIE"NOM_ENTREPRISE"];
if ($_COOKIE"Compte_Active"] == non) {
$modifier = 'UPDATE Comptes_Utilisateurs SET Compte_Active = \'oui\' WHERE nom_entreprise=$nom_entreprise';
$result = mysql_query($modifier) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
}
if ($result) {
header("Location: liste.php");
}
else {
header("Location: index.php");
}
?>
Mais ça me renvoie toujours a la page index.php
avant ton if met un print_r($result); die(); Pour voir ce que contient ton tableau.
Mais rien que là je peux te dire qu'il y a une erreur dans ta requête dans le WHERE tu colle la variable alors que tu devrais faire :
$modifier = 'UPDATE Comptes_Utilisateurs SET Compte_Active = \'oui\' WHERE nom_entreprise=\''.$nom_entreprise.'\'';
J'ai mis ce code :
<?php
mysql_connect("mysql5-59", "chsaintachsta", "Alexia2007");
mysql_select_db("chsaintachsta");
$nom_entreprise = $_COOKIE"NOM_ENTREPRISE"];
if ($_COOKIE"Compte_Active"] == non) {
$modifier = 'UPDATE Comptes_Utilisateurs SET Compte_Active = \'oui\' WHERE nom_entreprise=\''.$nom_entreprise.'\'';
$result = mysql_query($modifier) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
print_r($result);
die();
}
?>
Mais il y a rien qui s'affiche, j'ai une page blanche.
J'ai changé ma première page, pour que le bouton ne s'affiche seulement si le compte n'est pas activé comme ceci :
<?
mysql_connect("", "", "");
mysql_select_db("");
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
// récupère tous les enregistrements
$select = 'SELECT Nom_Entreprise,nom,prenom,Adresse_Email,Compte_Active,ID_Utilisateur FROM Comptes_Utilisateurs WHERE Nom_Entreprise != NULL OR Nom_Entreprise != \'\'';
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo '<table width="809px" border="0" cellspacing="1" cellpadding="0">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr align="center">';
echo '<td width="14%" class="TABLE-HEAD"><strong>Nom Entreprise</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Nom</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Prenom</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Email</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Valide</strong></td>';
echo '<td width="14%" class="TABLE-HEAD"><strong>Action</strong></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '<tr align="center">';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"Nom_Entreprise"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"nom"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"prenom"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"Adresse_Email"].'</td>';
echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"Compte_Active"].'</td>';
if ($row'Compte_Active'] == "non"){ ?>
<td height="40" class="TABLE-BODY" valign="middle"><a href="modification.php?ID_Utilisateur=<?php $row"ID_Utilisateur"]?>"><img src="Images/valide.jpg"></img></a></td>
<?php
}
else { ?>
<td height="40" class="TABLE-BODY" valign="middle">
<?php
}
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
Je me suis rendu compte qu'il vaut mieux que je transmette le id que le nom_entreprise donc c'est pour ça mon <a href="modification.php?ID_Utilisateur=<?php $row"ID_Utilisateur"]?>">.
la page modification.php donne ça :
<?php
mysql_connect("", "", "");
mysql_select_db("");
$id = $_GET"ID_Utilisateur"];
$result = mysql_query('UPDATE Comptes_Utilisateurs SET Compte_Active = \'oui\' WHERE ID_Utilisateur='.$id) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if ($total) {
echo("La modification à été correctement effectuée") ;
}
else
{
echo("La modification à échouée") ;
}
?>
Mais j'ai une erreur : Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Pourtant sur ma première page si je remplace " echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"Compte_Active"].'</td>'; " par " echo '<td height="40" class="TABLE-BODY" valign="middle">'.$row"ID_Utilisateur"].'</td>'; " Ben il y a bien les ID_Utilisateur qui s'affiche donc mon $id ne doit pas être vide.
Je suis me planté quelque par??
Merci de votre aide.