(php) Supprime un membre dans la base

Fermé
Alex - 29 sept. 2005 à 14:27
 Utilisateur anonyme - 29 sept. 2005 à 17:32
Bonjour, je suis la pour vous demandé de l'aide .
j'ai crée un site pour des joueurs et on a une table wars pour affiché les matchs.Le probleme et que pour effacé une equipe il faut allé dans phpmyadmin pas trop top !!!
Donc ma question et de pouvoir visualise les equipes de choisir celle qu'on va effacé via un lien ou bouton.

http://exodis.org/wars/wars.php

si vous avez besoin du code du fichier wars.php

Merci a ceux qui pouront m'aidé
<html>
<head>
<body bgcolor="#FFFFFF">
<style>
body {
font-family: Verdana;
COLOR:#000000;
}
form {font-family: Verdana; font-size: 8pt}
td {font-family: Verdana; font-size:8pt;}

INPUT {
font face="Verdana" style="font-size: 8pt"
font-weight: 100;
color: #FFFFFF;
border: 1 solid #3F82E0;
}
</style>
</head>

<table border="0" width="490" cellspacing="0" cellpadding="0">
	<tr>
		<td><img border="0" src="../gfx/title/wars.jpg" width="545" height="13"></td>
	</tr>
</table>
<br>
		<img border=0 src=http://60gp.ovh.net/~exodis/wars/img/bar.jpg>

<?
require('config.php');
$query = "SELECT * FROM su_wars order by id desc";
$result = mysql_query($query);

while($row = mysql_fetch_row($result))
{
$id = $row[0];
$opponent = $row[1];
$date = $row[2];
$score = $row[3];
$res = $row[4];
$image = $row[5];
$league = $row[6];
$class="none";



if($score == 'win')
{
$win ='http://60gp.ovh.net/~exodis/wars/img/arrow_up.gif';
}
elseif($score =='draw')
{
$win ='http://60gp.ovh.net/~exodis/wars/img/arrow_draw.gif';
$color ='draw';
}
elseif($score =='lose')
{
$win ='http://60gp.ovh.net/~exodis/wars/img/arrow_down.gif';
$color ='lose';
}

if($score=="win") { $color="#33CC33"; }

if($score=="draw") { $color="#3F82E0"; }

elseif($score=="lose") {$color="red";}

echo("




<table>
	<tr>

		<TD vAlign=top width=19 height=13 bordercolor=#EFD9A8><font color=#FFFFFF>  </font></TD>
		<TD width=140 height=13 bordercolor=#EFD9A8><img border=0 src=http://60gp.ovh.net/~exodis/wars/img/$image width=14 height=9>  $opponent</TD>
		<TD width=80 height=13 bordercolor=#EFD9A8>$date</TD>
		<TD width=140 height=13 bordercolor=#EFD9A8>$league</TD>
		<TD width=95 height=13 bordercolor=#EFD9A8><img src=$win border=0>  $res</TD>


	</tr>
</table>

");

}
mysql_close();
?>



</body>
</html>

11 réponses

hssissen Messages postés 844 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 9 janvier 2017 50
29 sept. 2005 à 15:14
Pourquoi tu ne le fais pas avec du Javascript?
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 15:28
Salut,

hssissen, javascript ? T'arrive à etoffer un peu ? J'ai pas vraiment compris.

Sinon Alex, tu peux rajouter une ligne à chaque enregistrement comportant un <input type="checkbox">. A la fin des enregistrements, tu met un bouton supprimer les équipes séléctionnées, qui t'envoie vers une page del.php. Tu met aussi un <input type="hidden"> contenant le nombre d'équipes affichées, que tu transmet en même temps que les checkboxes.

Dans ta page del.php tu récupère le nombre d'enregistrements et tu vérifie si le checkbox est coché ou non pour chaque enregistrement. S'il est coché, tu delete la ligne correspondante, et sinon tu fais rien.

Voilà pour les grandes lignes, si il y a quelque chose que t'as pas compris, hésite pas.

@+
0
hssissen Messages postés 844 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 9 janvier 2017 50
29 sept. 2005 à 15:39
hssissen, javascript ? T'arrive à etoffer un peu ? J'ai pas vraiment compris.

Oui, c'est plus simple d'utiliser le Javascript pour la creation et l'action sur les boutons...rien ne l'empeche de le faire dans un programme PHP. J,espere que je ne dis pas des betises!
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 15:44
J,espere que je ne dis pas des betises!

Non non, rassure toi, je pense même que tu connais mieux que moi, et vu que ma solution est assez lourde, je me suis dis que la tienne vallait sûrement mieux.

Mais c'est vrai que si tu fais les actions avec du javascript pour lancer les scripts php, ça doit être bien au final ;)

@+
0
hssissen Messages postés 844 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 9 janvier 2017 50 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
29 sept. 2005 à 15:58
Enfin pour ce genre de tâches il le fait mieux et surtout simple!
0
j'ai rien compris je suis vraiment une bite en php alors la je nage grave
0

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

Posez votre question
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 16:02
Bon, on va faire plus simple alors.

A la fin de chaque enregistrement, tu rajoute une ligne pointant vers la page del.php?id=$id comme ça :
<TD bordercolor=#EFD9A8>[ <a href=del.php?id=$id>DELETE</a> ]</td>

Attention, de cette manière, tout le monde peut supprimer un enregistrement, je te conseil d'afficher ceci uniquement si une session admin est ouverte (on verra ça peut-être plus tard).

Ensuite, il faut juste faire ta page del.php avec un simple requete sql :
"DELETE FROM su_wars WHERE id=$_GET['id']";

Je te conseil là aussi de vérifier si l'utilisateur est loggé en admin ou non avant de supprimer quoi que ce soit.
0
Utilisateur anonyme
29 sept. 2005 à 16:28
ok mais quand tu dit
A la fin de chaque enregistrement, tu rajoute une ligne pointant vers la page del.php?id=$id comme ça : 
comment je fait ca !
sinon j'ai bien cree la page del.php
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 16:30
Tu copies simplement ça :

<TD bordercolor=#EFD9A8>[ <a href=del.php?id=$id>DELETE</a> ]</td>

Après ça :

<table>
	<tr>

		<TD vAlign=top width=19 height=13 bordercolor=#EFD9A8><font color=#FFFFFF>  </font></TD>
		<TD width=140 height=13 bordercolor=#EFD9A8><img border=0 src=http://60gp.ovh.net/~exodis/wars/img/$image width=14 height=9>  $opponent</TD>
		<TD width=80 height=13 bordercolor=#EFD9A8>$date</TD>
		<TD width=140 height=13 bordercolor=#EFD9A8>$league</TD>
		<TD width=95 height=13 bordercolor=#EFD9A8><img src=$win border=0>  $res</TD>

0
Utilisateur anonyme
29 sept. 2005 à 16:39
ok ca marche ja compris mais j'ai une erreur , ca ma l'air vachement simple (enfin pour toi)
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home.2/exodis/www/wars/del.php on line 2
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 16:43
Je pourrais avoir le code (normalement simple) de del.php ?
0
Utilisateur anonyme > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
29 sept. 2005 à 16:44
le voici
<?
"DELETE FROM su_wars WHERE id=$_GET['id']";
?>
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
29 sept. 2005 à 16:49
Oui, alors en fait il faut quand même que tu te connecte à ta base de donnée, et que tu inscrive ça après :
$query = "DELETE FROM su_wars WHERE id=$_GET['id']";
mysql_query($query);
header("Location:".$_SERVER['HTTP_REFERER']);
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
29 sept. 2005 à 16:47
Olalaa c'te prise de t^te que vous vous choper les g@r$ !

Pourquoi tu fais pas tout simplement un pti back office avec une page en php qui récupère toutes les wars que vous avez fait dans un Zoli tableau et puis après avec un 'for' tu mets tout ca dans une liste déroulante en hmtl,quadn tu confirme tu link sur une 2eme page de ton back office genre del.php qui récupère le nom de la war que tu veux supprimer (grace au formulaire de ta page d'avant) et la tu fais ta requete avec ton DELETE et Hop, pif pof fastoche comme a la pistoch3 !

Zep3k!GnO
-->hi i hi o on va pas o boulo :D
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 16:51
Je vois pas trop la différence avec ce que je suis en train de lui expliquer, mis à part qu'au lieu d'afficher un lien à la suite de son enregistrement, toi tu met tout dans un menu déroulant...

Ca peut parraître long, mais c'est parce que je lui explique pas à pas.
0
Utilisateur anonyme > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
29 sept. 2005 à 16:57
ca fait la meme erreur ?
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
29 sept. 2005 à 16:59
Alors met plutot :
$id = $_GET['id'];
$query = "DELETE FROM su_wars WHERE id=$id";
mysql_query($query);
header("Location:".$_SERVER['HTTP_REFERER']);
0
Utilisateur anonyme
29 sept. 2005 à 17:04
il doit manqué le truc pour ce connecté a la base
Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home.2/exodis/www/wars/del.php on line 4

Warning: mysql_query(): A link to the server could not be established in /home.2/exodis/www/wars/del.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /home.2/exodis/www/wars/del.php:4) in /home.2/exodis/www/wars/del.php on line 5
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
29 sept. 2005 à 17:06
Mais dans ton premier script, tu n'affiches pas ta connexion à ta base de données, alors je sais pas comment elle se fait. Si tu met uniquement ce que je te donne, c'est clair qu'il ne va pas comprendre, il faut que tu mette ton code de connexion à la bdd avant tout ce que je t'ai donné.
0
Utilisateur anonyme
29 sept. 2005 à 17:06
c'est bon j'ai rajouté
require('config.php');

et la ca ma affacé mon equipe c'est vraiment de la balle ce truc enfin toi trop top

Reste plus qu'a mettre ca dans une protection pour pas que les membre efface leurs equipe
mdr
0
Utilisateur anonyme
29 sept. 2005 à 17:32
Encore merci pour ton aide si j'ai besoin je reviendrai car il et bon apprendre
0