Une requête mais pas l'autre ?

Résolu
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008 - 14 mars 2005 à 13:53
morpheus262 Messages postés 460 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012 - 15 mars 2005 à 09:19
Bonjour,



Voilà, je fais deux requêtes.

La première s'effectue sans condition et ne pose pas de problème.

La seconde (en rouge) dépend d'un identifiant, s'il renvoi 0, supprimer
dans telle table et s'il renvoi 1, supprimer dans telle autre table.



Lorsque l'identifiant est 0, pas de problème, cela s'efface, mais quand il est à 1, cela ne fonctionne pas.



Pourtant, lorsque je fais un echo de $typ_app, je retrouve bien 0 ou 1 en fonction de celui que j'ai choisi.

Et quand je teste ma requête dans phpmyadmin, pas de problème.



Je ne comprends vraiment pas.



Merci pour votre patience !



Mon code :



<?

include("_connexion.php");

mysql_query("DELETE FROM application WHERE id_application=$id_del");

$req_typ_app=mysql_query("SELECT type_application FROM application WHERE id_application=$id_del",$link);

$table_typ_app=mysql_fetch_array($req_typ_app,MYSQL_ASSOC);

$typ_app=$table_typ_app[type_application];

if($typ_app==0) {

mysql_query("DELETE FROM matams WHERE ce_application=$id_del");

echo $typ_app;

}

elseif($typ_app==1) {

mysql_query("DELETE FROM matamw WHERE ce_application=$id_del");

}

mysql_close();

include("application.php");

?>

38 réponses

loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
14 mars 2005 à 15:26
Je pense avoir trouver ton erreur......essaie d'inverser ça :


include("_connexion.php");





$req_typ_app=mysql_query("SELECT type_application FROM application WHERE id_application=$id_del",$link);

$table_typ_app=mysql_fetch_array($req_typ_app,MYSQL_ASSOC);

$typ_app=$table_typ_app[type_application];

if($typ_app==0) {

mysql_query("DELETE FROM matams WHERE ce_application=$id_del",$link);

echo $typ_app;

}

elseif($typ_app==1) {

mysql_query("DELETE FROM matamw WHERE ce_application=$id_del",$link);

echo $typ_app;

}





mysql_query("DELETE FROM application WHERE id_application=$id_del");



Si tu le supprime avant tu peux pas récupérer après le type, il est déja supprimé.....
3
morpheus262 Messages postés 460 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
14 mars 2005 à 14:01
As tu un message d erreur ?
mysql_query("DELETE FROM matamw WHERE ce_application=$id_del",$link);
essaie de rajouter le $link, g deja eu le tour ou ca ne marche pas a à cause de ca


<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:08
Hello morpheus,



Merci pour ta suggestion.

Ca marche pô :-(



Si tu as une autre idée, je suis preneur...



@+
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:10
Et au fait, je n'ai pas de message d'erreur.

Il rafraîchit ma page, supprime bien dans la première table mais pas dans la seconde qui est "matamw"
0

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

Posez votre question
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
14 mars 2005 à 14:15
essaie :





if($typ_app==0)

{

$table=
matams;

}else{




if($typ_app==1)

{

$table=matamw;

}

}


mysql_query("DELETE FROM $table WHERE ce_application=$id_del");



tiens moi au courant.

@+
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:27
Merci loyousse mais hélas non.

Exactement la même chose !

Ouin :'(
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
14 mars 2005 à 14:29
t'es sur qu'à un moment $typ_app est égal à 1 ?

Cette variable peut etre égal à autre chose que 1 et 0 ?
0
morpheus262 Messages postés 460 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
14 mars 2005 à 14:30
Si cette solution a la meme reaction alors le probleme vien de la table matamw, peux tu envoyer la structure de tes deux tables


<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:34
Merci bcp les gars, c'est sympa d'être si réactif !



$typ_app ne peut prendre que les valeurs 0 ou 1.



#

# Structure de la table `matams`

#

CREATE TABLE matams (
ce_application int(8) unsigned NOT NULL default '0',
ce_module int(8) unsigned NOT NULL default '0',
scoring tinyint(1) unsigned NOT NULL default '0'
) TYPE=MyISAM;




#

# Structure de la table `matamw`

#

CREATE TABLE matamw (
ce_application int(8) unsigned NOT NULL default '0',
ce_module int(8) unsigned NOT NULL default '0',
scoring tinyint(1) unsigned NOT NULL default '0'
) TYPE=MyISAM;
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
14 mars 2005 à 14:36
essaie ça :


if($typ_app==0)

{

$table=
matams;

}else{



$table=matamw;

}

mysql_query("DELETE FROM $table WHERE ce_application=$id_del");


je vais regarder tes tables.
0
morpheus262 Messages postés 460 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
14 mars 2005 à 14:39
essaye d ajouter l affiche d un message d erreur or die ... tu vois quoi a la fin de chacune de tes deux requetes voir si sal retourne une erreur


<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:41
Non loyousse, toujours pas.



Le problème doit être au niveau des tables.



Merci encore...
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
14 mars 2005 à 14:43
la variable $id_del te sert à quoi ?
0
morpheus262 Messages postés 460 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
14 mars 2005 à 14:43
as tu un message si tu rajoute les or die a tes requetes ???


<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:46
Quand j'essai ceci :



<?

include("_connexion.php");

$req_typ_app=mysql_query("SELECT type_application FROM application WHERE id_application=$id_del",$link);

$table_typ_app=mysql_fetch_array($req_typ_app,MYSQL_ASSOC);

$typ_app=$table_typ_app[type_application];

if($typ_app==0) {

echo $typ_app;

}

elseif($typ_app==1) {

echo $typ_app;

}

?>



Pas de problème, il me retourne bien le bon chiffre.

C'est che-lou ce truc...
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
14 mars 2005 à 14:47
essaie ça :


if($typ_app==0)

{

mysql_query("DELETE FROM matams WHERE ce_application=$id_del"
) or die ("pb avec la première requete.");



echo $typ_app;
}else{

mysql_query("DELETE FROM matamw WHERE ce_application=$id_del") or die ("pb avec la 2eme requete.");
}
0
morpheus262 Messages postés 460 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
14 mars 2005 à 14:49
voila c ce que je dis depuis 2 message lol, au moins tu verras si l erreur est sql ou pas

<HR>
Sans maîtrise la puissance n'est rien et je maîtrise... Apprend ca petit
Sur ce a tchiao bon dimanche.
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:52
Alors attendez, je vous fais un petit résumé :



J'ai une page application.php qui liste les applications et qui propose
les foctions classiques d'ajout, de suppression et de modification.



Quand je clique sur une application pour la supprimer, je récupère le
fameux id_del sur la page que j'ai affiché au début de ce post.



Avec cet id, je vais supprimer d'une part dans la table "application"
mais aussi dans la table "matams" si l'application est de type "spoken"
ou dans la table 'matamw" si l'application est de type "written".



Je vais essayer le "die".
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
14 mars 2005 à 14:57
T'es sur que dans ta table matmw il y a l'id correspondant à ta variable $id_del ?
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
14 mars 2005 à 14:58
Non, aucune erreur avec le die !
0
Rejoignez-nous