Bonjour,

J'ai un tableau qui affiche le titre des document. avec un lien modifier ou supprimer.

Le problème quand je clique sur supprimer j'ai le message d'erreur suivant :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\site-pessac\intranet\admin\execrequete.php on line 27
Voulez vous supprimer ce document:
Le titre ne s'afiiche pas (il doit s'affiché normalement apres "Voulez vous supprimer ce document:")

Mais quand je clique sur executer, ça marche bien!

Apparement l'erreur vient de cette partie de docsimple.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
else if ($_GET['mode']=='SUP')
        {
        $slash_titre = mysql_real_escape_string($_GET['titre']);
       $requete = "DELETE FROM sqp WHERE titre='$slash_titre'";
       // $requete = "SELECT * FROM sqp WHERE titre='$slash_titre'";
        $resultat = ExecRequete($requete,$connexion);
        $titre = LigneSuivante ($resultat);
        //$titre = mysql_fetch_array ($resultat);
        supdocsimple (MODE_SUP, $titre);
 
 
        }
Mais quand je remplace "DELETE FROM sqp WHERE titre='$slash_titre'" par "SELECT* FROM sqp WHERE titre='$slash_titre'"

Le titre s'affiche mais la supression ne fonction pas


Voici les code

docsimple.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
<?php
 
...
 
if (!isSet ($_POST['action']) and !isSet ($_GET['mode']))
{
//l'execution n'est pas lancé depuis le formuliare
// ou depuis l'une des ancre créée dans le tableaudocuments()
// donc ont affiche le tableau document
tableaudocuments ($connexion);
// on place un ancre pour ajouter un document
echo "<a href='docsimple.php?mode=".MODE_INSERTION."'>Ajouter un document</a>\n";
}
else
{
//traitement des evenement itilisateur receulie pas l'application
    if (isSet($_GET['mode']))
    {
    //on recupère les donnés du document
 
    // formulaire près repli
        if ($_GET['mode']== 'maj')
        {
        $slash_titre = mysql_real_escape_string($_GET['titre']);
        $requete = "SELECT * FROM sqp WHERE titre='$slash_titre'";
        $resultat = ExecRequete($requete,$connexion);
        $titre = LigneSuivante ($resultat);
        ajoutdocsimple (MODE_MAJ, $titre);
        }
        else if ($_GET['mode']=='INSERTION')
        {
        // on affiche un formulaire de saisite vièrge
        ajoutdocsimple (MODE_INSERTION, $NULL_TITRE);
        }
        // formulaire pour suprimer
        else if ($_GET['mode']=='SUP')
        {
        $slash_titre = mysql_real_escape_string($_GET['titre']);
       $requete = "DELETE FROM sqp WHERE titre='$slash_titre'";
       // $requete = "SELECT * FROM sqp WHERE titre='$slash_titre'";
        $resultat = ExecRequete($requete,$connexion);
        $titre = LigneSuivante ($resultat);
        //$titre = mysql_fetch_array ($resultat);
        supdocsimple (MODE_SUP, $titre);
 
 
        }
    }
   ....
     ?>
supdocsilpme.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
<?php
 function supdocsimple ($mode, $val_defaut)
{
$def= $val_defaut['titre'];
 echo "<table class=none>"
 ."<FORM  ACTION=docsimple.php METHOD=POST><p>"
  ."<INPUT TYPE=HIDDEN NAME='mode' VALUE=$mode>";
 
  if ($mode=='SUP')  
 
  {
  echo "<tr><td><p>Voulez vous supprimer ce document: <td><p>$def</p>"
  ."<INPUT TYPE=HIDDEN NAME=titre VALUE='$def'>"
  ."<tr><td> <COLSPAN=2><INPUT TYPE=SUBMIT VALUE='Executer'>"
."</FORM></table>";
}
 
}
?>
tableaudocument.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
<?php
 
// affichage des document selon leur catégorie
function tableaudocuments ($connexion)
{
require_once ('biblio.php');
//tableau des catégories
$tableau_categorie=array('MOG','DOC','MAT','MET', 'CONS', 'ECH', 'HSE', 'RHU', 'LOC', 'SCI');
 
foreach ($tableau_categorie as $categorie)
{
   $resultat = ExecRequete ("SELECT titre, version, date_modif,nom_fichier FROM sqp WHERE categorie ='$categorie' ORDER BY date_modif DESC", $connexion);
  echo"<center><table class=none width='90%'"
  ."<caption valigne=bottom ><b>Table des documents ".$categorie." <a href='docsimple.php?mode=".MODE_INSERTION."'>Ajouter un document</a></b></caption>"
  ."<tr bgcolor=\""; echo switchcolor(); echo "\"><th bgcolor='#BA3232'><p class='case'>Titre</p>"
  ."</th><th bgcolor='#BA3232'><p class='case'>Indice de Version</p></th><th bgcolor='#BA3232'><p class='case'>Date de modification ou de MAJ</p></th>"
  ."<th bgcolor='#BA3232'><p class='case'>Modification</p></th>"
  ."<th bgcolor='#BA3232'><p class='case'>Supprimer</p></th></tr>\n";
 
 
  while ($document = ObjetSuivant ($resultat))
  {
     // on encode le titre pour le placé dans une URL
    $titreURL = urlEncode ($document->titre);
    $titre = $document->titre;
    $version = $document->version;
    $date_modif = $document->date_modif;
    $nomfichier = $document->nom_fichier;
    $url= "./documentation/$nomfichier";
 
    if ($nomfichier=="")
    {
    echo "<tr bgcolor=\""; echo switchcolor(); echo "\"><td width='50%'><p>$titre</p></td>";
    } 
    else 
    {
    echo "<tr bgcolor=\""; echo switchcolor(); echo "\"><td><a target='_blank' href='$url' width='50%'>$titre</a></td>";
    }
 
    echo "<td width='10%' align='center'><p>$version</p></td>"
    ."<td width='25%'align='center'><p>".transformation_date($date_modif)."</p></td>"
    ."<td width='15%'align='center'><a  href ='docsimple.php?mode=".MODE_MAJ."&titre=$titreURL'> Modifier</a></td>"
    ."<td width='15%'align='center'><a  href ='docsimple.php?mode=".MODE_SUP."&titre=$titreURL'> Supprimer</a></td>\n";
  }
  echo "</table></center>\n";
 
  echo "<br><br>\n";
	}
}
?>
Majdoc.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
<?php
// fonction de mise a jour ou insertion de la table Docsimple
function MAJdocsimple ($mode, $doc, $connexion)
{
  // préparation des variable, en traitant pas addSlashes
  $titre = addSlashes($doc['titre']);
  $categorie = addSlashes($doc['categorie']);
  $version = addSlashes($doc['version']);
  $genre = addSlashes ($doc['genre']);
  $jour_crea = $doc['jour_crea'];
  $mois_crea = $doc['mois_crea'];
  $annee_crea = $doc['annee_crea'];
  $jour_mod = $doc['jour_mod'];
  $mois_mod = $doc['mois_mod'];
  $annee_mod = $doc['annee_mod'];
 
 
$date_crea= $annee_crea."-".$mois_crea."-".$jour_crea ;
$date_mod= $annee_mod."-".$mois_mod."-".$jour_mod ;
 
$fichier = $_FILES['mondoc'];
$fichiername = $fichier['name'];
 
if ($mode==MODE_SUP)
  {   
  $requete = "DELETE FROM sqp (titre, categorie, date_creation, date_modif, genre, version, nom_fichier)"
			." WHERE titre='$titre'"; 
	}
	else
  {  
 
    if ($mode==MODE_INSERTION)
    { 
     $requete = "INSERT INTO sqp (titre, categorie, date_creation, date_modif, genre, version, nom_fichier)"
			. "VALUES ('$titre', '$categorie', '$date_crea', '$date_mod', '$genre', $version,'$fichiername')";
    }
 
    else 
    {
    $requete = "UPDATE sqp SET categorie='$categorie'," 
    ."genre='$genre', date_creation='$date_crea', date_modif='$date_mod', version='$version', nom_fichier ='$fichiername'"
    ." WHERE titre='$titre'";
 
    }
  }
  // exécution de l'ordre
  ExecRequete ($requete, $connexion);
 
 
}
?>
Execrequete.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
<?
// exécuté un requete avec Mysql
 
function ExecRequete ($requete, $connexion)
{
	$resultat= mysql_query ($requete, $connexion);
	if ($resultat)
	{
		return $resultat;
	}
	else
	{
		echo "<p> Erreur dans l'exécution de la requête " .$requete. "</p>";
		echo "<p> Message de MysQl ". mysql_error($connexion);
		exit;
	}
}
// fin de la fonction ExecRequete
//Recherche l'objet suivant
function ObjetSuivant($resultat)
{
return mysql_fetch_object($resultat);
}
// recherche de la ligne suivant
function LigneSuivante ($resultat)
{
return mysql_fetch_assoc($resultat);
}
?>