Syntaxe pour un delete ? SVP

txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   -  
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut a tous,
J'ai un souci avec une ligne de code (pour la suppression d'une entrée dans la table).
Voici ce que j'ai écrit:
$query = "delete * FROM logiciels";
et l'erreur que j'ai dans easyphp.
Erreur : Erreur de syntaxe près de '* FROM logiciels' à la ligne
Dois-je spécifier tous les champs ? Si oui, a quoi sert l'* alors ? c'est bien pour dire TOUS les champs de la table, non ?

Merci pour votre réponse.

7 réponses

divx78 Messages postés 118 Statut Membre 3
 
Ton erreure vien du fait que ce ne soit pas la bonne syntaxe voici la bonne :

DELETE FROM Ta_bdd WHERE nom='Ta_selection'
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   523
 
Bonsoir et merci divx78,
Mais ça me semble très bizarre ton code... et de toutes façons il ne fonctionne pas plus....
Je t'en montre un peu plus (la sélection de la base est déjà faite):
<?
// ====================================
// On se connecte et on choisi la base de données
// ====================================
mysql_pconnect("localhost","root","") or die ("Impossible de se connecter à MySQL");
mysql_select_db("txiki") or die("Impossible de sélectionner la base de données");

//=====================================
// requête SQL qui supprime les infos de la fiche correspondante au lien cliqué 
//=====================================
$link = '$link';
$query = 'delete * from logiciels'; // On selectionne tous les champs de l'entrée a supprimer
$result = mysql_query($query)  or die ('Erreur : '.mysql_error() );

mysql_close();
?>

Je ne peux tout de même pas commencer par delete..... c'est peut-etre pas $query mais quelque chose dans le genre non ?
Merci encore à toi.
0
divx78 Messages postés 118 Statut Membre 3
 
oui ses exacte je vien de mieu regarder ton poste la commande que je vien de te donner est une commande SQL a rentrer directement dans la bdd ^^ dsl att je regarde ton script
DSL
0
divx78 Messages postés 118 Statut Membre 3
 
voila le code qu'il te faut :

<?
   // ouverture de la connexion
   $connexion = mysql_connect($hote,$utilisateur,$password);
   // choix de la base CD_test
   mysql_select_db('CD_test',$connexion);
   // constitution de la requête
   $requete="DELETE FROM CD");";
   mysql_query($requete,$connexion);
?>
0
divx78 Messages postés 118 Statut Membre 3
 
sa marche ?
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   523
 
??? c'est quoi cette variable connexion ?
Chui pas fort en php mais tu a une manière de coder toi ! ! !
Vais tester et te tiens au courant.
ad'taleur.....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   523
 
Au fait ! regarde ici: http://txiki.free.fr/index.php
tous les fichiers n'y sont pas mais...
en particulier celui de l'authentification (yen a pas)
0
divx78 Messages postés 118 Statut Membre 3
 
tu a Msn ou Mirc ?
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   523
 
Hélàs ! non !
Par contre, maintenant c'est la table COMPLETE qui est supprimée :-(((
Avec ce code c'est normal !.
Je voulais simplement supprimer la ligne correspondante au lien cliqué (coté gauche: supprimer).
//=====================    
// si on a récupéré un resultat on l'affiche.
//==========================
if($total) {
  echo "<table width='65%' bgcolor='#FFFFFF' border='1' cellspacing='0' cellpadding='8' align='center'>\n";
// première ligne on affiche les titres Accès et Logiciels dans 2 colonnes
        echo "<tr text-align='center' class='blanc'>";
        echo "<td bgcolor='#B1C3D9'><h2> Action </h2></td>";
        echo "<td bgcolor='#B1C3D9'><h2> Logiciels </h2></td>";
        echo "</tr>\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par lot de 3 lignes.    
    while($row = mysql_fetch_array($result)) {
  echo "<tr>";
  echo "<td rowspan='2' bgcolor='#FF9900' width='20%'>"; // largeur de la première colonne (fusion de 2 lignes)
  echo "<a href='fiche_detail.php?id=".$row['id']."'> Fiche détaillée </a><br>"; // <br> pour 1 saut moins important entre les 3 liens
  echo "<a href='admin_modifs.htm?id=".$row['id']."'> Modifier </a><br>"; // <br> pour 1 saut moins important entre les 3 liens
  echo "<a href='pre-delete.php?id=".$row['id']."'> supprimer </a>";

C'est la partie du tableau généré par le script php et qui propose d'afficher la fiche détaillée, La modif ou la Suppression d'une fiche.
Avant de passer a la page delete.php je préfère passer par pre-delete.php (je ne sais pas faire autrement pour la confirmation avant suppression définitive) mais peut-etre qu'on pourrait le faire via la même page ????
Merci encore.
0
divx78 Messages postés 118 Statut Membre 3
 
oula je suis vraiment dsl de n'avoir pas compris hoo dsl .
ta save ta bdd ?
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   523
 
Oui oui ! no soucy !
c'est un truc de test en local mais que j'ai hébergé chez free pour voir le comportement ailleurs que chez moi.
T'en fait pas ! hi hi hi
Le Pb, c'est que je n'arrive pas a sélectionner la ligne:
j'explique:
1 - j'affiche une première liste (nom et editeur) avec 3 liens chacun (fiche détaillée, Modification et Suppression).
2 - En cliquant sur Supprimer (d'un des logiciels) j'affiche une fiche complète d'abord avec un bouton Supprimer ce logiciel ?.
3 - Il devrait me supprimer le dit logiciel sélectionné avec le message disant "le logiciel a bien été supprimé de la base".

Pour l'ajout (réservé a 2/3 personnes uniquement comme la modif et la suppression d'ailleurs), on passe par une identification (qui ne marche pas pour le moment) mais celui-la fonctionne bien par contre (sauf que le texte en commentaires ne doit pas comporter d'apostrophes, je viens de m'en rendre compte) ce qui est embêtant car si je met un antislash, il me l'affichera aussi dans la fiche détaillée.

Voila ! si tu a une solution a un de mes Pb, je serais bien content déjà ! Et merci pour tout !
0