PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#26 24-02-2011 00:26:46

FrenchEagle
Membre
Inscription : 22-02-2011
Messages : 19

Re : Projet de site local pour installation d'applis Android

Youpi ça marche! J'ai trouvé mon erreur! en fait dans ma requete sql j'ai oublié de modifié date par dateup!
Ben oui comme j'ai changé le nom du champs suite à une remarque plus haut.
Maintenant le code qui fonctionne est celui-ci:

<?php
        define("HOST", "localhost");
    define("username", "****");
    define("PASSWORD", "*****");
    define("DATABASE", "Android");

    $serveur = mysql_connect (HOST, username, PASSWORD);

    mysql_select_db (DATABASE);
    if (!$serveur)
    {
    die('Non connecté : ' . mysql_error());
    }
    else
    {

        $query = "SELECT * FROM applis_tbl ORDER BY dateup DESC";

        $result = mysql_query($query);

        while($row = mysql_fetch_row($result)){
        $Num = $row[0];
        $Nomapp = $row[1];
        $Urlapp = $row[2];
        $Nomclient = $row[3];
        $Date = $row[4];
   
    echo "<tr align=center>\n
    <td>"
.$Num."</td>\n
    <td><a href=\"$Urlapp\">"
.$Nomapp."</a></td>\n
    <td>"
.$Urlapp."</td>\n
    <td>"
.$Nomclient."</td>\n
    <td>"
.$Date."</td>\n
    </tr>\n"
;
        }
    }
        mysql_close();
        ?>

Maintenant dernière étape du projet ajouter un bouton supprimer en fin de chaque ligne pour supprimer l'enregistrement de la bdd mais aussi le fichier uploadé dans le répertoire...
J'ai l'impression que ca va être le truc le plus complexe à faire...
Vous avez des idées?

Hors ligne

#27 24-02-2011 06:48:39

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Projet de site local pour installation d'applis Android


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#28 24-02-2011 11:49:34

FrenchEagle
Membre
Inscription : 22-02-2011
Messages : 19

Re : Projet de site local pour installation d'applis Android

Ok bon j'ai essayé d'ajouter cette fonction de suppression mais je ne sais pas du tout comment la créer...

J'ai déjà ajouté l'ajout automatique d'un bouton "supprimer" qui renvoi à un srcipt delete.php comme ceci:

echo "<tr align=center>\n
    <td>".$Num."</td>\n
    <td><a href=\"$Urlapp\">".$Nomapp."</a></td>\n
    <td>".$Urlapp."</td>\n
    <td>".$Nomclient."</td>\n
    <td>".$Date."</td>\n
    <td><form name=del action=delete.php method=post target=_parent><input type=submit value=Supprimer></form></td>\n
    </tr>\n";

Le bouton apparait bien en fin de ligne et renvoi bien sur mon script delete.php mais maintenant je ne sais pas trop comment dire dans ce script, supprimer l'enregistrement de la bdd ainsi que le fichier dnas son répertoire.
J'ai écris ceci mais rien ne semble fonctionner:
Pouvez vous me guider sur cette partie? merci

<?php

 if( isset($_POST['del'])) {
 
      $delfichier = $dossier. $fichier;
 
   if( file_exists ( $delfichier)){
    if(unlink($delfichier))
      echo '<script type="text/javascript">
        alert("Le fichier $fichier a été supprimé avec succès");
      document.location.href = "http://192.168.0.11/Android/index.php";
      </script>';
       
    else
      echo '<script type="text/javascript">
        alert("Erreur lors de la suppression du fichier $fichier");
      document.location.href = "http://192.168.0.11/Android/index.php";
      </script>';
      }
   
   else
       
    echo '<script type="text/javascript">
        alert("Le fichier $fichier n existe pas");
      document.location.href = "http://192.168.0.11/Android/index.php";
      </script>';
  }
?>

Hors ligne

#29 24-02-2011 12:21:54

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Projet de site local pour installation d'applis Android

Il faut un input en hidden avec le nom du fichier. ($urlApp ?)

Hors ligne

#30 24-02-2011 12:55:14

FrenchEagle
Membre
Inscription : 22-02-2011
Messages : 19

Re : Projet de site local pour installation d'applis Android

Alors en fait j'ai décidé d'y aller étape par étape dans le fichier delete.php
J'essaye d'abord de supprimer l'enregistrement de la base avec ce code qui fonctionne mais dans ma requete sql a la place de '1' j'aimerai faire appel à la variable $Num contenue dans mon index.php.
Quand je me cette variable rien ne marche.

<?php
include (index.php);

define("HOST", "localhost");
define("username", "****");
define("PASSWORD", "*****");
define("DATABASE", "Android");

$serveur = mysql_connect (HOST, username, PASSWORD);

mysql_select_db (DATABASE);
if (!$serveur)
    {
    die('Non connecté : ' . mysql_error());
    }
    else
    {

    $suppr = "DELETE FROM applis_tbl WHERE id = '1'";
    mysql_query($suppr);

    echo '<script type="text/javascript">
              alert("Le fichier $fichier a été supprimé avec succès");
             document.location.href = "http://192.168.0.11/Android/index.php";
            </script>';
    }
mysql_close();
?>

Hors ligne

#31 24-02-2011 13:23:13

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Projet de site local pour installation d'applis Android

<form name="del" action="delete.php?id=$num" method="post" target="_parent">
Ainsi tu peux le récupérer dans $_GET['id'] et ton script pourra aussi être appelé via un lien <a>.

Hors ligne

#32 24-02-2011 13:53:23

FrenchEagle
Membre
Inscription : 22-02-2011
Messages : 19

Re : Projet de site local pour installation d'applis Android

Tu veux dire comme ça?

index.php

<td><form name=del action=delete.php?id=$num method=post target=_parent><input type=submit value=Supprimer></form></td>

delete.php

<?php
include (index.php);

define("HOST", "localhost");
define("username", "***");
define("PASSWORD", "****");
define("DATABASE", "Android");

$num = $_GET['id'];

$serveur = mysql_connect (HOST, username, PASSWORD);

mysql_select_db (DATABASE);
if (!$serveur)
  {
  die('Non connecté : ' . mysql_error());
  }
  else
  {

  $suppr = "DELETE FROM applis_tbl WHERE id = ".$num."";
  mysql_query($suppr);

  echo '<script type="text/javascript">
        alert("Le fichier $fichier a été supprimé avec succès");
      document.location.href = "http://192.168.0.11/Android/index.php";
      </script>';
  }
mysql_close();
?>

Avec ce code ca ne fonctionne pas non plus sad

Hors ligne

#33 24-02-2011 14:00:33

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Projet de site local pour installation d'applis Android

Essayes ceci :

$suppr = "DELETE FROM applis_tbl WHERE id = ".$num;
echo $suppr;
  mysql_query($suppr) or die(mysql_error());

Hors ligne

#34 24-02-2011 14:20:01

FrenchEagle
Membre
Inscription : 22-02-2011
Messages : 19

Re : Projet de site local pour installation d'applis Android

J'ai pour réponse ceci:

DELETE FROM applis_tbl WHERE id = 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 '' at line 1

Hors ligne

#35 24-02-2011 14:35:30

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Projet de site local pour installation d'applis Android

Bonjour essaye comme ceci


$suppr = "DELETE FROM applis_tbl WHERE id='$num'";

mysql_query($suppr) or die(mysql_error());
 

Evite de te contenter de recopier ce qu'on te donne et essaye de comprendre un peu. Merci

Dernière modification par Jc (24-02-2011 14:43:43)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#36 24-02-2011 14:53:19

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Projet de site local pour installation d'applis Android

Si cet identifiant est un entier, ce qui est souvent le cas, les quotes sont non seulement inutiles, mais contre-productives. Ça force le SGBD à caster la valeur de la colonne avant  de la comparer.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#37 24-02-2011 17:07:26

FrenchEagle
Membre
Inscription : 22-02-2011
Messages : 19

Re : Projet de site local pour installation d'applis Android

Bon je ne comprend toujours pas, j'ai retourné le problème dans tous les sens et j'en suis arrivé a la conclusion que le problème vient bien de l'appel de la variable $num car je l'ai remplacé par une valeur contenu dans la colonne et l'enregistrement est bien effacé...

Je suppose que mon appel de la variable $num dans ma requète sql de mon fichier delete.php est mal interfacé avec mon fichier index.php où la variable $num est déclaré.

delete.php

mysql_select_db (DATABASE);
if (!$serveur)
    {
    die('Non connecté : ' . mysql_error());
    }
    else
    {
        include (index.php);
        $Num = $_GET['id'];
        $suppr = "DELETE FROM applis_tbl WHERE id='$Num'";
          mysql_query($suppr) or die(mysql_error());
        echo '<script type="text/javascript">
             alert("Appli supprimée avec succès !");
            document.location.href = "http://192.168.0.11/Android/index.php";
            </script>';
    }
mysql_close();
?>

index.php

while($row = mysql_fetch_row($result)){
        $Num = $row[0];
        $Nomapp = $row[1];
        $Urlapp = $row[2];
        $Nomclient = $row[3];
        $Date = $row[4];
       
        echo "<tr align=center>\n
        <td>".$Num."</td>\n
        <td><a href=\"$Urlapp\">".$Nomapp."</a></td>\n
        <td>".$Urlapp."</td>\n
        <td>".$Nomclient."</td>\n
        <td>".$Date."</td>\n
        <td><form name=del action=delete.php?id=$num method=post target=_parent><input type=submit value=Supprimer></form></td>\n
        </tr>\n";
        }
        }
        mysql_close();

Hors ligne

#38 24-02-2011 23:09:47

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Projet de site local pour installation d'applis Android

Le plus simple pour vérifier serait de l'afficher cette variable. Tu serais fixé. wink

Hors ligne

#39 26-02-2011 11:39:32

FrenchEagle
Membre
Inscription : 22-02-2011
Messages : 19

Re : Projet de site local pour installation d'applis Android

Bon tu va rigoler, j'ai finalement pas testé l'affichage de cette variable car en relisant mon dernier post, je me suis aperçu que dans mon fichier index.php je fesai appel a la variable $num et dans mon delete.php à $Num.
J'ai donc rajouté la majuscule dans mon index.php et là miracle ça fonctionne! tongue
Il va falloir que je sois plus méticuleux à l'avenir...
En tout cas merci pour ton conseil.
Maintenant il me reste plus qu'a supprimer le fichier uploadé et mon projet sera pratiquement fini! cool

Hors ligne

#40 26-02-2011 12:21:24

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Projet de site local pour installation d'applis Android

puisque que tu le commence ce projet, pourquoi ne pas utiliser PDO ?????

a++

Hors ligne

Pied de page des forums