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 :

Suppression dans Base SQL [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut Suppression dans Base SQL
    Bonjour,
    je souhaite supprimer des données dans une tranche de date
    et voici le message d'erreur que j'ai :
    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 '* FROM evenement WHERE date_ev BETWEEN '&date_depart' AND '2011-09-01'' at line 1

    Merci de votre aide.

    Voici mon code PHP :
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>MON SITE</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
     
    <body>
     
    <?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
     
    <?php
     
    // On ne vérifie pas l'année !
    if(isset($_POST['annee'])) $annee=$_POST['annee'];
    else $annee="2011";
     
    // création de la date de départ au format date MySQL
    $date_depart=$annee.'-'.$_POST['date2'].'-'.$_POST['date1'];
     
    // création de la date de fin au format date MySQL
    $date_fin=$annee.'-'.$_POST['date4'].'-'.$_POST['date3'];
     
    //On remet les dates au format français
    setlocale (LC_TIME, 'fr_FR.UTF8');
    $date_vue_depart = strftime("%A %d %B",strtotime("$date_depart"));
    $date_vue_fin = strftime("%A %d %B",strtotime("$date_fin"));
     
    // Affichage de la date de départ et de fin en français
    echo '<br>'.'</br>';
    echo 'Du :  '.'<b>'.ucwords(strtolower($date_vue_depart)).'&nbsp;'.'&nbsp;'.'&nbsp;'.'</b>';
    echo 'Au : '.'<b>'.ucwords(strtolower($date_vue_fin)).'</b>';
    echo '<br>'.'</br>';
     
    // connexion à la base
    $db = mysql_connect('sql.free.fr', 'user', 'mdp')  or die('Erreur de connexion '.mysql_error());
     
    // sélection de la base  
    mysql_select_db('nom_de_la_base',$db)  or die('Erreur de selection '.mysql_error());
    $select2 = "SELECT * FROM evenement WHERE date_ev BETWEEN '&date_depart' AND '$date_fin'";
    $result = mysql_query($select2) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
    //On vérifie que la table contient quelque chose
    if
    (mysql_num_rows($result) == 0)
    {
    echo '<p>'.'<b>'.'Aucun &eacute;v&egrave;nement &agrave supprimer ! '.'</b>'.'</p>'.
    '<p>'.'</p>'.
    '<br>'.'</br>'.
    '<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
    }
    //Si il y a des entrées	  
    else
    {
    //On fait une boucle pour sortir toutes les entrées
    while($affiche = mysql_fetch_array($result))
     {
    echo '<p>'.'</p>';
    echo '<b>'."<div class='recherche'>".$affiche["type_evenement"]."   ".'</b>'."</div>";
    echo '<p>'.'</p>';
    echo "<div class='recherche'>"."    > ".$affiche["type_etab"]."   "."</div>";
    echo '<b>'."<div class='recherche'>"."    > ".$date_vue."   ".'</b>'."</div>";
    echo "<div class='recherche'>"."    > ".$affiche["secteur"]."   "."</div>";
    echo "<div class='recherche'>"."Début à : ".$affiche["heure"]."   "."</div>";
    echo "<div class='recherche'>"."  Tarif : ".$affiche["tarif"]."   "."</div>";
    echo "<div class='recherche'>"." où ? ".$affiche["lieu"]."   "."</div>";
    echo '<b>'."<div class='recherche'>"." qui ? ".$affiche["nom"]."   ".'</b>'."</div>";
    echo '<p>'.'</p>';
    echo "<div class='recherche'>"."      < ".$affiche["description"]."   "."</div>";
    echo '<br>'.'</br>';
     
    //On ferme la boucle while
     }
    $select3 = "DELETE * FROM evenement WHERE date_ev BETWEEN '&date_depart' AND '$date_fin'";
    $result4 = mysql_query($select3) or die ('Erreur : '.mysql_error() );
     
    //on ferme le else
    echo '<p>'.'<b>'.'Ces donn&eacute;es ont bien &eacute;t&eacute; supprim&eacute;es ! '.'</b>'.'</p>';
    echo '<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
    }
     
    // Fermeture de la connexion à la base de données
    mysql_close();		
    ?>
     
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
     
    </body>
     
    </html>

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Par défaut
    Bonjour,

    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 '* FROM evenement WHERE date_ev BETWEEN '&date_depart' AND '2011-09-01'' at line 1
    &date_depart ou $date_depart ?

  3. #3
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut Suppression dans Base SQL
    Effectivement, c'est bien $ et non &...
    mais cela ne fonctionnait pas : 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 '* FROM evenement WHERE date_ev BETWEEN '2011-01-01' AND '2011-04-01'' at line 1...
    => eh oui, j'avais oublié d'enlever le * avant FROM et là ça fonctionne bien !
    encore un grand merci à vous.

    Code corrigé :
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>MON SITE</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
     
    <body>
     
    <?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
     
    <?php
     
    // On ne vérifie pas l'année !
    if(isset($_POST['annee'])) $annee=$_POST['annee'];
    else $annee="2011";
     
    // création de la date de départ au format date MySQL
    $date_depart=$annee.'-'.$_POST['date2'].'-'.$_POST['date1'];
     
    // création de la date de fin au format date MySQL
    $date_fin=$annee.'-'.$_POST['date4'].'-'.$_POST['date3'];
     
    //On remet les dates au format français
    setlocale (LC_TIME, 'fr_FR.UTF8');
    $date_vue_depart = strftime("%A %d %B",strtotime("$date_depart"));
    $date_vue_fin = strftime("%A %d %B",strtotime("$date_fin"));
     
    // Affichage de la date de départ et de fin en français
    echo '<br>'.'</br>';
    echo 'Du :  '.'<b>'.ucwords(strtolower($date_vue_depart)).'&nbsp;'.'&nbsp;'.'&nbsp;'.'</b>';
    echo 'Au : '.'<b>'.ucwords(strtolower($date_vue_fin)).'</b>';
    echo '<br>'.'</br>';
     
    // connexion à la base
    $db = mysql_connect('sql.free.fr', 'user', 'mdp')  or die('Erreur de connexion '.mysql_error());
     
    // sélection de la base  
    mysql_select_db('nom_de_la_base',$db)  or die('Erreur de selection '.mysql_error());
    $select2 = "SELECT * FROM evenement WHERE date_ev BETWEEN '$date_depart' AND '$date_fin'";
    $result = mysql_query($select2) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
    //On vérifie que la table contient quelque chose
    if
    (mysql_num_rows($result) == 0)
    {
    echo '<p>'.'<b>'.'Aucun &eacute;v&egrave;nement &agrave supprimer ! '.'</b>'.'</p>'.
    '<p>'.'</p>'.
    '<br>'.'</br>'.
    '<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
    }
    //Si il y a des entrées	  
    else
    {
    //On fait une boucle pour sortir toutes les entrées
    while($affiche = mysql_fetch_array($result))
     {
    echo '<p>'.'</p>';
    echo '<b>'."<div class='recherche'>".$affiche["type_evenement"]."   ".'</b>'."</div>";
    echo '<p>'.'</p>';
    echo "<div class='recherche'>"."    > ".$affiche["type_etab"]."   "."</div>";
    echo '<b>'."<div class='recherche'>"."    > ".$date_vue."   ".'</b>'."</div>";
    echo "<div class='recherche'>"."    > ".$affiche["secteur"]."   "."</div>";
    echo "<div class='recherche'>"."Début à : ".$affiche["heure"]."   "."</div>";
    echo "<div class='recherche'>"."  Tarif : ".$affiche["tarif"]."   "."</div>";
    echo "<div class='recherche'>"." où ? ".$affiche["lieu"]."   "."</div>";
    echo '<b>'."<div class='recherche'>"." qui ? ".$affiche["nom"]."   ".'</b>'."</div>";
    echo '<p>'.'</p>';
    echo "<div class='recherche'>"."      < ".$affiche["description"]."   "."</div>";
    echo '<br>'.'</br>';
     
    //On ferme la boucle while
     }
    $select3 = "DELETE FROM evenement WHERE date_ev BETWEEN '$date_depart' AND '$date_fin'";
    $result4 = mysql_query($select3) or die ('Erreur : '.mysql_error() );
     
    //on ferme le else
    echo '<p>'.'<b>'.'Ces donn&eacute;es ont bien &eacute;t&eacute; supprim&eacute;es ! '.'</b>'.'</p>';
    echo '<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
    }
     
    // Fermeture de la connexion à la base de données
    mysql_close();
     
    ?>
     
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
     
    </body>
     
    </html>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chercher occurence dans base sql serveur 2000
    Par davis dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/10/2007, 16h40
  2. [SQL] Faire une recherche plus modification dans base sql
    Par ju3979 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 09/08/2007, 17h26
  3. [SQL] Problème insertion dans Base SQL après saisie d'un formulaire
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 15/05/2007, 13h44
  4. Builder Borland C++ 6 : Ecrire dans base SQL
    Par AngelFire dans le forum C++Builder
    Réponses: 1
    Dernier message: 08/05/2007, 22h40
  5. [MySQL] Supprimer entrée dans base sql par un simple clique
    Par mickado dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/03/2007, 17h15

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