copier une ligne dans une base de donnés

Répondre
delfyno
le 27/05/2009 à 16:59
delfyno
Bnojour,
j'ai fais un script pour ajouter des articles, modifier copier ou supprimer
quand je clique sur copier ca copier la ligne mais tous les colonnes de la nouvelle ligne sont remplies par le idArticle c'est a dire qu toutes les colonnes sont remplies mais que par l'idArticle ya que l'idArticle qui est copié dans toutes les colonnes et je ne sais comment resoudre ce problème aidez moi s'il vous plaît. Merçi d'avance

voici mon script
<?
include("connection.php");

//connection a la base
connectMaBase();


if(isset($_GET['copier']))
{
//On récupère les valeurs entrées par l'utilisateur :
$idArticle=$_GET['copier'];
$nomArticle=$_GET['copier'];
$descArticle=$_GET['copier'];
$intituleArticle=$_GET['copier'];
$prixArticle=$_GET['copier'];

echo $idArticle;
//echo $nomArticle;
//echo $descArticle;
//echo $intituleArticle;
//echo $prixArticle;



//requête SQL:
//$sql = "SELECT * FROM article ORDER BY noArticle" ;
//$sql = "SELECT * FROM article WHERE idArticle=' ".$idArticle." ' " ;
$sql = "SELECT noArticle, idArticle, nomArticle, descArticle, intituléArticle, prixArticle FROM article";

echo "<br>";
echo $sql;

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

//commande sql d'insertion
$sql = "INSERT INTO article VALUES('', '$idArticle', '$nomArticle', '$descArticle', '$intituleArticle', '$prixArticle')";

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

//$requete = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br/>'.mysql_error());

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

// on ferme la connexion
mysql_close();
}
?>
<br><br>

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

<center>
<a href="liste.php">liste des articles</a>
Darkendorf
le 27/05/2009 à 17:16
Darkendorf
tu met quoi dans ton $_GET['copier'] ??

sinon c'est normal, puisque tu mets la valeur de $_GET['copier'] dans toutes tes variable...

Dans $_GET[''] tu dois donner le nom de chacun des champs que tu veux récupérer. Comme :
$_GET['idArticle']
$_GET['nomArticle']
etc... en fonction du nom de tes champs dans ton formulaire.
LA GLOBULE
le 27/05/2009 à 20:12
LA GLOBULE
Il y a un truc aussi : à quoi sert ton select dont tu ne récupères pas les résultats ?
delfyno
le 28/05/2009 à 14:07
delfyno
Bonjour,
j'ai un script pour supprimer des articles dans ma base de données et quand je clique sur tout marche bien, la requete s'affiche ainsi que le idArticle et le je vois apparaître "la suppression a bien été éffectué et quand je vais dans ma base, l'article y est toujours alors depuis ds heures je cherche a resoudre ce souci mais jy arrive pas, aidez svp.
Merçi d'avance

<?ph
<?php //page de suppression
include("connection.php");

//connection a la base
connectMaBase();

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

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

echo $idArticle; echo "<br>";

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

//exécution de la requête SQL:
$requete = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
//$sql = "DELETE FROM article WHERE noArticle='3' ";


//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();
}
?>
<br><br>
<a href="form.php">Ajouter un article</a>

<center>
<a href="liste.php">Liste des articles</a>
p
Darkendorf
le 28/05/2009 à 15:14
Darkendorf
Ta requête s'effectue correctement, elle s'exécute bien, et donc elle te retourne ok, mais elle ne te dit pas si elle a effectivement supprimé quelque chose !!

en fait, si ton id et de 1, tu cherches à supprimer, d'après ta requête, l'id ' 1 ' (note les espaces) !
il ne trouve pas cette id certainement ^^

Si ton id est numérique, supprime les apostrophes :

$sql = "DELETE FROM article WHERE idArticle = ".$idArticle ;

s'il est alpha-numérique enlève les espaces ainsi :
$sql = "DELETE FROM article WHERE idArticle = '".$idArticle."' " ;
Répondre

Ecrire un message

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