IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Access] Formulaire de suppression


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Par défaut [Access] Formulaire de suppression
    Bonjour,
    je suis en train de faire un formulaire de suppression en saississant la référence , il doit supprimer la ligne de la base de données Access.J'ai déjà fait un formulaire d'ajout .

    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    </body>
    </html>
    <?
     
    	$tab[] = $_REQUEST['ref'];
     
     
     
    	$bd="localhost"; // nom de la base de donnée déclarée par ODBC 
    	$user="root"; // login 
    	$password=""; // password 
     
    	echo $cnx=odbc_connect( "BDACCESS","","" ) or die ("Impossible de se connecter Ã* la bas de donnée").'<br>';
     
    	//recherche de la référence qui a été saisie
    	$ref = $_REQUEST['ref'];
     
     
    	$sql = "select * from document " ;
     
    	$where = false;
     
    	if (strcmp($ref,'')) 
    	{
    		if ($where) $sql.= "OR ref='$ref' ";
    		else { $sql.= "where ref='$ref' "; $where=true; }
    	}
     
    	//suppression dans la base de données
     
    	$sql = "delete into document " ;
    	$str = "'".$tab[0]."'";
    	for ($i=1;$i<count($tab);$i++)
    	{
    		$str .= ",'".$tab[$i]."'";
    	}
    	$sql .= "VALUES (".$str.")";
     
    	if (odbc_do($cnx, $sql) or die( odbc_error()."<br/>Requete: $sql" )) echo 'Ca marche'; else echo 'Ca marche pas' ;
     
     
    	odbc_close( $cnx);
     
    ?>
    voici mon code d'erreur :
    1
    Warning: odbc_do(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error in DELETE statement., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-8\www\projet1\gestiondoc\supprimer.php on line 47
    37000
    Requete: delete into document VALUES ('AB15241524')

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 667
    Par défaut
    est ce que tu es sur de ta requête de suppression ?
    d'habitude en SQL c'est plutôt ça :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DELETE FROM document
    WHERE ref = 'KJYE657687'

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Par défaut
    Voici mon code,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    </head>
     
    <body>
    </body>
    </html>
    <?
     
    	$tab[] = $_REQUEST['ref'];
     
     
     
    	$bd="localhost"; // nom de la base de donnée déclarée par ODBC 
    	$user="root"; // login 
    	$password=""; // password 
     
    	echo $cnx=odbc_connect( "BDACCESS","","" ) or die ("Impossible de se connecter à la bas de donnée").'<br>';
     
    	//recherche de la référence qui a été saisie
    	$ref = $_REQUEST['ref'];
     
     
    	$sql = "select * from document " ;
     
    	$where = false;
     
    	if (strcmp($ref,'')) 
    	{
    		if ($where) $sql.= "OR ref='$ref' ";
    		else { $sql.= "where ref='$ref' "; $where=true; }
    	}
     
    	//suppression dans la base de données
     
    	$sql = "DELETE FROM document
    	WHERE ref = '$ref'";
     
    	if (odbc_do($cnx, $sql) or die( odbc_error()."<br/>Requete: $sql" )) echo 'Ca marche'; else echo 'Ca marche pas' ;
     
     
    	odbc_close( $cnx);
     
    ?>
    ce qu'il me renvoie c'est le message 'ca marche' mais le souci est que la suppression ne se fait pas dans la base de données.
    Je ne vois pas où est l'erreur.
    merci de bien vouloir m'aider.

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/06/2006, 10h21
  2. [Access] Formulaire
    Par toniox dans le forum VBA Access
    Réponses: 4
    Dernier message: 24/05/2006, 13h35
  3. [ODBC ACCESS]Formulaires
    Par Jean_Benoit dans le forum Administration
    Réponses: 4
    Dernier message: 16/01/2006, 13h25
  4. Access Formulaire continu à l'horizontal ?
    Par fabrice518 dans le forum IHM
    Réponses: 2
    Dernier message: 22/11/2005, 16h16
  5. pb access formulaire dynamique
    Par jibouze dans le forum IHM
    Réponses: 3
    Dernier message: 12/01/2005, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo