ajouter, copier, modifier et supprimer des données mysql

Répondre
delfyno
le 04/06/2009 à 16:19
delfyno
j'ai un souci, mes copier, modifier et supprimer ne marchent plus depuis que j'ai rajouté les 5 lignes après le while

<?php
include("connection.php");

//connection a la base
connectMaBase();

$reponse = mysql_query("SELECT * FROM article ") or die(mysql_error());
?>

<center>
<table border=5 bgcolor="red"><tr>
<caption>Liste des articles</caption>
<th>noArticle</th>
<th>idArticle</th>
<th>nomArticle</th>
<th>descArticle</th>
<th>intituléArticle</th>
<th>prixArticle</th>
<th>Copier</th>
<th>Modifier</th>
<th>Supprimer<b></th>
</tr>
<?
while ($donnees = mysql_fetch_array($reponse) ){
$idArticle = $donnees['idArticle'];
$donnees['prixArticle'] = number_format($donnees['prixArticle'], 2, ',',' ');
$idArticle = substr($donnees['nomArticle'], -$donnees['nomArticle'], 10);
$idArticle = str_replace(CHR(32),"_",$idArticle);
$md = substr(md5(time()), -md5(time()), 4);
?>
<tr>
<td><div align = center><?echo $donnees['noArticle'];?> </td>
<td><div align = center><?=supprimerAccent($idArticle . $md)?></center></td>
<td><div align = center><?echo $donnees['nomArticle'];?></center> </td>
<td><div align = center><?echo $donnees['descArticle'];?></center></td>
<td><div align = center><?echo $donnees['intituléArticle'];?></center></td>
<td><div align = center><?echo $donnees['prixArticle'];?>&euro;</td>
<td><div align = center><?echo '<a href="copier.php?id='.$idArticle.'">';?> Copier</a></td>
<td><div align = center><?echo'<a href="modifier.php?id='.$idArticle.'">';?> Modifier</a></td>
<td><div align = center><a href="<?echo 'supprimer.php?supprimer='.$idArticle.'';?>
" onclick="return confirm('Êtes vous sûre de vouloir supprimer cet article ?');">Supprimer</a></td>
</tr>
<?}?>

</table>

<?
mysql_close();
?>

<html>
<br><br><br>
<a href="form.php">Ajouter un article</a><br>
</html>

<?
//supprimer les accents
function supprimerAccent($chaine){
$chaine = strtr($chaine,"ÀÂÄÇÈÉÊËÌÎÏÑÒÔÕÖÙÛÜ","AAACEEEEIIINOOOOUUU");
$chaine = strtr($chaine,"àáâãäåçèéêëìíîïñòóôõöùúûüýÿ","aaaaaaceeeeiiiinooooouuuuyy");
return $chaine;
}
?>


avant que je ne rajoute ces 5 lignes après le while, copier, modifier et supprimer marchaient très bien. c'est surtout la ligne 27 qui pose problème car si je la mets en commentaire, j'arrive a copier, modifier et supprimer 1 article.
Est ce que qeulqu'un pourrait me dire pourquoi ca ne marche pas?
Merçi d'avance
LA GLOBULE
le 04/06/2009 à 17:56
LA GLOBULE
Ben la ligne 27 fait un substr, donc elle modifie donc ton id.

Et dans la page supprimer.php, je pense que tu utilises cet id modifié, donc il ne doit pas te le trouver en base.
delfyno
le 05/06/2009 à 00:29
delfyno
oui exact l'id est modifié mais je ne sais comment faire pour le recupérer voiçi mon code pour supprimer
<?phpinclude("connection.php");

//connection a la base
connectMaBase();

if (isset ($_GET['supprimer'])){

//récupération des valeurs des champs
$idArticle = $_GET['supprimer'];

//création de la requête
$sql = "DELETE FROM article WHERE idArticle = '".$idArticle."' " ;
echo $sql;

//exécution de la requête
$requete = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
echo "<br>";

//affichage des résultats pour savoir si la modification a marchée
if ($requete){
echo("La suppression à été correctement éffectuée") ;
}else{
echo("La suppression à échouée") ;
}

// on ferme la connexion
mysql_close();
}?>
LA GLOBULE
le 05/06/2009 à 09:52
LA GLOBULE
Ben si il n'est pas modifié en base, tu ne dois pas le modifier, sinon, tu ne pourras pas le retrouver.
delfyno
le 05/06/2009 à 11:05
delfyno
problème résolu mais maintenant je voudrais que lorsque je copie un article, l'idArticle soit le même que celui de l'article précédent suivi d'un md5(time()). quelqu'un pourrait m'aider car je ne sais comment faire, dans la liste des articles l'idArticle est egale aux 10 premieres lettres de nomArticle mais comment faire en sorte q'il soit suivi d'un md5(time()) lors de la copie.
Merçi d'avance
LA GLOBULE
le 05/06/2009 à 11:44
LA GLOBULE
Ben il te suffit de faire une concaténation non ?

Genre $id = substr($nom_article, 0, 10).md5(time());
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours