Aller au contenu

Zodd

Actif
  • Compteur de contenus

    32
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Zodd

  1. Salut, peux-tu coller la structure exacte de ta/tes tables mysql ? Car c'est un peu flou là A+
  2. Ne fonctionne pas enfin si mais le JS s'éxécute pas
  3. Salut c'est pas con du tout je vais tester cette solution ce soir De plus y a pas le prob du Javascript désactivé vu que s'il est désactivé la bannière ne s'affichera de toute façon pas Merci à toi Zodd
  4. Ce sont des bannières qui doivent être a un cartain endroit dans la page, en fin de page ca va pas
  5. Bonjour, J'affiche des pubs pour une de mes régie publicitaire. Ces pubs sont du JS. Le problème c'est que parfois (comme actuellement en fait), leur serveur plante. Ce qui fait que le script JS qui fait appel a une page de leur serveur, plante lui aussi et c'est tout mes sites ayant leur tag qui bloque à l'endroit où se trouve le tag JS, et donc le site de vient inutilisable. Y a t-il moyen de contourner ce probleme? J'ai bien pensez à mettre des iframes, mais c'est un peu porcasse, et pas sûr que la régie accepte, car avec un Iframe ca sous entend que l'on peut afficher ça sur n'importe quel autre site pas forcément validé par la régie en question.... Bref Des solutions???? (A part changer de régie ) Merci Zodd
  6. Peut-être que ton serveur est blacklisté. C'est un dédié?
  7. Bonjour, pour l'un de mes site, je cache des calques avec du javascript, mais c'est purement dans un but fonctionnel, et au chargement de la page les calques sont visibles c'est un JS qui les cache. ( document.getElementById('envoi_ami').style.display='none'; ) En fait j'affiche à l'aide de JS certains calques et lorsqu'on clique sur un bouton le contenu change sans rechargement de page. C'est une fonction très appréciée des internautes. Surtout lorsque la page contient une vidéo, c'est gavant de devoir recharger la page. Est-ce que google pousse le vice jusqu'à scruter le code JS ? Ce n'est pas dans un but de tromperie des moteurs de recherche que je fais ca, c'est assez contraignant si google foure son nez la où ca ne le regarde pas! Merci
  8. Zodd

    gestion des tables ...

    Hihi sans doute... moi de mon coté j'essaie de m'appliquer dans mon travail et parfois même de trop. Mon point de vue est peut-être faussé pour la raison que tu cites, je suis l'analyste et le concepteur dans ma boite. Donc je dénormalise directement car je connais à l'avance les contraintes matérielles. Et puis a force de créer des bases de données qui se ressembles souvent sur certains points (l'exemple clients/rue/ville/pays reviens souvent), on commence à agir par réflexe. Zodd
  9. Zodd

    gestion des tables ...

    j'avais édité mon reply cp + ville + pays
  10. Zodd

    gestion des tables ...

    Pourtant si on met cp et ville et pays dans la même table --> redondance de données possible, me trompe-je ?
  11. Zodd

    gestion des tables ...

    Le rapport est qu'ils aurait pu faire une table "Localités" histoire d'économiser de la place, et de normaliser au max mais il ne l'ont pas fait car dans notre cas ce n'est pas vital à la gestion des données. Donne moi le nom de ton hébergeur que je n'y aille pas. Il y a plein d'hébergeur en mutu pour lesquels tu as du 500Mo pour une bouchée de pains... et puis même 50Ko sur 100 mo y a de la marge. Et rare sont les membres habitant la même rue, donc même si ta DB est 100% normalisée, peut de chance de gagner plus de quelques milliers d'octets.... et encore... à moins que la france entière s'y est inscrite. Lorsque j'ai présenté mon travail de fin, d'étude, j'avais tout normalisé. clients, fournisseurs adresses, (se rapportant a client ou fournisseur) rues, villes pays (se rapportant a adresse). La première remarque d'un des membre du juri est le pourquoi la séparation en plusieurs tables (rue ville pays etc..). Ma réponse : pour normaliser au max Sa réponse : Ca risque de poser des prob de performances si il ya beaucoup de client/ adresses etc... Et il avait raison. Ma requête prenait plus d'une seconde. avec peut d'enregistrements.... Zodd L'analyste peut aussi faire preuve de bon sens, en général l'analyse connais le but final d'un projet, et donc peut sur base de ca décider de normaliser ou dénorméliser certaines choses. En effet nous n'avons pas la même conception.
  12. Zodd

    gestion des tables ...

    Ce que je listais ce sont des exemples de tables liées justement pour illustrer un exemple de cas dans lequel on va dénormaliser certaines données.
  13. Zodd

    gestion des tables ...

    Encore une fois, j'ai bien précisé "Si ce n'est pas vital". A partir du moment où c'est le membre qui entre son adresse, quel importance que la rue va se répéter 3 ou 4 fois? A moins que ton site c'est mappy.com, ou que tu comptes faire des statistiques par rue, ou quelques chose du genre, je n'en vois pas l'intérêt. Economiser de la place? Si tu as 10000 membres, tu vas gagner quoi? 50Ko? même pas? A l'heure des DD de 200Go je pense qu'on optera pour la performance plutôt que l'espace disque utilisé. Sur ce forum par exemple, la ville est un champ libre. Et pourtant Invision board c'est pas un forum de merde je crois. Zodd
  14. Zodd

    gestion des tables ...

    Ah bon? et comme ça c'est le merdier pour modifier tout ce qui concerne cette modification, un peu partout dans le code, Les dénormalisations se décident au début aussi, et non à la fin (de la programmation). En toute logique une fois le MCD établi, on peut facilement imaginer combien de jointures certaines requêtes demanderaient, et avec un peu d'expérience, se dire qu'a partir d'un certains nombre de jointures et en fonction du nombre d'enregistrements prévus dans chaque table, si cela fera ramer ou non le serveur. Quand tu as une requête SQL sur 5 ou 6 tables, Exemple de tables liées susceptibles d'être appelées parallèlement avec des jointures : "personne" "metier" "rue" "ville" "pays" "code_postal" Cela fait 6 tables. Un peu beaucoup... surtout si il y a des milliers de rues, des milliers de personnes etc... Ce genre de prévisions, on peut facilement les faire au début (en phase d'analyse) et donc à ce moment là décider de dénormaliser un peu. Par exemple pays ville cp et rue dans la même table (c'est ce qui se fait couramment). Cela fera des répétitions certe, mais il faut voir aussi si la séparation est vitale dans le projet en question. Tout ça se pense au début et non à la fin de la programmation... sinon c'est sujet à de multiples bugs imprévus, qui auraient pu être évités + perte de temps..... et donc d'argent! Zodd
  15. De rien, j'ajouterais ceci : Dans la table ForumLus, tu pourrais éventuellement ajouter un champ "DateDerniereLecture" (un peu long le nom mais c'est pour être explicite). Qui prendrait comme valeur la date et l'heure de derniere lecture de tel forum par tel utilisateur. Et en comparant la date du dernier post par exemple, le marquer comme Lu si la date du dernier post est inférieure à "DateDerniereLecture" ou non-Lu dans le cas contraire. Cela éviterait notament de devoir faire des DELETE et des INSERT à répétition dans cette table. Un simple update du champ "DateDerniereLecture" suffirait, et cela serait bien mieux niveau perfs. Zodd
  16. Salut Tu t'y prends mal, plutôt que de faire un champ avec la liste des ID des utilisateurs (c'est complètement loufoque quand on connait un peut merise). Tu dois créer une table à part pour celà! Exemple 1. Table "Forum" 2. Table "Users" et 3, table "ForumsLus" ForumsLus est une table associative qui est automatiquement créée lors d'une relation 0-N <-> 0-N En francais : Si pour un utilisateur il peut y avoir plusieurs forums lus, et qu'un forum peut être lu par plusieurs utilisateurs, il faut d'office une table supplémentaire pour normaliser ta base de données et faire l'association entre les 2. La table ForumsLus comporte 2 clés étrangères, un id_user et un id_forum (ce qui fait l'association) + son propre id (id_forumlu) ce qui fait 3 champs. Ensuite pour voir si un utilisateur a lu le forum ou non, la requête SQL aura à peut près cette gueule : $q="SELECT COUNT(*) AS estLu FROM ForumsLus WHERE ForumsLus.id_user=" . $id_user . " AND ForumsLus.id_forum=" . $id_forum . " "; Si EstLu = 1 alors le forum est lu, sinon n'est pas lu. Zodd P.S.: à toi aussi de faire en sorte qu'il n'y ait pas 2 fois la même assocation dans la table "ForumsLus", de un ça serait complètement inutile, et de 2 cela nuirait au performances de la requête SQL suivant le nombre d'enregistrements. (Voir : Contraintes d'intégrités référencielle)
  17. Zodd

    tableau dynamique

    Salut, déja tu fais une requête SQL dans une boucle, c'est plus que déconseillé niveau perf et propreté du code, d'autant plus que dans ton cas c'est reglé en une seule requête avec jointures. Exemple : SELECT * FROM categories AS c, sous_categories AS sc WHERE c.id_categorie=sc.id_categorie 2ème remarque tu as l'air de mélanger code php et code html c'est aussi déconseillé niveau lisibilité de code et maintenance, tu devrais passer par un moteur de templates qui a pour but de séparer tout ce qui concerne la mise en page et tout ce qu concerne la programmation pure, ça te faciliterait le boulot et ton code serait plus lisible! Sinon voici une fonction que j'ai créée pour mes besoins, je pense que son nom est très explicite : function array_split($array, $nb_col=2, $direction='col') { if(is_array($array)) { if($direction=='col') { $tlen=ceil(count($array) / $nb_col); for($col=0; $col<$nb_col; $col++) { for($row=0; $row<$tlen; $row++) { $new_arr[$col][]=$array[$row + ($tlen * $col)]; } } } else { for($row=0; $row<count($array)+($add_empty_row ? 1 : 0); $row=$row+$nb_col) { for($col=0; $col<$nb_col; $col++) { if($direction=='row') $new_arr[$col][]=$array[($row+$col)]; else $new_arr[$col][]=$array[($row+$col)]; } } } //print_r($new_arr); return $new_arr; } else { return false; } } Donc première argument c'est le tableau que tu veux diviser. 2ème argument : C'est le nombre de colonnes voulues 3ème, c'est 'col' ou 'row' si col ça donne ca : 1 2 3 4 5 6 7 8 si row : 1 3 5 7 2 4 6 8 Exemple 4 colonnes : $new_tab=array_split($old_tab, 4, 'col'); Zodd
  18. Oxado n'est pas mon sponsor principal, c'est un petit plus quoi... mais y a mieux c'est sûr! Mais dis toi aussi que j'affiche des pubs oxado dans 2 toplistes, et pour ceux qui savent ce qu'est une topliste, ils comprendront que forcément ça fait baisser le taux de clicks par rapport aux affichages vu que les 3/4 des gens ne font meme pas attention à ce qui se trouve sur les popups! Zodd P.S.: les clics sont reviendus là..
  19. Pourquoi dis-tu cela ? Ce sont des pubs adultes donc ça clique pas mal et j'ai un fort trafic, mais le revenu est moyen (35€ par jours +-) Mes click sont 100% honnêtes pas de tricherie, pas d'incitation etc.... Mon compte est actif comme je l'ai dit, et les sites aussi Merci Zodd 250.000 +- (ctr 0,450% ) Enfin ça répond pas à ma question Bon j'ai pu contacter un webmaster qui connait bien oxado et apparement ça leur arrive une fois par mois +- et tout rentre dans l'ordre au bout d'un moment.... voilà. Merci quand-même Zodd
  20. Hello, Je teste Oxado depuis 20 jours et ca tourne plutôt pas mal (+-1000 click par jours). Mais là ce matin j'ai constaté que le taux de clicks a énormément baissé, c'est pas normal.. Il n'y a pas eu un seul clicks en plusieurs heures, et pourtant le taux d'affichage est là, comme d'hab. Je me suis dit que c'était sûrement dû à de l'affichage d'auto-promotions, mais même pas! Ce sont les pubs qui s'affichent d'habitude sur mes sites que je vois... Bref y a pas photo, les clicks ne sont plus comptabilisés depuis 1H du matin +- ! Je voudrais savoir si d'autres webmasters utilisant ce système d'affiliation sont dans le même cas que moi... je précise que mon compte est actifs, et mes sites aussi... J'espère que ça arrive pas trop souvent ce genre de cas, et qu'ils vont me dédommager! Zodd
  21. Salut pour ma part j'utilise DumpTimer qui est très performant. Il s'agit d'un logiciel pour windows qui permet de sauvegarder autant de bases de données sur autant de serveurs que l'ont désire aux heures que l'ont désire. http://www.richtsoft.com/mod.php?theme=ric...view&wid=18 C'est payant mais très pratique! J'ai rien trouvé d'équivalent en gratuit... Et au moins on a les données directement sur notre disque dur Zodd
  22. Zodd

    Système de cache en PHP

    Dans ton index.php tu crées une condition de ce style : if(!$Smarty->is_cached('index.tpl', $compile_id)) { // Page pas en cache } else { // Page en cache } Je ne sais pas si ça répond à ta question, car je suis pas sûr d'avoir bien cerné ou tu voulais en venir. Mais ce n'est pas parce qu'une page est compilée qu'on ne peut pas éxecuter de code php 'hors caches'.... Maintenant si rien que le fait qu'il y ait du code php éxecuté te dérange, tu peux à la limite créer tes pages en html pur à l'aide de : $var=$Smarty->fetch('index.tpl'); qui récupère la page html compilée et la met dans $var; ! Et à partir de là tu traites comme tu veux... Zodd
×
×
  • Créer...