begin process at 2012 05 30 16:27:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Mauvaise réponse MySQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mauvaise réponse MySQL

jeudi 26 mai 2005 à 15:16:50 | Mauvaise réponse MySQL

Evangun

Bonjour à tous !
Mon pb en gros c'est que MySQL me renvoie une valeur quand je l'interroge par ma page php, alors qu'il ne devrait pas et que d'ailleurs il ne me renvoie rien si je l'interroge directement par phpMyAdmin.

L'idée du script est la suivante: j'ai une table ("references") avec des noms de livres, et une autre ("livres") avec tous les livres en stock. Je voudrais que pour chaque référence de livre trouvée, ma page aille regarder dans l'autre table pour voir s'il existe des livres qui ont le même nom en stock. Si oui, il affiche "à partir de x euros" (cette info est donnée dans la table "livres") et sinon "article indisponible".

Alors quand pour une référence donnée le livre existe en stock, il écrit le bon prix. Mais quand le livre n'est pas en stock, au lieu d'écrire "article indisponible" il met le prix du dernier livre ayant été trouvé en stock.

Bon je sais pas si j'ai été clair, je donnerai un exemple si ce n'est pas le cas!
Merci d'avance d'éclairer ma lanterne...



$classiques = mysql_query("SELECT `nom`
FROM `references`
LIMIT 0 , 500");

while ($row = @mysql_fetch_array($references))
{
$nom=$row[0];

$pricestab = mysql_query("SELECT `prix`
FROM `livres`
WHERE `nom` LIKE ''$nom"
ORDER BY `prix` ASC LIMIT 1");
while ($prices = @mysql_fetch_array($pricestab)) {$price=$prices[0];}

if ($price==""){$affprix=' article indisponible';}
else                {$affprix=' à partir de '.$price.' € ';}

echo $nom.' -->>'.$affprix;
}
jeudi 26 mai 2005 à 15:36:11 | Re : Mauvaise réponse MySQL

xactise

Membre Club
éssaie :
if ($price==" "){$affprix=' article indisponible';}


L0rD...
jeudi 26 mai 2005 à 15:40:16 | Re : Mauvaise réponse MySQL

Evangun

euh non ça marche pas...
jeudi 26 mai 2005 à 19:57:31 | Re : Mauvaise réponse MySQL

Anthomicro

Salut,

poste-nous ta requête $references stp


    jeudi 26 mai 2005 à 20:11:10 | Re : Mauvaise réponse MySQL

    Evangun

    Oui désolé, ay début au lieu de "$classiques" il faut lire "$references"
    jeudi 26 mai 2005 à 20:19:31 | Re : Mauvaise réponse MySQL

    Anthomicro

    Je vois que tu fais 500 requêtes au maximum, c'est énorme, tu vas te faire couper direct. Revois ta requête, donne-nous les structures de tes deux tables, et dis-nous précisément ce que tu veux faire.


      jeudi 26 mai 2005 à 21:20:47 | Re : Mauvaise réponse MySQL

      Evangun

      Alors ma table "references" possède 5 champs dont un seulement sert dans la première requête: le nom du livre. Cette table me sert de catalogue.

      Ma table "livres" possède 11 champs dont 2 seulement servent dans la deuxième requête: le nom du livre et le prix qui lui est associé. Cette table est plus l'état de mes stocks. Il peut y avoir plusieurs livres portant le même nom mais à des prix différents.

      Ma première requête passe en revue un par un tous les noms de livres présents dans la tables "references" et à chaque nom différent, je veux aller voir s'il existe dans la table "livres" des livres portant le même nom. Dans la table "livres", s'il y a un ou plusieurs livres portant le même nom que l'un des livres de mon catalogue, je les trie selon le champs "prix" et je ne garde que la première ligne: autrement dit j'ai le nom du livre en question mais aussi le prix le plus bas. S'il n'y a aucun livre correspondant au nom de mon catalogue ("references"), normalement ma requête ne devrait rien me renvoyer.

      Finalement j'affiche chaque nom de livre présent dans ma table "références":
      Nom -->> à partir de x euros        ou:
      Nom -->> article indisponible        si la deuxième requête ne m'a rien renvoyé.

      Voilà, bon il y a qd même un truc bizarre que je signale:
      Disons que je n'ai que deux livres intitulés "Hugo" et "Maupassant" dans mon catalogue. Ensuite on suppose que j'ai Hugo en stock à 10 euros, mais je n'ai pas de Maupassant.
      Il me répond:
      Hugo -->> à partir de 10 euros
      Maupassant -->> à partir de 10 euros

      Par contre si je n'ai pas de Hugo mais des Maupassant à 12 euros, il me dit:
      Hugo -->> article indisponible
      Maupassant -->> à partir de 12 euros

      Voilà à peu près tte l'histoire merci de m'avoir lu jusque là!!!
      jeudi 26 mai 2005 à 21:22:32 | Re : Mauvaise réponse MySQL

      Evangun

      Alors ma table "references" possède 5 champs dont un seulement sert dans la première requête: le nom du livre. Cette table me sert de catalogue.

      Ma table "livres" possède 11 champs dont 2 seulement servent dans la deuxième requête: le nom du livre et le prix qui lui est associé. Cette table est plus l'état de mes stocks. Il peut y avoir plusieurs livres portant le même nom mais à des prix différents.

      Ma première requête passe en revue un par un tous les noms de livres présents dans la tables "references" et à chaque nom différent, je veux aller voir s'il existe dans la table "livres" des livres portant le même nom. Dans la table "livres", s'il y a un ou plusieurs livres portant le même nom que l'un des livres de mon catalogue, je les trie selon le champs "prix" et je ne garde que la première ligne: autrement dit j'ai le nom du livre en question mais aussi le prix le plus bas. S'il n'y a aucun livre correspondant au nom de mon catalogue ("references"), normalement ma requête ne devrait rien me renvoyer.

      Finalement j'affiche chaque nom de livre présent dans ma table "références":
      Nom -->> à partir de x euros        ou:
      Nom -->> article indisponible        si la deuxième requête ne m'a rien renvoyé.

      Voilà, bon il y a qd même un truc bizarre que je signale:
      Disons que je n'ai que deux livres intitulés "Hugo" et "Maupassant" dans mon catalogue. Ensuite on suppose que j'ai Hugo en stock à 10 euros, mais je n'ai pas de Maupassant.
      Il me répond:
      Hugo -->> à partir de 10 euros
      Maupassant -->> à partir de 10 euros

      Par contre si je n'ai pas de Hugo mais des Maupassant à 12 euros, il me dit:
      Hugo -->> article indisponible
      Maupassant -->> à partir de 12 euros

      Voilà à peu près tte l'histoire merci de m'avoir lu jusque là!!!
      jeudi 26 mai 2005 à 23:35:51 | Re : Mauvaise réponse MySQL

      Evangun

      Dites euh... ya qqn qui a une idée pour mon pb?
      Please!!

      Si vous n'en avez pas, vous pouvez ptêt qd même me dire:
      ya pas une autre fonction que
      while ($row = @mysql_fetch_array($references)) { }
      pour récupérer le contenu du tableau references, en particulier si on ne veut que la première ligne?
      vendredi 27 mai 2005 à 00:59:20 | Re : Mauvaise réponse MySQL

      Evangun

      Réponse acceptée !
      Bon ben j'ai fini par trouver tt seul ma solution après avoir galéré... pour la peine je vais accepter ma propre réponse histoire de rire un peu. N'empêche que le système des sujets de forums qui disparaissent dans les entrailles du site même s'il y a des réponses dessus, c'est peut-être à revoir... m^me s'il y a des arguments contre...

      bref la réponse qu'on ne m'a pas faite c'est que la fonction suivante ne touche pas du tout à $price si  $prices[0] est vide, elle ne lui attribue donc pas "" :

      while ($prices = @mysql_fetch_array($pricestab)) {$price=$prices[0];}

      Bon bah merci qd même les gars...


      Cette discussion est classée dans : mysql, livres, prix, livre, stock


      Répondre à ce message

      Sujets en rapport avec ce message

      Help !!! [ par curreli ] Bonjour,Je suis allé sur le site: www.phpguide.netJ'ai installé Easyphp tout fonctione !Mais: j'ai essayé un de leurs scripts: le livre d'or. le scrip pb requete mysql [ par Tomcube ] Salut à tous,J'ai un problème pour créer une requête mysql.J'ai une table "vente" avec des champs "id_vente, id_vendeur, id_objet, prix, qtt". Là deda PB: insertion des données saisies dans base mysql [ par spritzz ] je suis sous easyphp 1.7(php 4.3.3) en localhost, et j'ai un problème pour insérer des données dans ma base mysql, ca ne fonctionne pas si je laisse m Tableau avec php et données mysql [ par Alpha911 ] Bonjour,j'essais de faire un tableau dont les lignes s'ajustent en fonction du nombre de données exemple l'utilisateur 9 a effectué 4 emprunts de livr et oui encore recuperer variable aprés url? [ par juliacom ] je m explique j'ai ecris ce bout de code qui ne fonctionne pas   echo "&nbsp".$row["#null"]."Gestion du Stock\n";le but Chiffre avec virgule dans Bdd + calculs [ par laubro ] Bonjour,Voilà j'ai des champs de ma base devant contenir des chiffres représentant des prix, donc il y a besoin de pouvoir mettre des chiffre avec vir Problème gestion quantité caddy php [ par kida28 ] KidaBoujour à tous,J'ai un souci pour gérer la quantité dans mon caddie php.Voilà l'errue qu'il m'affiche:Si vous avez une idée je vous remercie d'ava recalcul caddy selon qte, étrange ??? [ par kida28 ] KidaBoujour,Après avoir beaucoup galèré pour modifier la qte dans mon caddy, enfin il me recalcule bien mon caddie ,mais pas ligne par ligne il m'ajou création d'un serveur web pour la gestion de commandes de livres pour enseignants d'une bibliothèque Universitaires [ par belisarius ] salut a toute personne qui pourra me sauver pour réaliser cette application. le but de ce travail et de créer une base de données qui contient le tit affichage par catégorie [ par stu76 ] Bonjour à tous,je suis en train de dévellopper une application dans laquelle, je dois pouvoir afficher des produits par catégorie. Pour l'instant j'ar


      Nos sponsors


      Sondage...

      Comparez les prix

      CalendriCode

      Mai 2012
      LMMJVSD
       123456
      78910111213
      14151617181920
      21222324252627
      28293031   

      Consulter la suite du CalendriCode

      Photothèque

      A découvrir



       
      Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
      CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
      CodeS-SourceS.com© est une marque déposée tous droits réservés

      Google Coop CodeS-SourceS Google Coop CodeS-SourceS
      Temps d'éxécution de la page : 6,770 sec (3)

      Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales