IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur dans ma requête SELECT [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut Erreur dans ma requête SELECT
    Bonjour voila il est 11h et sa fait depuis 1 heure que je me prend la tet la dessus je ne comprend pas pourquoi ma requete ne fonctionen pas.

    A la Base sa doit etre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    	// Recupération du Rayon
    	$rayon_etp1 = $_POST['categorie'];
    	connection();
    	//requete sql
    	if( $rayon_etp1 == ''){
    		$requete_etp1 = "SELECT * FROM e_produit WHERE stock > 0 ORDER BY id DESC";
    		$rayon_aff = 'Tous';
    	}elseif ( $rayon_etp1 == 'bidon' OR $rayon_etp1 == 'tous' ){
    		$requete_etp1 = "SELECT * FROM e_produit WHERE stock > 0 ORDER BY id DESC";
    		$rayon_aff = 'Tous';
    	}
    	else{
    		$requete_etp1 = "SELECT * FROM e_produit WHERE categorie = $rayon_etp1 ORDER BY id DESC";
    		$rayon_aff = "$rayon_etp1";
    	}

    Mais vu que sa ne fonctione pas jai essayé un selectionnant dans cet exemple les produit dont le prix est > a 100, réelement il y en a 2 et le site men sort 3 (voir screen site et table mysql en pièce jointe)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
    if( $_SESSION['acces'] == 'oui' ){
     
    	// Recupération du Rayon
    	$rayon_etp1 = $_POST['categorie'];
    	connection();
    	//requete sql
    	if( $rayon_etp1 == ''){
    		$requete_etp1 = "SELECT * FROM e_produit WHERE stock > 0 ORDER BY id DESC";
    		$rayon_aff = 'Tous';
    	}elseif ( $rayon_etp1 == 'bidon' OR $rayon_etp1 == 'tous' ){
    		$requete_etp1 = "SELECT * FROM e_produit WHERE stock > 0 ORDER BY id DESC";
    		$rayon_aff = 'Tous';
    	}
    	else{
    		$requete_etp1 = "SELECT * FROM e_produit WHERE prix > 100 ORDER BY id DESC";
    		$rayon_aff = "$rayon_etp1";
    	}
     
    	$resultat_etp1 = mysql_query($requete_etp1);
    	$row_etp1 = mysql_fetch_array($resultat_etp1);
    	$num = $row_etp1['id'];
    	//TEST
    	echo"Requete: $requete_etp1 <br> Nombre de ligne trouve : $num <br>";
     
    	$max = 4;					// Nombre de collone
    	$inc= 0;					// Incrementation des images
    	$inc2= 1;					// Incrementation du modele
    	$inc3= 1;					// Incrementation du prix
    	$imgnum = 1 ;
     
    	if ( $num >= $max){
    		$maxsecour = $max ;		// Copie de se nombre
    		 }
    	else {
    		$max = $num ;
    		}
     
    	while ( $num > 0){			// Tantque ( toutes les lignes ne sont pas lues )
    		print"<table cellspacing='10' width ='90%'><tr>";		// Creation du tableau
     
    		for ($a = 1; $max >= $a; $a = $a +1) {		// Pour a de 1 à $max
    			$query = ("SELECT * FROM `e_produit` WHERE id = '$imgnum' ");	// REQUETE
    			$result = mysql_query($query );									// Mise en var de la requete
    			$row = mysql_fetch_array($result);								// Var de recherche
    			$id= $row['id'];												// Recherche de l'id
    			$inc ++ ;														// Incrementation
    			$time = time() ;
    			$lienimg= "http://tonybike.free.fr/Magasin/Produit/image$id.jpg?$time";
    			print"<td><div align='center'><a href=\"javascript:CreerFen(815,395,'fiche.php?id=$inc','Détail de lannonce')\">";
    			print"<img src='miniature.php?pic=$lienimg&w_max=80&h_max=60' border='0'></a></div></td>"; 
    			$num = $num - 1 ;
    			$imgnum ++ ;
    		}
     
    		echo '</tr><tr>';
     
    		for ($b = 1; $max >= $b; $b = $b +1) {
    			$query = ("SELECT * FROM `e_produit` Where id= $inc2");
    			$result = mysql_query($query );
    			$row = mysql_fetch_array($result);
    			$nom= $row['nom'];
    			$inc2 ++ ;
    			print"<td><div align='center'> $nom </div></td>";
    		}
     
    		echo '</tr><tr>';
     
    		for ($c = 1; $max >= $c; $c = $c +1) {
    			$query = ("SELECT * FROM `e_produit` Where id= $inc3");
    			$result = mysql_query($query );
    			$row = mysql_fetch_array($result);
    			$prix= $row['prix'];
    			$inc3 ++ ;
    			print"<td><div align='center'> $prix € </div></td>";
    		}
     
    		print" </tr></table>";
    		if ( $num >= $max){
    			 $max = $maxsecour ;
    			 }
    		else {
    			$max = $num ;
    			}
    	}
    	print"<hr width='90%' />";
    	print"
    		<table cellspacing='10' width ='90%'>
    		<div align='left'>Vous êtes au Rayon : $rayon_aff<br></div>
    		</table>";
    }
    Si quelqu'un Peut m'aider ? je rame vraiment la

    Cordialement,
    Tentsuken

  2. #2
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut
    c'est sans doute du à ton mysql_fetch_array()
    il est en fait beaucoup plus pratique d'utiliser mysql_result() et mysql_num_rows().

    Essaye donc de changer ton code en utilisant ces deux fonctions, je pense que tu obtiendras de meilleurs résultats...
    (Pour savoir comment utiliser ces foncitons, va voir dans le manuel du PHP:
    http://www.php.net/manual/fr/funcref.php Utile en toutes circonstances! )

  3. #3
    Membre confirmé Avatar de tentsuken
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    Jai finalement trouvé la reponsse a 13h34 ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $rayon_row = mysql_fetch_array($rayon_resultat);
    a la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $num = $row_etp1['id'];
    Merci pour ta participation schwarzy2 , tu était dans le vrai

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08
  2. fusion de 2 colonnes dans une requête select?
    Par epeichette dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/11/2005, 23h05
  3. Accents non pris en compte dans les requêtes SELECT
    Par YanK dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/08/2005, 10h57
  4. [VBA] Erreur dans une requête
    Par Damsou dans le forum Access
    Réponses: 31
    Dernier message: 21/06/2005, 17h04
  5. C'est possible dans une requête SELECT ?
    Par Kokito dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/04/2005, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo