mysql

Eléphant du PHP | 136 Messages

05 juin 2007, 22:41

Bonjour,

je voudrais resortir des infos d'une bdd en passant par une boucle (ca je c est le faire) mes je voudrais en meme temps que cette bouche se deroule resortire d'autre infos d'une autre basse en fonction des choix de la premiere.

Car si je fait comme ca rien ne va il prend juste en compte la derniere pub et non toute la boucle:

		$echo_pub = mysql_query("SELECT *FROM `bonus` where pseudo = '". $_SESSION['pseudo'] ."' ");
		
		while ($donnee_pub = mysql_fetch_array($echo_pub))
		{
			$pub = $donnee_pub['pub'];
		}		
		
		$echo = mysql_query("SELECT *FROM `bannieres` where fonctione = '". 0 ."' != '". $pub ."' ");
	
		while ($donnee = mysql_fetch_array($echo))
		{
			$_SESSION['id'] = $donnee['id'];
			$img = $donnee['img'];
			$description = $donnee['description'];

		}
Merci de votre aide :D

Mammouth du PHP | 19672 Messages

05 juin 2007, 22:53

Plusieurs points :
-1- : pourquoi faire un SELECT * quand tu n'as besoin que de la valeur d'une seule colonne ?

-2- : il y a une curiosité dans la seconde requête :

Code : Tout sélectionner

...fonctione = '". 0 ."' != '". $pub ."'...
Tu veux que ce soit égal à 0 et différend de $pub ??

-3- Pourquoi faire deux requêtes où une seule suffirait ?

Proposition basée sur le postulat mentionné au point 2 :
<?php
$sql = "SELECT ba.id, ba.img, ba.description ".
       "FROM bonus bo, bannieres ba ".
       "WHERE ba.fonctionne = 0 ".
       "  AND ba.fonctionne != bo.pub ".
       "  AND bo.pseudo = '". $_SESSION['pseudo'] ."';";

while ($donnee = mysql_fetch_array($echo))
{
    $_SESSION['id'] = $donnee['id'];
    $img            = $donnee['img'];
    $description    = $donnee['description'];
}
?>
Essaye ça et reviens avec le résultat : résolu ou bien ça ne correspond pas ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 136 Messages

05 juin 2007, 23:17

Merci de la reponse.


Je n'obtient aucun resultat sur ma page...

		$sql = "SELECT ba.id, ba.img, ba.description, ba.gains ".
		"FROM bonus bo, bannieres ba "." WHERE ba.fonctionne = 0 ".
		"  AND ba.id != bo.pub ".
		"  AND bo.pseudo = '". $_SESSION['pseudo'] ."';"; 
		
		while ($donnee = mysql_fetch_array($echo))
		{ 
			$_SESSION['id'] = $donnee['id']; 
			$img            = $donnee['img']; 
			$description    = $donnee['description']; 
}
et si j amais je change le $sql par $echo j obtient Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Merci :D

Mammouth du PHP | 19672 Messages

05 juin 2007, 23:22

autant pour moi, j'ai omis d'insérer le mysql_query entre la requête et la boucle. Je te laisse corriger.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 136 Messages

05 juin 2007, 23:31

Voici la requette:
		$echo = mysql_query("SELECT ba.id, ba.img, ba.description, ba.gains ".
		"FROM bonus bo, bannieres ba "." WHERE ba.fonctionne = 0 ".
		" AND ba.id != bo.pub ".
		" AND bo.pseudo = '". $_SESSION['pseudo'] ."' ;"); 
		
		while ($donnee = mysql_fetch_array($echo))
		{ 
			$_SESSION['id'] = $donnee['id']; 
			$img            = $donnee['img']; 
			$description    = $donnee['description']; 
			
			echo $_SESSION['id'] ;
}
et voici la reponse merci:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Mammouth du PHP | 19672 Messages

05 juin 2007, 23:36

Insère un echo($sql) pour la faire afficher et teste-la dans phpMyAdmin, tu auras une réponse plus explicite.
<?php
$sql = "SELECT ba.id, ba.img, ba.description ".
       "FROM bonus bo, bannieres ba ".
       "WHERE ba.fonctionne = 0 ".
       "  AND ba.fonctionne != bo.pub ".
       "  AND bo.pseudo = '". $_SESSION['pseudo'] ."';";
// affichage pour débuggage
echo($sql);
// exécution (ou affichage de l'erreur retournée.
$echo = mysql_query($sql) or die ("Erreur MySQL : ". mysql_error());
// récupération
while ($donnee = mysql_fetch_array($echo))
{
    $_SESSION['id'] = $donnee['id'];
    $img            = $donnee['img'];
    $description    = $donnee['description'];
}
?> 
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 136 Messages

06 juin 2007, 18:28

Bonjour,

Voici la réponse: SELECT ba.id, ba.img, ba.description FROM bonus bo, bannieres ba WHERE ba.fonctionne = 0 AND ba.fonctionne != bo.pub AND bo.pseudo = 'Admin';Erreur MySQL : Unknown column 'ba.fonctionne' in 'where clause'


Merci :D

Eléphant du PHP | 360 Messages

06 juin 2007, 18:34

Bonjour,

Voici la réponse: SELECT ba.id, ba.img, ba.description FROM bonus bo, bannieres ba WHERE ba.fonctionne = 0 AND ba.fonctionne != bo.pub AND bo.pseudo = 'Admin';Erreur MySQL : Unknown column 'ba.fonctionne' in 'where clause'


Merci :D
Tu comprends le message ???

la colonne / le champ "fonctionne" utilisée dans la clause "WHERE" n'existe pas dans la table "bannieres".

Tu n'as plus qu'à remplacer le nom de ce champ par le bon...

:wink:
Dites ce que je fais, ne faites pas ce que je dis ...

Eléphant du PHP | 136 Messages

06 juin 2007, 20:49

probleme corriger mes je n obtient rien du tout :cry:

Eléphant du PHP | 360 Messages

06 juin 2007, 20:51

publie ici la structure de tes tables (en requete CREATE TABLE).
Puis décris exactement ce que tu attends en sortie !
Dites ce que je fais, ne faites pas ce que je dis ...

Eléphant du PHP | 136 Messages

06 juin 2007, 21:12

La c est bon j ai juste un petit probleme je voudrais juste dès la vérification que si l id de la banniere et enregistrer dans la table bonus qu il me resorte pas cette banniere et la il faut que l id de la banniere soit dans la bonus pour qu elle s affiche :D merci ;)