Aller au contenu

Sarc

Hubmaster
  • Compteur de contenus

    2 332
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Sarc

  1. Bonjour à tous, J'ai une requête qui sélectionne un certain nombre d'objets, et j'aimerais avoir pour chacun de ces objets les 5 derniers attributs (stockés dans une autre table)... Il faut prendre en compte que pour chacun de ces objets, il est possible qu'il y ait un très grand nombre d'attributs : ce n'est pas acceptable de tous les sélectionner avec un LEFT JOIN (code 1). J'aimerais également éviter de faire une boucle sur les objets, et de faire une requête SQL pour chacun de ces objets... :/ Code 1 : SELECT a.var, d.nom FROM objets a LEFT JOIN attributs d ON a.id = d.idobjet J'aimerais si possible limiter le nombre de résultats différents de LEFT JOIN... Le moteur SQL doit savoir le faire, mais je sais pas s'ils ont prévu une commande pour le faire. Un LIMIT interne serait idéal. Mais bon, je n'y crois pas trop... J'ai vu que dans d'autres langages de BDD, il était possible de faire des sous-requêtes à l'intérieur du LEFT JOIN, mais ça ne marche pas en SQL. Avez-vous déjà été confronté à ce genre de situation épineuse ?
  2. Te moque pas Captain :'(. Effectivement, la différence n'est pas énorme niveau code. Quand ce sont des pages sur lesquelles on peut aller, il y a au moins une grosse différence : on peut mettre la page en marque-pages pour Get, pas pour Post... Mais sur une page appelée en ajax uniquement, peut-être y a-t-il une différence cachée que je ne connaîtrais pas...
  3. Mettre le type en GET, ça c'est certain... Après, pour les données, je pense qu'il faut les laisser dans data, mais je suis pas certain de moi sur cette affaire. Si tu peux confirmer, au moins ça pourra servir au prochain qui passera sur le sujet (D'ailleurs, si quelqu'un connaît des différences fondamentales entre get et post pour de l'ajax, je suis preneur aussi...)
  4. Bonjour, Si tu veux utiliser Jquery, pas besoin de XmlHttpRequest et tout le bazar... C'est bien plus simple et rapide. Pour afficher le résultat, il faut que tu aies une balise cible. <p id="resultat">Le résultat s'affichera là</p> ou <p id="postresultat">Le résultat s'affichera avant ce paragraphe</p> par exemple... Ensuite, en jquery : $('#resultat').text(resultat); Ou $('#postresultat').before('<p>'+resultat+'</p>'); C'est là en fait toute la base de Jquery... Cependant, pour faire tes appels en ajax, il vaut mieux tout utiliser venant de Jquery... $('#formulairequetuveux').submit(function() { var lavarquetuveux = $('#unchampdetonformulaire').val(); $.ajax({ url: '/blabla.php', type: 'POST', data: 'unevariable='+lavarquetuveux, success: function(resultat) { $('#resultat').text(resultat); } }); Voilà, avec ça tu devrais pouvoir avancer.. Bonne chance
  5. Oh, une jeune demoiselle ! Bienvenue sur le Hub, Justine ! Et bonne chance pour ton apprentissage d'Internet et de la création de sites... J'espère que tu pourras accéder à tes envies, malgré ton handicap. N'hésite pas à poser des questions quand un truc te coince, généralement quelqu'un a la réponse sur le Hub !
  6. Bonjour, Le problème de l'ensemble des clients mails, c'est qu'aucun ne fait la même chose des mails qu'il reçoit... Certains lisent le CSS, d'autres refusent de le lire, d'autres ne prennent que les styles en ligne, d'autres que les styles entre <style>, etc, etc. Au final, je suis un peu d'accord avec toi : faire de l'emailing, c'est dur (et Webinfluence dirait même que c'est un métier). Je te conseille la lecture d'un article de Pompage sur la question : emails html, dompter la bête. Si tu lis l'anglais, celui-ci a l'air pas mal aussi : CSS support in eMail.
  7. Merci pour vos réponses ! @Tchinkatchuk : Après une recherche (j'avoue rapide), je vois qu'il est difficile de trouver des cours sur ce modèle... Tu saurais où en trouver ? J'aimerais bien lire à ce sujet. @Captain : c'est vrai que je peux faire comme ça. Non, ce qui me gêne le plus, c'est l'affichage. Si je crée une table par type d'objet, je vais devoir faire de multiples selects (parce que le nombre de colonnes sera sûrement différent), puis les retrier par date via PHP, puis en faire un traitement spécifique pour l'affichage. Avec la deuxième solution, le problème est justement de mélanger de tout dans une même table, dont des objets qui n'auront pas nécessairement le même nombre d'attributs. Bref, je suis coincé au niveau de la structure : soit j'ai un truc très propre mais dur à mettre en place, soit j'ai un truc moche mais fonctionnel. @paolodelmare : Merci pour la ressource et pour l'information. Après un rapide coup d'il, je vais attendre de ne plus être le matin pour comprendre les slides, ça m'a l'air bien poussé.
  8. Merci pour les explications ! Pour le JS, je vais réfléchir à la manière de coder ça le plus proprement possible... Sûrement désactiver les liens fonctionnels, avec le JS, et créer les fonctions ajax. Il faut que je voie aussi si je peux utiliser les mêmes scripts PHP de traitement, ça m'arrangerait quand même pas mal. J'ai réussi à séparer le JS du reste. Ce qui m'embête, c'est que ça ressemble vachement à du bricolage maison, tout ça... Les substr(5...)... M'enfin, c'est un début ! Merci encore m'sieur. (Je pense que ça fait un an et demi que c'est toi qui réponds à tous mes sujets )
  9. Sarc

    Mélanger carottes et navets ?

    Bonjour à tous, Sur le mur de Facebook, il y a un peu de tout... Des statuts, des vidéos, des réponses à des questionnaires, des scores de jeux, etc. A votre avis, comment c'est structuré dans la base de données ? J'hésite entre deux structures complètement différentes : J'aimerais votre avis pour avoir la meilleure implémentation. Les deux idées au dessus me déplaisent... Mais je sais pas vraiment comment mieux faire.
  10. Niééééé. Oublié un s. Décidément, le dimanche, faut se reposer, pas coder. Merci Captain de ton il observateur. Pourquoi Firebug n'a pas réagi, ça par contre, c'est la grande question... Pour le reste de ton message : qu'entends-tu par code nu ? :/ Et que veux-tu dire par "Personnellement, je créerais les liens directement en Javascript dans chaque cellule." ? J'avoue ne pas avoir tout compris de ce que tu aurais fait. J'essaye de faire un site qui utilise convenablement javascript pour les petites actions, tout en restant accessible à quelqu'un qui n'aurait pas le JS activé. Mais pendant longtemps, j'ai boudé tout ce qui était JS et Ajax, donc j'essaye de me mettre au goût du jour.
  11. Bonjour à tous, Ça fait bien peu de temps que j'utilise Jquery. J'ai encore un peu de mal à voir comment on organise bien son fichier JS... D'ailleurs, si vous avez des liens au passage sur l'organisation d'un site avec Jquery. Mon problème est le suivant. J'ai un tableau de ce style : J'aimerais qu'en cliquant sur accepter, on appelle une fonction ajax de Jquery avec deux paramètres (l'id du membre, et 1 si accepter, 2 si refuser). J'ai écrit ça : $(function() { accepterourefuser = function(idmembre, choix) { alert(idmembre); alert(choix); $.ajax({ type: "POST", url: "/changement/accepterourefuser.php", data: "idmembre="+idmembre+", choix="+choix, success: function(retour){ alert("ok"); } }); }; }); Et dans le html, j'ai tenté la chose suivante : <a href="#" onclick="javascript:accepterourefuser(2, 1)">Accepter</a><a href="#" onclick="javascript:accepterourefuser(2, 2)">Refuser</a> Bien évidemment, si je viens à vous, c'est que ça ne marche pas. Les deux premiers alert de mon javascript renvoient bien les bonnes données, mais l'ajax ne semble pas se faire, vu que je ne reçois pas de troisième alert. Auriez-vous une idée du schmilblick ? Merci d'avance !
  12. C'est exact pour l'image. Il te suffit de rajouter : .menu-image a:hover, .menu-image a:active { background-image: url(../images/btn1-2.jpg) } Par contre, je n'ai pas le bug d'affichage dont tu parles sur ma configuration (Firefox 3.5, Ubuntu). Il est donc difficile de te dire ce qui ne va pas...
  13. Bonjour Baycris, Je vais te donner quelques conseils de code, qui vont déjà avoir pour effet de réduire de 90% sa taille, et donc de permettre de mieux trouver les bugs... Commençons par le CSS. Que de redondance dans ce code ! La redondance dans un CSS, c'est une place utilisée inutilement, et des risques d'oubli quand tu veux modifier un élément. Déjà, tous tes menus ont le même code CSS, non ? Donne-leur donc la même classe ! .menu_btn a{ font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; font-weight:bold; background-repeat: no-repeat; background-position: center center; float:left; width:150px; height:45px; padding-top:0px; text-align:center; text-decoration: none; } Tu peux ensuite mettre les spécifications ensuite : .btn_1 {background-image: url(../images/btn2-1.jpg);} .btn_2 {background-image: url(../images/btn2-2.jpg);} .btn_3 {background-image: url(../images/btn2-3.jpg);} .btn_4 {background-image: url(../images/btn2-4.jpg);} .btn_5 {background-image: url(../images/btn2-5.jpg);} .btn_6 {background-image: url(../images/btn2-6.jpg);} Vu que tes a:hover, a:visited etc. ne changent rien, pourquoi les spécifier ? Tout devrait marcher sans les mettre. Donc en copiant ce que j'ai mis au dessus, ton code CSS est déjà terminé. Pour le code HTML : il y a des div inutiles. <element><div class="xx"> ... </div></element> Cette suite est à proscrire ! Pourquoi ne pas mettre la classe directement sur l'élément parent du div ? Et pourquoi ne pas le mettre dans ton CSS, vu qu'il sert à ça ? Par contre, au lieu d'être un margin, ça sera un padding, ie la marge qu'il y aura entre le haut de l'élément et le contenu de celui-ci. Ainsi : .btn_1 {background-image: url(../images/btn2-1.jpg);padding-top:13px} .btn_2 {background-image: url(../images/btn2-2.jpg);padding-top:8px} .btn_3 {background-image: url(../images/btn2-3.jpg);padding-top:8px} .btn_4 {background-image: url(../images/btn2-4.jpg);padding-top:13px} .btn_5 {background-image: url(../images/btn2-5.jpg);padding-top:13px} .btn_6 {background-image: url(../images/btn2-6.jpg);padding-top:13px} On pourrait même s'amuser à retrouper, si jamais tu veux changer le 13 en 12, ça t'évite une redondance : .btn_1, .btn_4, .btn_5, .btn_6{padding-top:13px} .btn_2, .btn_3{padding-top:8px} .btn_1 {background-image: url(../images/btn2-1.jpg)} .btn_2 {background-image: url(../images/btn2-2.jpg)} .btn_3 {background-image: url(../images/btn2-3.jpg)} .btn_4 {background-image: url(../images/btn2-4.jpg)} .btn_5 {background-image: url(../images/btn2-5.jpg)} .btn_6 {background-image: url(../images/btn2-6.jpg)} Maintenant, il faut adapter le code HTML pour qu'il respecte les classes choisies : <div class="menu_btn btn_1"><a href="../index.php/mission.html">ENTREPRISE</a></div> <div class="menu_btn btn_2"><a href="../index.php/conseil-architecture.html">CONSEIL<br />ARCHITECTURE</a></div> ... Devine quoi ? On peut encore faire mieux ! Tu vois que toutes tes div qui sont contenues dans la div de classe menu-image ont la même classe (menu_btn)... C'est donc qu'on peut optimiser le CSS. On peut marquer ça : .menu_images a{ font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; color: #ffffff; [...] text-align:center; text-decoration: none; } Voilà, et donc on peut enlever tous les menu_btn du HTML : <div class="btn_1"><a href="../index.php/mission.html">ENTREPRISE</a></div> <div class="btn_2"><a href="../index.php/conseil-architecture.html">CONSEIL<br />ARCHITECTURE</a></div> ... On peut encore améliorer la chose, parce qu'on observe dans ton HTML la suite suivante : <div class="xx"><element>...</element></div> Là, on peut se débrouiller pour que la classe xx soit distribuée sur l'élément directement, au lieu de le mettre sur la div. Attention cependant, div est de type bloc, alors que l'élément peut très bien être de type "en-ligne". Il faut donc transformer l'élément de type en ligne. Pour ça, il suffit de rajouter display:block; dans .menu_images a. Ainsi, ton code final ressemblerait à ça (je n'ai pas vérifié que le comportement était identique, mais à vue de nez...) : .menu-image a{ font-family: Tahoma, Arial, Helvetica, sans-serif; display:block; font-size: 12px; color: #ffffff; font-weight:bold; background-repeat: no-repeat; background-position: center center; float:left; width:150px; height:45px; padding-top:0px; text-align:center; text-decoration: none; } .btn_1, .btn_3, .btn_4, .btn_5, .btn_6{padding-top:13px} .btn_1 {background-image: url(../images/btn2-1.jpg)} .btn_2 {background-image: url(../images/btn2-2.jpg);padding-top:8px} .btn_3 {background-image: url(../images/btn2-3.jpg)} .btn_4 {background-image: url(../images/btn2-4.jpg)} .btn_5 {background-image: url(../images/btn2-5.jpg)} .btn_6 {background-image: url(../images/btn2-6.jpg)} Et le code HTML associé : <div class="menu-image"> <a href="../index.php/mission.html" class="btn_1">ENTREPRISE</a> <a href="../index.php/conseil-architecture.html" class="btn_2"> CONSEIL<br /> ARCHITECTURE </a> <a href="../index.php/ingenieurie-mise-en-oeuvre.html" class="btn_3"> INGÉNIERIE<br /> MISE EN OEUVRE</a> <a href="../index.php/service-desk.html" class="btn_4"> SERVICE DESK </a> <a href="../index.php/actualites.html" class="btn_5"> ACTUALITÉ </a> <a href="../index.php/emploi.html" class="btn_6"> EMPLOI </a> </div> Après, il est "conseillé" sémantiquement de mettre tous les menus dans une liste <ul><li>... Mais c'est une autre histoire. Déjà, essaye d'utiliser ce code raccourci, et dis-nous s'il y a toujours des bugs d'affichage. Ca sera plus facile à déceler... Et si tu peux mettre la page en ligne, ça serait génial aussi. Bon courage !
  14. Bienvenue dans un monde de suprématie et de quasi-monopole à deux lettres : GG. Si tu fais trop de changements d'un coup, ta page risque de réellement disparaître, et tu n'auras aucune idée de la réelle qualité de chacun de tes changements. Il faut donc attendre et être patient, même si c'est la panique à bord. C'est peut-être aussi l'occasion d'avoir un travail de réalisé sur d'autres supports de communication et d'autres visées de vente. Bonne chance !
  15. Bonjour et bienvenue sur le Hub, Kenny ! C'est quoi qui se cache derrière le mot "analyse" de tes études ? Autant développement je peux voir, autant analyse, c'est vague.
  16. Pour la densité des mots-clefs et autres : j'ai toujours été très étonné de dépasser avec facilité des concurrents sur certains mots-clefs (plus anciens que moi) : la différence notable entre moi et eux, en visualisant Google, était la taille des pages : 7ko pour moi, 42ko pour eux. Je ne suis convaincu par rien, sauf que faire des pages légères ne m'a jamais posé de problèmes Pour le reset CSS, tu marques un point, je ne suis pas à jour. Merci pour le lien
  17. Hop, je vais éviter de plonger à trois mains dans le non-troll que tu as lancé, Captain, mais je trouve ça fort de conseiller "de rester en tableaux"... Effectivement, le full-div mal fait, c'est pas forcément mieux, mais les développeurs en tableaux et en full-div-mal-faits, il faut leur conseiller d'aller vers une découpe de design plus propre et légère, non ? Je regarde ici le header : c'est une div. Ensuite, deux images en relatif là-dedans, pour faire les liens vers l'accueil et vers "livres en librairie". Un autre div pour faire l'inscription en haut à droite, à la limite (ça permet de la placer comme on veut, et pas être obligé de viser pour le texte), et un paragraphe pour le texte défilant en bas à droite. En tout, 6 ou 7 balises, au lieu de 30 appels HTTP, 25 balises, etc. Et une facilité extrême à voir où sont les erreurs de placement... Au-delà de la sémantique, gmasson perd de la densité pour ses mots-clefs, perd sa patience sur des problèmes de marges de tableaux, perd de la lisibilité de son code, perd de la bande passante... N'allez pas lui dire "keep cool, ce que tu fais, c'est moins pire que du full-div mal fait". [/troll] Je ferme là pour moi, sauf si d'autres arguments majeurs apparaissent. Désolé gmasson, étant sous linux et FF, je ne peux pas t'être d'une grande aide tout de suite... Sache pour tes futures créations qu'il est parfois conseillé de "placer les navigateurs sur la même longueur d'onde". En effet, pour tout ce qui ne leur est pas indiqué dans le CSS, les navigateurs choisissent eux-même une valeur (de marge, de padding...). Donc pour éviter ce travers, on peut donner une valeur par défaut en début de CSS : *{margin:0;padding:0;} Et après, on rajoute les marges uniquement où on veut. Mais là, ça sera trop difficile pour ce site-là, je pense. Bonne chance !
  18. D'accord, ça doit marcher ou pas suivant des navigateurs. Le 1 en début d'id marchait bien avec FF3.5. Allez savoir... Un margin-top met une marge entre cet élément et l'élément avant lui dans le flux. Comme l'élément avant lui dans le flux courant est le logo de Xiti, c'est normal qu'il se mette un pixel en dessous. Pour sortir le logo de 1&1 du flux et ainsi pouvoir le placer par rapport à la fenêtre, il faut lui rajouter un "position:absolute". Là, le top et le left le placeront correctement par rapport à la fenêtre générale.
  19. A vrai dire, là, on a encore la page en ligne où le logo n'a aucun style. Quand j'essaye chez moi avec un margin-left à 180px, il s'aligne parfaitement avec l'autre. Tu es bien sûr d'avoir uploadé tes modifications ? (Je ne dis pas ça pour me moquer, mais ça a déjà été une source d'erreur pour moi, donc sait-on jamais...)
  20. Le problème qui se pose dans ce "débat" est un problème de sémantique. C'est en gros la question "quel outil utiliser pour telle utilisation". Quand on fait une maison, on utilise des briques, des parpaings ou du bois, pas vraiment du sable, du papier... Pour ouvrir une boîte de conserve, on utilise un ouvre-boîtes, pas une cuiller. Pour mettre des données tabulaires, on utilise des tableaux. Pour faire des couches et des blocs de contenu, on utilise des div. Je suis presque sûr que je pourrais te faire un design rien qu'avec des <ul> et des <li>. Mais est-ce là leur but ? Après, la limite entre tableaux et d'autres balises est très intéressante : on avait eu un grand débat avec Dudu notamment, sur la délimitation entre les listes de définitions et les tableaux. Mais bon, après avoir bien appris à faire des designs avec des div, et ce de façon très propre, on arrive à un code compréhensible, simple, et allégé pour tout le monde.
  21. Bonjour et bienvenue sur le Hub, Je pense qu'avec l'URL du site, on aurait déjà davantage d'indices pour te répondre. C'est assez difficile de deviner pourquoi Google boude un site quand on ne sait pas quel est le site...
  22. Sarc

    Select sur un Datetime

    Bonjour, Je pense que Vespa voulait parler d'équivalence de date, et non de "jour" uniquement... Je pense que ça devrait marcher comme ça : $rq = 'SELECT champ FROM table WHERE ladate LIKE "'.date('y-m-d').'%"'; Sinon, tu peux utiliser la fonction substr en SQL, mais ce doit être plus lourd : $rq = 'SELECT champ FROM table WHERE SUBSTR(ladate, 10) = "'.date('y-m-d').'"';
  23. Sarc

    Probleme SQL Dump

    Le plus simple, je pense, c'est de l'ouvrir avec wordpad et de l'enregistrer sous. Dans le menu, tu dois avoir le choix de l'encodage normalement (dans mes souvenirs de Windows).
  24. Sarc

    Probleme SQL Dump

    Bonjour, Si tu enlèves tous les commentaires de début (jusqu'à "CREATE table"), tu as une erreur au commentaire suivant ? Sinon, si c'est un problème d'encodage, vérifie que ton fichier texte est bien en UTF-8 aussi...
  25. C'est assez normal, non ? Des cours d'économie disent qu'avec 0 capital et 0 travail, le gain maximal est de 0. C'est assez vrai pour Internet... Si tu n'investis pas dans un travail sérieux, il est fort à parier que ton gain en terme de clients sera nul. Avec un bon investissement, tant en terme de design que de référencement, il y a fort à parier que tu auras des visiteurs de plus en plus intéressants, et qui pourront même t'apporter de véritables clients. Il faut juste investir un capital minimal : en dessous, l'investissement ne sert strictement à rien.
×
×
  • Créer...