Page 1 sur 2
ne pas affiche
Posté : 17 juil. 2010, 17:30
par hashut
slt
comme chaque jour un pb celui du jour
j'ai deux table sql je doit faire une requete sur la table2 sans afficher le variable deja present dans table 1
exemple
table 1
nom numero
test 1
test 4
test 5
table 2
test 1
test 2
test 3
test 4
test 5
test 6
je veut affiche que test 2/3/6 de la table 2
merci
Re: ne pas affiche
Posté : 17 juil. 2010, 19:09
par stealth35
avec NOT IN et une sous requête
http://dev.mysql.com/doc/refman/5.0/fr/ ... eries.html
mais dans le fond le vrai problème c'est qu'il va falloir commencer a apprendre les bases quelque part...
Re: ne pas affiche
Posté : 17 juil. 2010, 19:20
par hashut
Ok je test sa se wekk (dimanche et lundi pour moi)
merci as toi
Re: ne pas affiche
Posté : 20 juil. 2010, 16:11
par hashut
slt
cela marche pas
il m'affiche plus rien
voici une partie du code
Code : Tout sélectionner
mysql_connect($serveur, $user, $passw) or die("Impossible de se connecter la base de donnes");
mysql_select_db("$bd_base")or die("Impossible de se connecter la base de donnes");
$sqlm ="SELECT orders_id,coupons_id FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons'";
$reqm = mysql_query($sqlm) or die('Erreur SQL !<br>'.$sqlm.'<br>'.mysql_error());
//echo"<form method='post' enctype='multipart/form-data'>";
while($datam = mysql_fetch_assoc($reqm))
{
$orders_id= $datam['orders_id'];
$coupons_id= $datam['coupons_id'];
$sql ="SELECT value FROM orders_total WHERE sort_order='0' and orders_id='$orders_id'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo"<tr><td>";
echo"<form method='post' enctype='multipart/form-data'>";
echo $data['value'];
$value=$data['value'];
$orders_id=$datam['orders_id'];
echo"</td><td>";
echo"<input type='hidden' name='Pcoupons' value='$Pcoupons'>";
echo"<input type='hidden' name='value' value='$value'>";
echo"<input type='hidden' name='orders_id' value='$orders_id'>";
echo"<input type='submit' name='miseajour' value='Mise à Jour'>";
echo"</form>";
echo"</td></tr>";
$i++;
}
je voudrais que si deja dans la table
orders_total il s'affiche pas
merci de votre aide
Re: ne pas affiche
Posté : 20 juil. 2010, 16:13
par stealth35
t'as pas fais de NOT IN la ?
Re: ne pas affiche
Posté : 20 juil. 2010, 16:21
par hashut
$sqlm ="SELECT * FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons' NOT IN (SELECT orders_id FROM coupon_solde WHERE orders_id='$orders_id')";
pareil il m'affiche plus rien alors que une variable n'ai pas dans les 2 table
Re: ne pas affiche
Posté : 20 juil. 2010, 16:23
par stealth35
elle est pas bonne ta requête, tu fais un égal et après un NOT IN
Re: ne pas affiche
Posté : 20 juil. 2010, 16:25
par hashut
comment sa
$sqlm ="SELECT * FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons' = NOT IN (SELECT orders_id FROM coupon_solde WHERE orders_id='$orders_id')";
Re: ne pas affiche
Posté : 20 juil. 2010, 16:26
par stealth35
comment sa
$sqlm ="SELECT * FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons' = NOT IN (SELECT orders_id FROM coupon_solde WHERE orders_id='$orders_id')";
non encore pire
tu veux quoi exactement ?
Re: ne pas affiche
Posté : 20 juil. 2010, 16:36
par hashut
je veux que
SELECT * FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons'
ne m'affiche que les variable qui ne sont pas present dans coupon_solde
Re: ne pas affiche
Posté : 20 juil. 2010, 16:45
par stealth35
faut monter le schéma avec qui est lié a quoi de ta table juste comme ca on peu pas te dire
Re: ne pas affiche
Posté : 20 juil. 2010, 16:49
par hashut
echo"$Pcoupons<bR>";
echo"<table>";
mysql_connect($serveur, $user, $passw) or die("Impossible de se connecter la base de donnes");
mysql_select_db("$bd_base")or die("Impossible de se connecter la base de donnes");
$sqlm ="SELECT orders_id,coupons_id FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons'";
$reqm = mysql_query($sqlm) or die('Erreur SQL !<br>'.$sqlm.'<br>'.mysql_error());
//echo"<form method='post' enctype='multipart/form-data'>";
while($datam = mysql_fetch_assoc($reqm))
{
$orders_id= $datam['orders_id'];
$coupons_id= $datam['coupons_id'];
$sql ="SELECT value FROM orders_total WHERE sort_order='0' and orders_id='$orders_id'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo"<tr><td>";
echo"<form method='post' enctype='multipart/form-data'>";
echo $data['value'];
$value=$data['value'];
$orders_id=$datam['orders_id'];
echo"</td><td>";
echo"<input type='hidden' name='Pcoupons' value='$Pcoupons'>";
echo"<input type='hidden' name='value' value='$value'>";
echo"<input type='hidden' name='orders_id' value='$orders_id'>";
echo"<input type='submit' name='miseajour' value='Mise à Jour'>";
echo"</form>";
echo"</td></tr>";
$i++;
}
je voudrais que
$sqlm ="SELECT orders_id,coupons_id FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons'";
ne maffiche que les variable non present dans coupons_solde
table 1
CREATE TABLE `discount_coupons_to_orders` (
`coupons_id` varchar(32) NOT NULL default '',
`orders_id` int(11) NOT NULL default '0',
PRIMARY KEY (`coupons_id`,`orders_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
table 2
CREATE TABLE `coupon_solde` (
`id` int(11) NOT NULL auto_increment,
`Pcoupons` varchar(255) NOT NULL default '',
`orders_id` varchar(255) NOT NULL default '',
`value` varchar(255) NOT NULL,
`credit` varchar(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
Re: ne pas affiche
Posté : 20 juil. 2010, 16:59
par stealth35
je dirais ca :
$sqlm ="SELECT * FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons' AND coupons_id NOT IN (SELECT orders_id FROM coupon_solde)";
mais bon faut donnée plus de detail qu'est ce qui lie discount_coupons_to_orders et coupon_solde ? orders_id ou Pcoupons ? ton autre $orders_id il sort d'ou ?
Re: ne pas affiche
Posté : 20 juil. 2010, 17:05
par hashut
c'est order_id qui lie les deux table
les order_id sont dans les deux table
$Pcoupons est selectioner via <select name=Pcoupon>
Re: ne pas affiche
Posté : 20 juil. 2010, 17:13
par stealth35
donc
$sqlm ="SELECT * FROM discount_coupons_to_orders WHERE coupons_id='$Pcoupons' AND orders_id NOT IN (SELECT orders_id FROM coupon_solde)";