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 donnŽes"); mysql_select_db("$bd_base")or die("Impossible de se connecter ˆ la base de donnŽes"); $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 :wink:

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 donnŽes"); 
		mysql_select_db("$bd_base")or die("Impossible de se connecter ˆ la base de donnŽes");
		
		$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)";